Evento do Dbedit

Delphi

11/12/2004

Galera...
Como faço pra soh digitarem do numero 0 ao 9 no dbedit e so UMA virgula ou ponto...

e em qual evento

uso o banco de dados acces e lah ta definido como MOEDA

Obrigado


Tremonti

Tremonti

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

11/12/2004

Se é DBEdit, o próprio campo se encarrega de não aceitar valores inválidos com seu tipo de dados.


GOSTEI 0
Tremonti

Tremonti

11/12/2004

Nao se encarrega nao, meu bd é acces
jah mudei currency pra true e tudo mais...
Mas nem rola...

Abraços...


GOSTEI 0
Thomaz_prg

Thomaz_prg

11/12/2004

cara, poe aí no onKeyPress do seu dbedit:

if (key = ´,´) and ( pos( ´,´ , (sender as TDbEdit).Text )> 0 ) then
Key := #0;


GOSTEI 0
Tremonti

Tremonti

11/12/2004

Valewwwww cara....
Funcionou Beleza Pura!!!


GOSTEI 0
Jbspio

Jbspio

11/12/2004

cara, poe aí no onKeyPress do seu dbedit: if (key = ´,´) and ( pos( ´,´ , (sender as TDbEdit).Text )> 0 ) then Key := #0;


como faço o mesmo processo em um tedit, ja tentei o mesmo e não deu certo

valew


GOSTEI 0
Rômulo Barros

Rômulo Barros

11/12/2004

como faço o mesmo processo em um tedit, ja tentei o mesmo e não deu certo


Coloque o código abaixo no evento OnKeyPress do Edit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   If(Not(Key In [´0´..´9´,´.´,´,´,8,13]))Then
   Begin
      Key := 0;
      Exit;
   End;
   If(Key In [´.´,´,´])Then
     If((Pos(´.´,Edit1.Text) > 0 )Or (Pos(´,´,Edit1.Text) > 0))Then
     Begin
        Key := 0;
        ShowMessage(´Já existe vírgula ou ponto´);
     End;
end;


[color=red:5f3d272f68][u:5f3d272f68][b:5f3d272f68]Obs:[/b:5f3d272f68][/u:5f3d272f68][/color:5f3d272f68]

[b:5f3d272f68]8 respresenta a tecla BackSpace
13 representa a tecla Enter[/b:5f3d272f68]


GOSTEI 0
POSTAR