窗体上设了一个EDIT1和一个EDIT2,是让用户输入数字的,要求必须只能是数字,汉字和字母都不能写上。而且EDIT1中不能输入小数,只能输入整数,因为是数量,不可能出现0.5只这种情况。EDIT2就可以输入小数,但小数点后面只能输入两位小数,因为是金额。控件中的maskedit感觉不好用。但自己又写不出这种代码,求助各位了。小弟是刚学的,问题多了点,请各位不要见怪。多多指教。
调试欢乐多
------------
try
strtoint(edit1.text);
except
edit1.text := '';
showmessage('只能输入数字');
end;
begin
if not (key in ['0'..'9',#8]) then key:=#0;
end;procedure Tform1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;
begin
if not (key in ['0'..'9',#8]) then
begin
key:=#0;
MessageBeep(1);
end;
end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#46]) then
begin
key:=#0;
MessageBeep(1);
end;
end;procedure TForm1.Edit2Exit(Sender: TObject);
begin
edit2.Text:=formatfloat('0.00',strtofloat(edit2.Text));
end;
begin
edit2.Text:=formatfloat('0.00',strtofloat(edit2.Text));
end;这里如果有人恶意输入比如35.5.56的话就会出错了阿。
begin
try
edit2.Text:=formatfloat('0.00',strtofloat(edit2.Text));
except
showmessage('输入有误');
end;
end;