回 帖 发 新 帖 刷新版面

主题:[讨论]菜鸟,才学习本语言问一简单问题

我想在edit.text中检查输入的是否是实数,如果不是弹出消息提示框提示,代码如下
var 
str:string;
begin
str:=rightstr(edit1.text,1);
if str<>'' then
  begin
  if ((str<'0')or(str>'9')and(str<>'.')) then
  showmessage('请输入实数!');
  edit1.text:='';
  edit1.SelectAll;
  end;
end;
end.
现在出现一个问题,就是不能重键盘输入数字,可以输入字母。如果输入的是字母也有消息框弹出。请高手指点一下为什么不能输入数字?错在那里,要怎么写代码?谢谢!

回复列表 (共1个回复)

沙发

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9','.',#8]) then
     begin
     Key := #0;
     ShowMessage('只可以输入0~9,以及小数点!');
     end;
end;

我来回复

您尚未登录,请登录后再回复。点此登录或注册