如何设置输入字符的类型

409 2004-01-09 03:41:50
比如在一个EDIT中我想输入的为数字
如输入其它就提示错误
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yantao14 2004-01-10
  • 打赏
  • 举报
回复
if (radiobtn.Checked = True) then
Edit2.OnKeyPress := Edit2KeyPress
else
Edit2.OnKeyPress := nil;
或者
用一個BOOLEAN 類型的變量去控制,判斷其TRUE 和 FALSE
hthunter 2004-01-10
  • 打赏
  • 举报
回复
radiobtn Onchange事件
if (radiobtn.Checked = True) then
Edit2.OnKeyPress := Edit2KeyPress
else
Edit2.OnKeyPress := nil;
hthunter 2004-01-10
  • 打赏
  • 举报
回复
ft,其实有更简单的:)
procedure TForm5.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (radiobtn.Checked = False) then Exit;
....
....
end;
409 2004-01-09
  • 打赏
  • 举报
回复
再问一下我想在radiobtn.checked=true时
才让editkeypress事件起作用要怎么办呢
hxq2000 2004-01-09
  • 打赏
  • 举报
回复
procedure TForm5.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
try
StrtoInt(Edit1.Text);
except
On EConvertError do
end;
end;
coffeesun 2004-01-09
  • 打赏
  • 举报
回复
上一位是对每次输入进行判断
我这儿是输入完成后,执行时一起判断
for i:=1 to eidt1.GetTextLen do
case edit.Text[i] of
'0'..'9','.':
else
messagedlg('数据格式错误!',mtwarning,[mbok],0);
exit;
end;
xyc189 2004-01-09
  • 打赏
  • 举报
回复
写OnKeyPress事件
if not (key in ['0'..'9',#8]) then
begin
key := #0;
showmessage('输入错误!');
end;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧