DBEdit - Dígitos após a vírgula

Delphi

29/05/2006

Olá pessoal!
Vejam se podem me ajudar...
Estou usando um dbedit para acessar um campo da minha tabela que configurei como number de 10,4 ou seja, 4 dígitos após a vírgula.
Na máscara do dbedit configurei a máscara, porém ocorre um problema.
O componente deixa que eu digite mais de 4 dígitos após a vírgula, mas grava somente quatro.
Por exemplo:
Seu eu digitar 5,12345 ele grava 5,1235.
O que eu quero é que só permita digitar 5,1234
Entenderam? O que preciso fazer?
Estou usando Delphi 7 com Firebird 1.5 e componentes FibPlus.

Obrigado!


Tomew

Tomew

Curtidas 0

Respostas

Marco Salles

Marco Salles

29/05/2006

é só asdaptar para dbedit

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
 posdecimal,poscaracter:integer;
begin
posdecimal:=Pos(DecimalSeparator,edit1.Text);
if posdecimal > 0 Then
   if Key = DecimalSeparator then
       Key:=#0
   else
     if edit1.SelStart > posdecimal then
       edit1.MaxLength:=posdecimal+4
     else
      edit1.MaxLength:=length(edit1.text)+1
end;



GOSTEI 0
Kenio_c

Kenio_c

29/05/2006

Tem um jeito mais facil do que ficar mascarando o seu DBEdit, eu utilizo os componentes da Turbo Power, no seu caso Orpheus que ja configura tudo isso q vc esta precisando [http://sourceforge.net/projects/tporpheus/][/url]


GOSTEI 0
Tomew

Tomew

29/05/2006

Muito obrigado!
Vou testar as dicas de vocês.


GOSTEI 0
POSTAR