Como Aceitar somente Números e Teclas ESPECIAIS

Delphi

08/03/2005

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


Alexsandro

Alexsandro

Curtidas 0

Respostas

Lucianopimenta

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;


GOSTEI 0
Alexsandro

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


GOSTEI 0
Rodc

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


GOSTEI 0
POSTAR