Check?

Snakeguo 2001-10-26 03:18:56
要实现以下功能:
1.检查DBedit里输入的数字是否合法(即不能包括数字、小数点之外的其它字符;或者只允许用户输入数字或小数点),不合法则提示。
2.检查DBedit里输入的日期是否合法,不合法则提示。

代码应该怎样写?
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemon_jyg 2001-10-26
  • 打赏
  • 举报
回复
用maskedit
设置它的editmask属性为999.999.999.999;1;_
就可以实现对IP地址的规范输入
日期的验证也类似
抱朴守拙 2001-10-26
  • 打赏
  • 举报
回复
1.
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
var
PointPos,StrLen:Integer; //'.'在整个字符串中的位置、字符串的长度
Str:String; //字符串的值
begin
Str:=Edit2.Text;
IF (pos('.',Str)<>0 ) then //if 存在'.'
begin
PointPos := Pos('.',Str); //取位置
StrLen := Length(Str); //取字符串的长度
if (StrLen-PointPos=2)and(key<>chr(8)) then Key:=#0;
end; //if ‘。’后有两位,则 不输入
case key of //限定只能输入数字或'.'
chr(8): Key:=Key;
'0'..'9': Key:=Key;
'.':
if (pos('.',Str)<>0 ) then Key:=#0; //只能输入一个'.'
else
Key:=#0;
end;

end;
di2000 2001-10-26
  • 打赏
  • 举报
回复
1。
if key in ['0'..'9'] then
else
出错
2。
try
StrtoDateTime(DbEdit.Text);
except
on EConvertError do
begin
....
end;
end;
cul 2001-10-26
  • 打赏
  • 举报
回复
他是说要输入数字和小数点啊。如果说是象IP之类的输入,应该算是合法,但是却不是浮点数啊。
cobi 2001-10-26
  • 打赏
  • 举报
回复
可以使用上面两位的办法,如果不想用他们的方法,可以在beforepost方法里自己检查
gzmhero 2001-10-26
  • 打赏
  • 举报
回复
1应该是:
try
StrToFloat(DbEdit.Text);
except
on EConvertError do
begin
.....
end;
end;
lovewangj 2001-10-26
  • 打赏
  • 举报
回复
DBEdit不用检查的,它自动根据后台数据库的类型进行检查,如果要检查,这样:
1.try
StrToInt(DbEdit.Text);
except
on EConvertError do
begin
.....
end;
end;
2.try
StrtoDateTime(DbEdit.Text);
except
on EConvertError do
begin
....
end;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧