Como Aceitar somente Números e Teclas ESPECIAIS
Oi Pessoal,
Abaixo segue minha rotina que faz com que somente numeros entrem em um determinado campo. O Problema é que esta rotina elimina fuñções, como por exemplo o BACKSPACE para que eu possa fazer correções.
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [´0´..´9´]) then
Key:=#0;
end;
Alguém tem uma sugestão melhor? :)
Obrg.
Alex
Abaixo segue minha rotina que faz com que somente numeros entrem em um determinado campo. O Problema é que esta rotina elimina fuñções, como por exemplo o BACKSPACE para que eu possa fazer correções.
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in [´0´..´9´]) then
Key:=#0;
end;
Alguém tem uma sugestão melhor? :)
Obrg.
Alex
Alexsandro
Curtidas 0
Respostas
Lucianopimenta
08/03/2005
Adicione o código do BackSpace , se não me é #8.
if not(key in [´0´..´9´, 8]) then
Key:=0;
if not(key in [´0´..´9´, 8]) then
Key:=0;
GOSTEI 0
Alexsandro
08/03/2005
Obrigado pela Dica Luciano.
mas uma questão: Não seria melhor eu modificar a máscara? Display Format ou EDIT MASK?
Alex
mas uma questão: Não seria melhor eu modificar a máscara? Display Format ou EDIT MASK?
Alex
GOSTEI 0
Rodc
08/03/2005
O melhor é usar o Keypress mesmo. Adicione os códigos abaixo:
#8 - backspace
9 - tab
13 - enter
3 - Ctrl+C
22 - Ctrl+V
27 - ESC
#8 - backspace
9 - tab
13 - enter
3 - Ctrl+C
22 - Ctrl+V
27 - ESC
GOSTEI 0