procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9','.',#8]) then key:=#0; end;procedure TForm1.Edit1Exit(Sender: TObject); begin try StrToFloat(Edit1.Text); Edit1.Text:=Format('%.1f',[StrToFloat(Edit1.Text)]); except Edit1.SetFocus; //出错,光标仍置给此EDIT,也可加自己的提示代码.... end; end;
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;procedure TForm1.Edit1Exit(Sender: TObject);
begin
try
StrToFloat(Edit1.Text);
Edit1.Text:=Format('%.1f',[StrToFloat(Edit1.Text)]);
except
Edit1.SetFocus; //出错,光标仍置给此EDIT,也可加自己的提示代码....
end;
end;
另外,如果你想在DELPHI环境中也不弹出DELPHI的报错提示的话,请这样:
Tools-->Debugger Options
在弹出的窗口中,把Integrates debugging的前面的勾勾去掉,这时,DELPHI出会执行你自己在try..except中定义的出错提示