这可能是一个非常简单的问题,但我从未接触过delphi.
我有一个编辑框,可以接受角色.但在某些特殊情况下,我必须验证编辑框字符只是数字.
我有一个编辑框,可以接受角色.但在某些特殊情况下,我必须验证编辑框字符只是数字.
我们怎么能这样做?
注意:用户可以输入任何字符,但在验证时我必须验证上面的字符.
解决方法
我不明白为什么你想让用户输入一个字符,后来不允许它通过验证.
如果你真的需要阻止进入,那么为你做这个的控件比自己破解它更好.如果你的delphi版本真的很旧,那么试试JVCL组件库中的JVCL:TJvValidateEdit,例如,在所有版本的delphi中.但是,在最近的常规delphi版本(2009及更高版本)中,已经内置了几种可能的解决方案,包括TMaskEdit和TSpinEdit.
如果您真的只需要编写验证方法,那么请考虑使用正则表达式或手动编码验证函数,并将该代码与控件分开.
// Taking OP question obsessively literally,this // function doesn't allow negative sign,decimals,or anything // but digits function IsValidEntry(s:String):Boolean; var n:Integer; begin result := true; for n := 1 to Length(s) do begin if (s[n] < '0') or (s[n] > '9') then begin result := false; exit; end; end; end;