Criando uma função para digitar epenas números ????

27/11/2015

0

Boa tarde.

tenho vários edits onde só é permitido digitar número e venho utilizando esse código

If (DSCadPadrao.State in [dsEdit, dsInsert]) then
begin
//apenas numeros / enter / bacspace / tab / delete
if not (Key in['0'..'9', #13, #8, #9, #10 ]) then
Key := #0;
end;


isso está deixando o código gigante e confuso, gostaria de criar uma função com esse código
Emanuel Gonçalves

Emanuel Gonçalves

Responder

Posts

27/11/2015

Raimundo Pereira

Use as opções do próprio edit
[img]http://arquivo.devmedia.com.br/forum/imagem/437747-20151127-193817.png[/img]

Espero ter ajudado.
Responder

28/11/2015

Emanuel Gonçalves

Perdão, eu informei que eram edit´s mas na verdade são DBEdit´s
Responder

28/11/2015

Dirceu Morais

Eu faço assim:

Criei uma Unit com a função

function SomenteInteiro(var tecla : char) : boolean;
begin
   if not (tecla in['0'..'9', #8, #13]) then begin
      Beep();
      Tecla := #0;
      result := false;
   end
   else
      result := true;
end;


Eu uso assim.

Uses MinhaUnit
.
.
.
.


No evento OnKeyPress

procedure TFormEventos.DBEdit1KeyPress(Sender: TObject; var Key: Char);
Begin
    SomenteInteiro(key);
end;
Responder

28/11/2015

Emanuel Gonçalves

Obrigado, deu certo!!


Eu faço assim:

Criei uma Unit com a função

function SomenteInteiro(var tecla : char) : boolean;
begin
   if not (tecla in['0'..'9', #8, #13]) then begin
      Beep();
      Tecla := #0;
      result := false;
   end
   else
      result := true;
end;


Eu uso assim.

Uses MinhaUnit
.
.
.
.


No evento OnKeyPress

procedure TFormEventos.DBEdit1KeyPress(Sender: TObject; var Key: Char);
Begin
    SomenteInteiro(key);
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar