EDIT aceitar somente números
09/03/2006
0
1.000,00 ? 0,53 ? 1,63 ?? Neste padrão para moeda. Tentei usar o format, mas ñ consegui. Queria já por uma máscara no formato 0,00 qdo digitarem os nºs já vão se enquadrando na máscara. No Maskedit os nºs são postos da esquerda para a direita e isso dificulta a digitação.
valeu galera !
Cabal
Post mais votado
09/03/2006
if not (key in [´1´,´2´,´3´,´4´,´5´,´6´,´7´,´8´,´9´,´0´,´,´]) then
key :=#0;
ATT
Ermindo
Ermindo
Mais Posts
09/03/2006
Techsoft
Se tiver dificuldades em encontrar manda um mail q envio o componente pra ti.
09/03/2006
Paullsoftware
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Case Key of
´a´..´z´:
Key:=#0;
´A´..´Z´:
Key:=0;
´/´:
Key:=0;
end;
end;
Espero ter ajudado, agora se vc desejar proibir também outras teclas acrescente ela na lista.. :lol: :wink:
09/03/2006
Marco Salles
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in [´0´..´9´,8])and(key <> DecimalSeparator) Then key:=0; end;
o decimal separador depende das configuraçoes regionais
09/03/2006
Aroldo Zanela
Você pode criar um componente descendente de TEdit (ou TDBEdit) e adicionar esta característica nele ou utilizar um componente de terceiro, como: (Jedi VCL ou RxLib). Desta forma, vai evitar ficar escrevendo aqui e ali. Dependendo da necessidade, pode reduzir um grande esforço desnecessário.
09/03/2006
Marco Salles
Olha so o titulo da pergunta :
olha so o conteudo do tópico:
de cara , <com exceção aqueles que indicaram componentes de terceiros> , respondemos sobre o titulo , isto é , para não receber numeros e esquecemos completamente a formatação..
amigo eu sinceramente acho que a formatção , voce deve deixar para a saida do edit1.tex.. Evitar que esse so aceite numeros e o decimalseparator ja é um bom começo
Alem de :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in [´0´..´9´,8])and(key <> DecimalSeparator) Then key:=#0; end;
acrescente isso no evento onexit do edit1
procedure TForm1.Edit1Exit(Sender: TObject); begin try if edit1.Text <> ´´ then edit1.Text:=FormatFloat(´.00´,strtofloat(edit1.Text)); except on econverterror do begin showmessage(´numero invalido´); edit1.SetFocus; end; end; end;
e siga os conselhos do professor Aroldo Zanela e crie o seu primeiro component
boa sorte..
05/04/2006
Ricobv
05/04/2006
Marco Salles
No meu trava... Tem certeza disso ???? Com ovoce esta usando para colar ??? [b:bc65484fdd]CNTRL+V[/b:bc65484fdd] seria isso ???
02/02/2020
Daniel Dias
if not (key in [´1´,´2´,´3´,´4´,´5´,´6´,´7´,´8´,´9´,´0´,´,´]) then
key :=#0;
ATT
Ermindo
Perfeito
03/02/2020
Anderson Gonçalves
1.000,00 ? 0,53 ? 1,63 ?? Neste padrão para moeda. Tentei usar o format, mas ñ consegui. Queria já por uma máscara no formato 0,00 qdo digitarem os nºs já vão se enquadrando na máscara. No Maskedit os nºs são postos da esquerda para a direita e isso dificulta a digitação.
valeu galera !
Fala boy,
Se você tem um campo que só pode usar NÚMEROS você pode usar o componente do Delphi MASKEDIT e definir uma máscara numérica para ele na propriedade EDITMASK lá você vai ver vários modelos.
Coloca assim a máscara
99999;0;_ sendo que se quiser mais dígitos você pode acrescentar mais "9" a máscara que vai abrir mais dígitos no componente.
Espero ter ajudado.
03/02/2020
Anderson Gonçalves
Se precisar de ajuda me chama.
Skype: anderson@case13.com.br
Espero ter ajudado.
Clique aqui para fazer login e interagir na Comunidade :)