当前位置:编程学习 > Delphi >>

delphi怎样用循环去判断,edit1.text里的内容是数字?

对文本长度的进行一个一个的判断是否为数字? 比如:我在edit1.text中输入:“4561ds32”这样,从左向右一个一个的对字符的ascii值进行判断? 写在button1.click事件中
答案:楼上方法更简单一些.
如果想用循环的方法实现的话
var
  i:integer;

for i:=1 to Length(Edit1.Text) do
begin 
  if not (Edit1.Text[i] in ['0'..'9']) then
     ShowMessage(Edit1.Text[i] + '不是数字');
end;

手工打的,如果不对自己尝试修改一下!还有Edit1.Text只能为数字或字母.
如果是汉字的话,就不行了!
其他:try
  strtoint(edit1.text)
失败 就说明不行 你要达到什么目的哦?
你如果只想edit里输入数字的话
在事件里限制就可以了
没有必要去循环判断
浪费资源
或者在输入完成的时候判断一次啊 为什么要用循环噢~~~~

   if strtointdef(edit1.text, -9999) = -9999 then  不全是数字~ 

上一个:delphi的 node:TTreenode; node := tvew1.Items.add(tvew1.topitem,Getstring('AllNet')); //'整个网络
下一个:Delphi 中的 private区域定义方法的procedure类型和function类型有什么区别?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,