请问如何检测输入数据的合法性?比如说,一个输入框,它只能接收某特定类型的数据(如整型、浮点型或具有某些特定特征的数据如ip等),要怎么检测它的合法性呢?就好像在DELPHI 的IDE 环境里的那个对象编辑器里,输入的数据是错误类型的时候会弹出来对话框提示类型错误。这个要怎么实现呢?请大家多多指点。谢谢。
解决方案 »
- 请教三层结构中 主键问题
- 如何使Delphi的函数中的方法可以被JS脚本调用
- 请问哪有语音识别控件下载
- 关于图像透明的处理
- ADOCOMMAND有没有返回值?
- 怎么让DBLookupComboBox2在点了button1后让DBLookupComboBox2的下拉列表变成第三的个?
- 怎么拷贝PARDOX记录到SQLSERVER数据库的表中?
- TREEVIEW控件怎么与数据库结合起来?!
- netuseradd()在哪个单元?
- 关于利用ODAC组件编制的程序的运行环境的问题。
- 这样的错误也能出现?怎么解决啊?
- :★★★难度实在太大:如何将字体为'Fixedsys'的英文文本输出到打印机? ★★★
2、在他的onkeyPress或者keyDown事件中检查按键
3、在他的onExit事件中检测
可以预先定义一个常量集合,
const IntSet=['0','1','2','3','4','5','6','7','8','9'];
然后在OnExit事件里验证用户的输入,function CheckEdit(txt:string):boolean;
var
i:integer;
begin
result:=true;
for i:=1 to length(txt) do
begin
if not (txt[i] in IntSet) then
begin
result:=false;
exit;
end;
end;
end;procedure TForm1.Edit1Exit(Sender: TObject);
begin
if not CheckEdit(Edit1.Text) then
Messagedlg(...);
Edit1.Setfocus;
end;其它的类似。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['0'..'9',#8,#13,#46] ) then
Key := #0;
if (Key = #13 ) then
begin
// add your code here
end;这是只允许输入 0 - 9 ,回车,backspace ,delete 键的合法性检测,你可以在上面的 if 语句中进行你想要的判断