is not a valid date(100分)

  • 主题发起人 主题发起人 SmallA
  • 开始时间 开始时间
S

SmallA

Unregistered / Unconfirmed
GUEST, unregistred user!
我在EDITMASK中输入日期,想在输完后判断是否合法日期,语句如下:
var
adate:TDateTime;
try
adate:=StrToDate(editmask.text);
except
showmessage('非法日期格式!正确的日期格式为。。。。');

但总报"2000-90-32"is not a valid date,请指点

 
90月32天当然是非法日期,faint,怎么还有这样的问题
 
这个只是编译时运行会报错,单独运行程序就可以了。
你的代码是正确的。
 
这样
procedure TForm1.FormCreate(Sender: TObject);
begin
ShortDateFormat := 'yyyy/mm/dd';
DateSeparator := '/';
end;

 
如果是笔误的话,那么应该在控制面板里把日期格式改成你所需的,如2000.10.01或者...
 
你不会是在delphi中运行时出现的错误吧。如果是,哪可正常得很。
如果不是,哪多贴点代码出来,就这几行根本就没错。
 
把delphi里面的debugger options里的stop on delphi exceptions关了
就看不到这些信息了
 
我写的不太清楚,我的目的是如果在EDITMASK中输入非法日期,程序不中断,
显示 "非法日期格式!正确的日期格式为。。。。"
 
没错啊,你不在delphi的ide环境下运行它,或者按我说的设一下,
不就行了吗.
 
脱离IDE环境运行,就会显示你的提示信息了
 
有没其他正常处理的方法呢
 
其实大家都说了,还会出现错误提示是因为IDE环境设置的原因,它会在出现异常的时候给你
提示,即使你已经用了异常保护也是会的,但是你脱离IDE运行该程序就不会,要不你试试直
接运行你的可执行文件试试吧。如果你要想在IDE中不出现异常提示也可以,在Project Option
选项中把设置Compile页面上的设置就行了。不过这样你其他的异常也不会出现错误提示咯。
其实我想你要的也只是你在使用你的软件时弹出的是自定义的错误提示吧,那么你其实用了
异常保护以后就能做到了,IDE环境中出现也没什么的,对吧。
 
多人接受答案了。
 
后退
顶部