在DELPHI中,我想做一个异常处理,
在DELPHI中,我想做一个异常处理,如果输入的不是按照指定的时间格式的话就弹出警告,请问一下应该怎么编码求高手指教比如DBEdit3.text我要他的格式为1990/0...
在DELPHI中,我想做一个异常处理,如果输入的不是按照指定的时间格式的话就弹出警告,请问一下应该怎么编码求高手指教比如DBEdit3.text我要他的格式为1990/01/01,格式不对就出异常处理。
展开
2个回答
展开全部
让用户输入会很麻烦的,提供另一个方法,你放一个datetimepicker,让用户点击选择日期时间,然后Dstr:=FormatDateTime('yyyy/mm/dd',datetimepicker1.Date);将dstr传入数据库或其他处理即可!
记得给好评幺,亲!~
记得给好评幺,亲!~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure chkdata(datastr: string);
var
i: integer;
begin
if length(datastr) <> 10 then //判断位数
raise exception.Create('错误:时间位数不对');
if (datastr[5] <> '/') or (datastr[8] <> '/') then //判断关键符号
raise exception.Create('错误:时间格式不对');
for i:= 1 to length(datastr) do
begin
if (i = 5) or (i = 8) then continue;
if not (datastr[i] in ['0'..'9']) then //判断是否为数字
raise exception.Create('错误:时间格式不对');
end;
end;
调用如下(以edit1.text为例):
procedure TForm1.Button1Click(Sender: TObject);
begin
try
chkdata(edit1.Text);
except
on e:exception do showmessage(e.Message);
end;
end;
var
i: integer;
begin
if length(datastr) <> 10 then //判断位数
raise exception.Create('错误:时间位数不对');
if (datastr[5] <> '/') or (datastr[8] <> '/') then //判断关键符号
raise exception.Create('错误:时间格式不对');
for i:= 1 to length(datastr) do
begin
if (i = 5) or (i = 8) then continue;
if not (datastr[i] in ['0'..'9']) then //判断是否为数字
raise exception.Create('错误:时间格式不对');
end;
end;
调用如下(以edit1.text为例):
procedure TForm1.Button1Click(Sender: TObject);
begin
try
chkdata(edit1.Text);
except
on e:exception do showmessage(e.Message);
end;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询