程序如下:procedure TUserManageForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['1'..'9'])then
begin
showmessage('必须输入数字');
edit1.Clear;
edit1.SetFocus;
end;
end;现在我输入一个非数字,例如一个字母的时候,程序虽然会提示“必须输入数字”,但当我点击对话框的确定按钮之后,文本框的内容却变成了那个字母。我的本意是想让程序提示完“必须输入数字”之后,文本框的内容清空,而现在却没有清空。如何才能达到我想要的那个效果哪??????还有,当我输入一个汉字的时候,会提示两次“必须输入数字”。如何才能让它提示一次哪?????
begin
if not(key in['1'..'9'])then
begin
showmessage('必须输入数字');
edit1.Clear;
edit1.SetFocus;
end;
end;现在我输入一个非数字,例如一个字母的时候,程序虽然会提示“必须输入数字”,但当我点击对话框的确定按钮之后,文本框的内容却变成了那个字母。我的本意是想让程序提示完“必须输入数字”之后,文本框的内容清空,而现在却没有清空。如何才能达到我想要的那个效果哪??????还有,当我输入一个汉字的时候,会提示两次“必须输入数字”。如何才能让它提示一次哪?????
解决方案 »
- 有没有办法不用PwinCap就可以抓到所有网卡的arp包?
- 高手请进:使用dll发送消息时的奇怪错误!
- ado???急问
- 为什么我的FastReport左右边距设置后,预览和打印都没有变化?
- 有没有人能提供一下,局域网内获得机子名的源码?
- 帮我看看我的SQL语句哪 有问题
- delphi如何生成一个exe文件 可以在任何计算机上运行
- embed sql
- Borlan首席设计师Anders Hejlsberg去了微软,就好象当年乔丹离开公牛,不知Borlan的结局会不会象现在的公牛?delphi程序员们,你们怎么看?
- 请问如何获知窗口移动的消息?
- 如何把字符串转换为十六进制呢? 例子如下:
- 在主从表结构里更新从表时大家一般是使用什么方式
begin
showmessage('必须输入数字');
key:=0;
end;
begin
if not(key in['1'..'9'])then
begin key=#0; showmessage('必须输入数字');
edit1.Clear;
edit1.SetFocus;
end;
end;