mensagem de erro por falta de valor no TEdit

18/12/2005

tenho um TEdit que faz parte de uma conta... mas se o usuário não informar um valor, da uma mensagem de erro e trava o programa..

devo informar o usuário da falta do valor, e dar o setfocus no TEdit

como faço isso?

obrigado antecipadamente...


Adelor Silva

Respostas

18/12/2005

Jujan

coloque no evento on exit da edit o seguinte código

if edit1.text=´´ then
begin
showmessage(´obrigatorio a digitação´)
edit1.setfocus;
end;

Porém existe outras maneiras de tratar esse tipo de erro se esse código não resolver envie outra mensagem que eu envio o código de tratamento completo.
Espero q ajude.


Responder Citar

18/12/2005

Adelor Silva

não funcionou lamento... este é o procedimento que estou utilizando..

procedure TPagPrincipal.Button2Click(Sender: TObject);
begin
kgch := StrToFloat(Edit4.Text);
qtdch := kgch / resultKg;

Label10.Caption := FormatFloat(´#,0,00´, kgch)+ ´ Kg´;
Label12.Caption := FloatToStr(trunc (qtdch)) + ´ Chapas´;

end;


Responder Citar

18/12/2005

Nadai_

*coloque o código onde for preciso a validação*

if Edit.Text = ´´ then
begin
  Edit.SetFocus;
  raise Exception.Create(´Informar o valor no Edit´);
end;



Responder Citar

19/12/2005

Adelor Silva

lamento meus amigos... mas não funcionou... tentei fazer um

teoricamente não seria somente colocar...

if edit1.text = ´ ´ then
begin
showmensage (´digite o valor´);
edit1.setfocus;
end;


Responder Citar

19/12/2005

Marcio.theis

Quais são os eventos que vc tem sobre este TEdit ???


Responder Citar

19/12/2005

Adelor Silva

eu preciso de uma solução pra forçar o cliente a digitar os números nos campos obrigatórios... se ele não digitar, o cursor deverá retornar ao TEdit...

este é um exemplo do que eu preciso...

procedure TForm1.Button1Click(Sender: TObject);
var
num1, num2, result : real;

begin
num1 := StrToFloat(Edit1.Text);
num2 := StrToFloat(Edit2.Text);
result := num1 / num2;
Label1.Caption := FloatToStr(result);
end;

end.


Responder Citar

19/12/2005

Marcio.theis

Vc tem alguma coisa no evento OnChange, OnEnter, OnExit, OnKeyDown ou OnKeyPress do seu TEdit ???


Responder Citar

19/12/2005

Adelor Silva

ta tudo limpo lá... todo evento esta no botão...


Responder Citar

19/12/2005

Xandyr

[quote:fe65a6754f=´Adelor da Silva´]eu preciso de uma solução pra forçar o cliente a digitar os números nos campos obrigatórios... se ele não digitar, o cursor deverá retornar ao TEdit...

este é um exemplo do que eu preciso...

procedure TForm1.Button1Click(Sender: TObject);
var
num1, num2, result : real;

begin
num1 := StrToFloat(Edit1.Text);
num2 := StrToFloat(Edit2.Text);
result := num1 / num2;
Label1.Caption := FloatToStr(result);
end;

end.[/quote:fe65a6754f]
procedure TForm1.Button1Click(Sender: TObject);
var
num1, num2, result : real;

begin
if Edit1.Text = ´´ then O Trim Remove espaços em branco
begin
Edit1.SetFocus;
ShowMessage(´Digite o valor 1´);
exit;
end;

if Trim(Edit2.Text) = ´´ then // O Trim Remove espaços em branco
begin
Edit2.SetFocus;
ShowMessage(´Digite o valor 2´);
exit;
end;

num1 := StrToFloat(Edit1.Text);
num2 := StrToFloat(Edit2.Text);
result := num1 / num2;
Label1.Caption := FloatToStr(result);
end;


Responder Citar

19/12/2005

Xandyr

Outra coisa, não use a palavra [b:31b5ea7a2b]result[/b:31b5ea7a2b], ela utilizada para retornar valores de funções.


Responder Citar

19/12/2005

Adelor Silva

muito obrigado minha gente... valeu as dicas...

inclusive esta do ´ result ´

muito obrigado mesmo...


Responder Citar