B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-04 #1 有没这样的函数,比如当在edit里输入字符串,判断这个字符串的格式是否为时间格式的, 结果返回一个值, 如果自己写,又该如何写那~~
Y ycxy Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-04 #2 function XXX:Boolean; begin Result:=False; try srttodate(edit.text); except showmessage('不是时间格式'); Exit; end; Result:=True; end;
function XXX:Boolean; begin Result:=False; try srttodate(edit.text); except showmessage('不是时间格式'); Exit; end; Result:=True; end;
B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-04 #4 为什么我调用函数时不行那~~,而且一碰到错误的输入,也不显示showmessage里的('不是时间格式'); 而是说程序有问题?
B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-05 #5 上个问题解决了, 但是当输入不是字符串的时候,我想不让程序中断,而只是返回布尔值就可以了 不知道这个该如何实现?
H hq_pan Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-05 #6 不想有任何提示,你只有把给你的源代码里面的 showmessage('不是时间格式'); 去掉就可以了!这样可以根据返回值判断。
B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-05 #7 hq_pan: 我不是这个意思,我在运行时如果输入的不是时间类型的,它会出现平时程序出错 时要你调试的那个消息框,我是不想让它出现的(而不是那个showmessage('不是时间格式');)
B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-05 #8 我说的不清楚, 贴上我的代码,在form上加两个Edit和一个button,运行一下,你就明白我的意思了 function datejudge(var dates:string):Boolean; begin Result:=False; try strtodate(dates); except showmessage('不是时间格式'); Exit; end; Result:=True; end; procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=edit1.Text; if datejudge(s)=true then edit2.Text:='right' else edit2.Text:='wrong'; end;
我说的不清楚, 贴上我的代码,在form上加两个Edit和一个button,运行一下,你就明白我的意思了 function datejudge(var dates:string):Boolean; begin Result:=False; try strtodate(dates); except showmessage('不是时间格式'); Exit; end; Result:=True; end; procedure TForm1.Button1Click(Sender: TObject); var s:string; begin s:=edit1.Text; if datejudge(s)=true then edit2.Text:='right' else edit2.Text:='wrong'; end;
B booker Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-05 #9 生成exe文件运行是没问题的,我就是想在调试过程中也不要出现那个debugger