我怎样校验用户输入的日期字段是否是正确的格式

zsgbox 2003-10-08 10:32:26
我有几个字段需要用户输入时间,可我要做检验,我以下面方式做检验却怎么都不行,请教诸位大侠,我该怎么办?
try
{
StrToDate(Graduate_Data->Text);
}
catch(...)
{
ShowMessage("时间格式错,参考2003-10-1这种格式!");
return false;
}

水平很菜,惭愧.
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsgbox 2003-10-09
  • 打赏
  • 举报
回复
哈哈哈,一语道破梦中人啊,谢谢dingzhenhhy
路人丁 2003-10-09
  • 打赏
  • 举报
回复
不会吧!
try
{
StrToDate(Graduate_Data->Text);
}
catch(...)
{
ShowMessage("时间格式错,参考2003-10-1这种格式!");
return false;
}
可以捕获异常,只不过是在调试期它会弹出系统错误,如果你运行的是可执行文件应该没有问题的。
zsgbox 2003-10-09
  • 打赏
  • 举报
回复
DataTimePicker所显示的年数有限,要调整很麻烦.
MaskEdit好象不能处理诸如44-44-44之类的输入错误.
nobill 2003-10-09
  • 打赏
  • 举报
回复
你可以用DateTimePicker控件啊!
或在MaskEdit中的EditMask对话框中选择Date,就可以了!
zsgbox 2003-10-09
  • 打赏
  • 举报
回复
象StrToDate(Graduate_Data->Text);
这样的转换异常,我怎么捕获啊?
zsgbox 2003-10-09
  • 打赏
  • 举报
回复
为什么没有人管我.T_T
zsgbox 2003-10-08
  • 打赏
  • 举报
回复
我用MaskEdit设置InputMask 0000\-00\-00,但我还不能阻止客户输出诸如2003-44-44之类的东西,
我的字段没有绑定,我只是在新建资料时让用户输入的,我不知道该如何检验,不会让我一点点取出来比较是否大于12或30这么复杂吧.
Behard 2003-10-08
  • 打赏
  • 举报
回复
如果你绑定了字段,就是这样的了
(你的焦点离开了输入框,就提示出错)

你使用 TEdit 即可
freshman2003 2003-10-08
  • 打赏
  • 举报
回复
用MaskEdit,不用校验。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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