如何能Edit控件识别数字,如果输入的不是数字,就弹出错误提示。
比如
procedure TForm1.editwinred1zu1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if editwinred1zu1.Text = '' then
begin
application.MessageBox(pchar('数据是空值'),pchar('错误'),0);
editwinred1zu1.SetFocus;
end
else if editwinred1zu1.Text = edit then
begin
application.MessageBox(pchar(''),pchar(''),0);
editwinred1zu1.SetFocus;
end
else if not(strtoint(editwinred1zu1.Text)in[1..33])then
begin
application.MessageBox(pchar('数据不符,请输入1到33之间的数!'),pchar('错误'),0);
editwinred1zu1.SetFocus;
end
else if editwinred1zu1.Visible = true then
begin
editwinred1zu1.Visible := false;
lblwinred1zu1.Visible := true;
lblwinred1zu1.Caption := editwinred1zu1.Text;
end;
end;
end;
以上代码是我的实际编程代码,功能基本完成,就只差识别数字的功能了。请求各位高手能多多指教!
比如
procedure TForm1.editwinred1zu1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if editwinred1zu1.Text = '' then
begin
application.MessageBox(pchar('数据是空值'),pchar('错误'),0);
editwinred1zu1.SetFocus;
end
else if editwinred1zu1.Text = edit then
begin
application.MessageBox(pchar(''),pchar(''),0);
editwinred1zu1.SetFocus;
end
else if not(strtoint(editwinred1zu1.Text)in[1..33])then
begin
application.MessageBox(pchar('数据不符,请输入1到33之间的数!'),pchar('错误'),0);
editwinred1zu1.SetFocus;
end
else if editwinred1zu1.Visible = true then
begin
editwinred1zu1.Visible := false;
lblwinred1zu1.Visible := true;
lblwinred1zu1.Caption := editwinred1zu1.Text;
end;
end;
end;
以上代码是我的实际编程代码,功能基本完成,就只差识别数字的功能了。请求各位高手能多多指教!
解决方案 »
- ADOQuery的ltBatchOptimistic状态下的用法
- 急死了,刚学习dephi遇到了问题,求大家帮帮忙,在线等。。。。
- 窗体可以直接打印,就不知道怎么直接打印控件?
- 移位
- 有没有一个属性设置EDIT控件为灰色只读无焦点,不用分别设置
- 为什么LAZARUS图片翻转会失败?请帮看代码。
- 屏幕截图传输后显示的问题
- 关于realplayer控件播放rm格式的歌曲问题,高分求教(100)
- 用什么函数可在在程序中发送一条消息给Windows主机?
- 刷卡器模拟键盘输入,即刷卡的过程可通过击键盘输入。如何使用户刷卡时,程序自动区分用户是刷卡,还是敲击键盘的。
- 在Delphi 中文件自己替换自己?
- 高手请进!如何使用TWebbrowser来保存网页里验证码的图片!仅只需获取证码的图片流!谢谢
begin
if not (key in ['0'..'9',#8]) then
begin
key := #0;
showmessage('警告:刚才的按键不是数字键!');
end;
end;
raise Exception.Create('输入的不是数字');
dBASEIII(明年毕业了) 的答案好些
procedure TForm1.editwinred2zu5KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if not(editwinred2zu5.Text<>'')then
begin
application.MessageBox(pchar('数据是空值'),pchar('错误'),0);
editwinred2zu5.SetFocus;
end
else if not(key in['0'..'9'])then
begin
application.MessageBox(pchar('数据不符,请输入数字'),pchar('错误'),0);
end
else if not(strtoint(editwinred2zu5.Text)in[1..33])then
begin
application.MessageBox(pchar('数据不符,请输入1到33之间的数!'),pchar('错误'),0);
editwinred2zu5.SetFocus;
end
else if editwinred2zu5.Text <> '' then
begin
editwinred2zu5.Visible := false;
lblwinred2zu5.Visible := true;
lblwinred2zu5.Caption := editwinred2zu5.Text;
end;
end;
end;
begin
if not (key in ['0'..'9',#8]) then
begin
key := #0;
showmessage('警告:刚才的按键不是数字键!');
end;
end;这样的就是对的
else if not(key in['0'..'9'])then
begin
application.MessageBox(pchar('数据不符,请输入数字'),pchar('错误'),0);
end
begin
if not (key in ['0'..'9',#8]) then
begin
key := #0;
showmessage('警告:刚才的按键不是数字键!');
end;
end;这样的就是对的
begin
application.MessageBox(pchar('数据是空值'),pchar('错误'),0);
editwinred2zu5.SetFocus;
end
key:=#0
else
if key = #13 then
begin
if trim(Edit1.Text)='' then
MessageBox(Application.Handle,'数据不能为空','提示',MB_OK)
else
if not(strtoint(Edit1.Text)in[1..33])then
begin
application.MessageBox(pchar('数据不符,请输入1到33之间的数!'),pchar('错误'),0);
Edit1.SetFocus;
end;
end;