如何实现对日期型字段的输入进行验证,免得输入非法出现异常处理中断?(100分)

  • 主题发起人 主题发起人 haidymo
  • 开始时间 开始时间
try
strtodate(edit1.text);//或者strtodatetime(edit1.text)
except
//不是合理的日期型字符串
end;
 
干脆用 TMaskEdit 算了
 
利用函数转换的错误捕捉来处理
procedure TForm1.DateEditExit(Sender: TObject);
begin
if DateEdit1.Text<>'' then
begin
try
StrToDate(DateEdit1.Text);//转换
except
DateEdit1.SetFocus;
MessageBeep(0);
raise Exception.Create('"'+DateEdit1.Text+'" 不是正确的日期格式!');
end{try};
DateEdit1.Text:=DateToStr(StrToDate(DateEdit1.Text));
end{if};
end;
祝你好运!
 
建议使用ip2000中的TwwDBDateTimePicke,可与字段一起使用也可单独使用,
日期输入非常方便,年、月、日、星期、时、分、秒都可以直接输入,还有下拉日历
避免了编程检验输入有效性的问题。
 
给个日历控件让用户输入,为了保险的话,接着用jswqg转换类型的方法
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部