如何在Edit1.text中只能输入数字和小数点,而不能输入其它内容?(100分)

  • 主题发起人 主题发起人 wangzhou197
  • 开始时间 开始时间
W

wangzhou197

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位如何在Edit1.text中只能输入数字和小数点,而不能输入其它内容?
急需!!!!谢谢!!!
 
在edit的onkeypress事件中添加程序就行
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var p:integer; tp:TPoint;
begin
if key in ['0'..'9','+','-','.'] then
begin
if key in ['+','-'] then
begin
p:=pos('+',Edit1.Text)+pos('-',Edit1.Text);
if p>0 then key:=#0
else
begin
GetCaretPos(tp);
if tp.x>1 then key:=#0;
end;
end
else
if key='.' then
begin
p:=pos('.',Edit1.Text);
if p>0 then key:=#0;
end;
end
else if key>#31 then key:=#0;
end;
 
最简单可行的办法:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.']) then key:=#0;
end;
如果还有想要输入的东西,加到中括号内即可。
 
接受答案了.
 
后退
顶部