Fórum Duvida no Edit #184648

27/09/2003

0

Sou novato em Delphi e gostaria de saber como configurar o Edit para receber somente numeros com ponto flutuante.

Muito Obribado


LDionysio


Luiz Dionysio

Luiz Dionysio

Responder

Posts

27/09/2003

Cebikyn

Ponha no [b:d5e7fa4989]OnKeyPress[/b:d5e7fa4989] do seu edit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key in [´,´,´.´] then
    Key:=DecimalSeparator;

  if not (key in [´0´..´9´,DecimalSeparator,8]) then
  begin
    Key:=0;
    Beep;
  end;
end;



Responder

Gostei + 0

27/09/2003

Henry

Deus do vinho, tente assim:

Coloque um objeto Edit no form e no seu evento OnKeypress escreva o seguinte código:

if not(key in [´0´..´9´,´.´,´,´,#8,13]) then
key := 0;
if key in [´,´,´.´] then
key := DecimalSeparator;
if key = DecimalSeparator then
if pos(key,TEdit(Sender).Text) <> 0 then
key := 0;

Explicando o código
if not(key in [´0´..´9´,´.´,´,´,8,13]) then
key := 0;

No código acima, se algum número, ponto, vírgula, BackSpace ou Enter for digitado, então pode passar normalmente, caso contrário a tecla pressionada é ignorada.

if key in [´,´,´.´] then,br> key := DecimalSeparator;

No código acima, se digitado ponto ou vírgula, assume como separador decimal.

if key = DecimalSeparator then
if pos(key,TEdit(Sender).Text) <> 0 then
key := 0;

No código acima, o separador decimal só pode ser digitado uma única vez, na tentativa de uma segunda digitação ignora-se o símbolo.

Espero ter ajudado, Henry.


Responder

Gostei + 0

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

Aceitar