colocar picture para digitar somente minuscula...tem como?
Moderador: Moderadores
colocar picture para digitar somente minuscula...tem como?
ola amigos...
tem como colocar no picture do get para digitar somente letras minusculas?
atenciosament
Robson
tem como colocar no picture do get para digitar somente letras minusculas?
atenciosament
Robson
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Tem duas maneiras de fazer:
1. Alterando o GETSYS.PRG, que faz parte do CLIPPER. Altere e compile junto com a sua aplicação. (É a minha preferida).
2. No seu GET coloque o WHEN com uma função que retorne .T. Nessa função você colocará dentro de um DO WHILE, um NK:=INKEY(0) e analisará todas a teclas pressionasdas, colocando as teclas ENTER, ESC, PAGE_DOWN, SETA_PRA_CIMA, etc... como teclas de saída. Você definirá quais seriam as teclas de edição e que serão aceitas, e irá CONCATENAR numa variavel (digamos VGSTR) e fora DO WHILE, você fará um KEYBOARD VGSTR, isto se não for uma das teclas de saída. Esta opção é a mais trabalhosa em fazer.
Te aconselho fazer um GETSYS, personalizado. Mas atenção, você terá que tratar cada caso de edição de cada variável. Porque sinão vai colocar todas elas no mesmo saco, e não creio que sejam TODAS as variáveis que receberão o mesmo tratamento. Para isso, faça um DO CASE que ponha os nomes de cada varável.
Eu mencionnei a opção 2, porque é para você sentir que todas as teclas (ou pelo menos quase) é possivel programá-las. E sabe como é, a gente ensina a pescar mas não entrega o peixe de bandeja. Se tiveres alguma dúvida, poderei te orientar melhor. Mas tudo através do FORUM, por favor.
Um clip-abraço :)Pos
1. Alterando o GETSYS.PRG, que faz parte do CLIPPER. Altere e compile junto com a sua aplicação. (É a minha preferida).
2. No seu GET coloque o WHEN com uma função que retorne .T. Nessa função você colocará dentro de um DO WHILE, um NK:=INKEY(0) e analisará todas a teclas pressionasdas, colocando as teclas ENTER, ESC, PAGE_DOWN, SETA_PRA_CIMA, etc... como teclas de saída. Você definirá quais seriam as teclas de edição e que serão aceitas, e irá CONCATENAR numa variavel (digamos VGSTR) e fora DO WHILE, você fará um KEYBOARD VGSTR, isto se não for uma das teclas de saída. Esta opção é a mais trabalhosa em fazer.
Te aconselho fazer um GETSYS, personalizado. Mas atenção, você terá que tratar cada caso de edição de cada variável. Porque sinão vai colocar todas elas no mesmo saco, e não creio que sejam TODAS as variáveis que receberão o mesmo tratamento. Para isso, faça um DO CASE que ponha os nomes de cada varável.
Eu mencionnei a opção 2, porque é para você sentir que todas as teclas (ou pelo menos quase) é possivel programá-las. E sabe como é, a gente ensina a pescar mas não entrega o peixe de bandeja. Se tiveres alguma dúvida, poderei te orientar melhor. Mas tudo através do FORUM, por favor.
Um clip-abraço :)Pos
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Robson, veja este exemplo:
Neste exemplo não importa a se o usuário digitar maiúscula, quando ele pressionar o Enter o conteúdo do GET é alterado para minúsculo.
Abraços,
Código: Selecionar todos
LOCAL GetList := {}
cls
cEmail=SPAC(40)
@ 10,10 SAY "Endereco de E-mail:" GET cEmail VALID { |oGet| L_OWER(oGet,cEmail) }
READ
RETU
FUNC L_OWER(oGet,v_email)
oGet:buffer := LOWER(v_email)
oGet:assign()
retu .T.
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Legal também essa sua solução TOLEDO. Porém tem dois inconvenientes. Imagino que o colega Robson precise de que determinado variável do GET seja para fins de endereços de emails, endrereços de sites, outra outra finalidade específica. O seu exemplo, mostra como transformar o conetúdo da variável após escrita. O interessante seria que mostrasse conforme está digitando em minúsculas e impedindo digitar outros caracteres que não são aceitos nos endereços de emails (%&*,etc..). Daí seria conveniente aperfeiçoar um GETSYS para tal aplicação.
Não é Robson ? Se serviu, beleza, senão estamos a disposição.
Um clip-abraço :)Pos
Não é Robson ? Se serviu, beleza, senão estamos a disposição.
Um clip-abraço :)Pos
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Ok, então vamos alterar o GetSys...
Segue abaixo um link para baixar o GetSys já alterado para aceitar picture minúscula:
https://pctoledo.org/download/get ... uscula.zip
Para usar este GetSys alterado, basta compilar o arquivo acima com os parâmetros /M/N/W e depois linkar junto com os OBJs do seu programa.
Neste GetSys foi incluído na linha 291 o seguinte código:
Então, quando você colocar na PICTURE a expressão "@M", o GET só vai aceitar letras minúsculas... veja um exemplo:
Lembre-se que o GetSys.prg acima tem que se linkado junto com os OBJs do seu programa.
Abraços,
Segue abaixo um link para baixar o GetSys já alterado para aceitar picture minúscula:
https://pctoledo.org/download/get ... uscula.zip
Para usar este GetSys alterado, basta compilar o arquivo acima com os parâmetros /M/N/W e depois linkar junto com os OBJs do seu programa.
Neste GetSys foi incluído na linha 291 o seguinte código:
Código: Selecionar todos
IF AT("@M",oGet:picture)>0
cKey := LOWER( cKey )
ENDIF
Código: Selecionar todos
cEmail=SPAC(40)
cNome=SPAC(40)
@ 10,10 SAY "Endereco de E-mail:" GET cEmail PICT "@M"
@ 12,10 SAY "Nome:" GET cNome PICT "@!"
READ
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Gostei TOLEDO !. Eu tinha feito de uma outra forma muito elaborada. Não com isto, estou dizendo que é melhor a minha. A sua é mais simples e mais UNIVERSAL. Pois com ela, você criou um novo PICTURE. Achei sensacional !. Porém como eu disse, na minha 1ª explicação o meu GETSYS teria que ser declarados todos os nomes (de forma FIXA) das variáveis que eu queria tratar e para as não claro, existe o tão usados os comando como: ELSE, OTHERWISE...
Acho que valeu sua indicação, mestre !. Ao menos para mim, valeu !. E você Robson ? Atendeu ao esperado ?
Um clip-abraço :)Pos
Acho que valeu sua indicação, mestre !. Ao menos para mim, valeu !. E você Robson ? Atendeu ao esperado ?
Um clip-abraço :)Pos
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Beleza pura... Sendo assim, embora exista a máscara "!" tbm podemos tbm criar um GET que só aceite MAIÚSCULAS... tipo:Toledo escreveu:Neste GetSys foi incluído na linha 291 o seguinte código:Então, quando você colocar na PICTURE a expressão "@M", o GET só vai aceitar letras minúsculas...Código: Selecionar todos
IF AT("@M",oGet:picture)>0 cKey := LOWER( cKey ) ENDIF
Código: Selecionar todos
IF AT("@U",oGet:picture)>0
cKey := UPPER( cKey )
ENDIF
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Como eu sempre prefiro o caminho mais curto, usaria o comando para desativar Caps Lock (largamente debatido aqui) ou simplesmente criaria uma nova variável convertendo o que foi digitado para minúsculo.
Essa é a intenção do colega, pois deseja captar o e-mail.
@ 10,10 GET vEmail
READ
mEmail = LOWER(vEmail)
Simples assim.
Essa é a intenção do colega, pois deseja captar o e-mail.
@ 10,10 GET vEmail
READ
mEmail = LOWER(vEmail)
Simples assim.
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Diogenes.... Acho q vc não leu o tópico todo... se leu... não entendeu...
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Augusto, com este exemplo dá para criar outras mascaras que não existe no Clipper... é isto ai!
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
VOCÊS SÃO DEMAIS....SHOW DE BOLA.
RAPAZIADA...AQUI SIM TEM O PESSOAL QUE MANJA.
MUITO OBRIGADO A TODOS PELA AJUDA....VCS SÃO SHOW DE BOLA.
REALMENTE ACHO QUE A DO TOLEDO VAI FICAR BELEZA.
OBRIGADO DE CORAÇÃO A TODOS VCS.
ROBSON
MUITO OBRIGADO A TODOS PELA AJUDA....VCS SÃO SHOW DE BOLA.
REALMENTE ACHO QUE A DO TOLEDO VAI FICAR BELEZA.
OBRIGADO DE CORAÇÃO A TODOS VCS.
ROBSON
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
deu certo...so que ta dando um erro.
ficou beleza....era isso que eu queria...
só que onde tem os gets que não tem PICTURE da o seguinte erro:
argument erro: AT
ai coloquei PICTURE @! nao deu mais erro...só que no meu sistema inteiro a maioria dos meus gets não tem PICTURE....e agora como corrigir isso.
atenciosamente
Robson
só que onde tem os gets que não tem PICTURE da o seguinte erro:
argument erro: AT
ai coloquei PICTURE @! nao deu mais erro...só que no meu sistema inteiro a maioria dos meus gets não tem PICTURE....e agora como corrigir isso.
atenciosamente
Robson
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
PROBLEMA RESOLVIDO.
OLA AMIGOS....DESCULPE MAS CONSEGUI RESOLVER O PROBLEMA.
COLOQUEI ASSIM
IF !EMPTY(oGet:picture)
IF AT("@M",oGet:picture)>0
cKey := LOWER(cKey)
ENDIF
ENDIF
Atë a proxima.
COLOQUEI ASSIM
IF !EMPTY(oGet:picture)
IF AT("@M",oGet:picture)>0
cKey := LOWER(cKey)
ENDIF
ENDIF
Atë a proxima.
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Robson, to vendo que você pegou o espirito da idéia... vou corrigir o arquivo que está no link acima. Valeu pelo complemento.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
diogenes_varela
- Usuário Nível 3

- Mensagens: 206
- Registrado em: 04 Nov 2006 19:33
- Localização: Brasília - DF
Acho que você não leu a minha resposta, se leu, não entendeu. Mas eu explico:Augusto escreveu:Diogenes.... Acho q vc não leu o tópico todo... se leu... não entendeu...
1. Se o colega deseja que os caracteres sejam "obrigatoriamente" digitados em minúsculo, a minha sugestão foi: usar o comando para desativar Caps Lock;
2. Se o colega deseja que os caracteres sejam "armazenados" em minúsculos, o usuário digita da maneira que bem entender, e tudo o que foi digitado será automaticamente transformado e armazenado em minúsculos.
===============================
Sugestões bem mais complicadas foram enviadas.
Explique-me, por favor, o motivo da sua fúria...
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9