控制Edit的输入方式
控制Edit的输入方式
楼主xywu(长江里的鱼)2002-07-20 10:14:46 在 Delphi / VCL组件开发及应用 提问请问我想在Edit中只让用户输入金额(2.00或54.70)请问该怎么实现 问题点数:30、回复次数:3Top
1 楼hhzqf1980(hh)回复于 2002-07-20 10:19:58 得分 30
在edit的onkeypress事件中:
if not (key in) then
key:=#0;
然后在判断‘.’是否已经存在....Top
2 楼Jhzyz(自由人/Libero)回复于 2002-07-20 10:37:24 得分 0
我程序中的代码改的,你参考。
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); //控制输入数字和小数点
begin
if not (key in ) then
key:=#0; //also chr(0)
if key=Char(VK_Return) then
SelectNext(ActiveControl,True,True);
end;
procedure TForm1.Edit2Exit(Sender: TObject); //这是你要的功能
begin
if Edit2.Text<>"" then
begin
try
StrtoFloat(Edit1.Text);
except
Begin
Application.MessageBox("请输入合法的数字!","错误:",MB_OK);
Edit1.SetFocus;
exit;
end;
end;
end;
if (StrtoFload(Edit1.Text)<>2) or (StrtoFload(Edit1.Text)<>54.7) then
begin
Application.MessageBox("录入金额错误,请重新录入!","错误:",MB_OK);
Edit1.SetFocus;
end;
end;Top
3 楼BS()回复于 2002-07-20 10:43:49 得分 0
建议在onChange里加
begin
try
if trunc(StrtoFloat(Edit1.text)*100)*10=trunc(StrtoFloat(Edit1.text)*1000) then EXIT;
showmessage("格式为**.**");
Edit1.text:=copy(Edit1.text,1,length(Edit1.text)-1)
except
showmessage("输入错误");
Edit1.text:=copy(Edit1.text,1,length(Edit1.text)-1)
end;
end;Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
