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

27/11/2015

1

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
Responder

Posts

27/11/2015

P2

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
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
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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira