全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1002
推到 Plurk!
推到 Facebook!

請問 Dataaccess VCL DBEDIT 如何攔截系統內定資料型態錯誤

答題得分者是:T.J.B
calvin168
一般會員


發表:2
回覆:1
積分:0
註冊:2002-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-14 10:46:12 IP:210.65.xxx.xxx 未訂閱
請問 Dataaccess VCL DBEDIT 如何攔截系統內定資料型態錯誤 例如 : DBEDIT is tdatetime type 輸入'a003/03/14' 時,要出現自己設計的訊息,而不要出現系統內定資料型態錯誤? MY USE PG: procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char); var srr:tdatetime; begin if key=#13 then begin //showmessage('oh,scuess'); //edit2.Text:='a'; try showmessage('3s'); srr:=dbedit1.Field.Value; showmessage('4s'); if srr > strtodate('2100/12/31') then begin showmessage('1s'); raise EConvertError.Create('輸入日期型態錯誤'); showmessage('2s'); end; except on e:EConvertError do begin ShowMessage(E.ClassName E.Message); raise; end; end; end; end; 謝謝大家,請各位先進指教.
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-14 10:57:10 IP:61.220.xxx.xxx 未訂閱
參考一下
 try
   ShortDateFormat := 'yyyy/mm/dd'; //將DBEDIT1的內容日期格式化
   strtodate(DBEDIT1.text);  //檢查日期是否合法
 except
   raise Exception.Create('日期錯誤 請重新輸入');
 end; 
天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
calvin168
一般會員


發表:2
回覆:1
積分:0
註冊:2002-11-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-14 11:14:07 IP:210.65.xxx.xxx 未訂閱
謝謝兩位先進 ,兩種方式都可以,因結案只可選擇一人,很報歉 wsy_Kevin
系統時間:2024-05-14 11:19:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!