請問如何判斷日期輸入是否正確 |
答題得分者是:shinhrn
|
luckylin25
一般會員 發表:24 回覆:25 積分:9 註冊:2005-03-07 發送簡訊給我 |
請問各位大大,我的資料庫是SQL SERVER2000
欄位資料型態是DataTime型態
在輸入日期時,想判斷輸入的日期是否正確
是要在哪個事件判斷呢
我在Table的欄位裡的Change和DBEdit.onExit裡寫上判斷日期是否正確
但我輸入錯誤的日期,並不會去執行這二個地方
而是show出
"2005/04/31"is not a vaild data and time
我想要show出的是我自己寫的錯誤訊息 我看了很多關於日期的討論
大部分都是把資料庫的日期弄成字串來判斷的 發表人 - luckylin25 於 2005/04/04 17:16:45
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 提供給您兩種方法參考﹕
一﹒可使用IsValidDate函數來檢查日期格式是否正确﹐因為IsValidDate函數的傳入值形態為Word﹐所以要先使用DecodeDate函數將輸入的日期分解成Word形態的值﹐方法如下﹕
uses DateUtils //引用DateUtils單元 Var Y, M, D : Word; begin DecodeDate(StrToDate(DBEdit1.Text), Y, M, D); if IsValidDate(Y, M, D) then ShowMessage('日期格式正确') else ShowMessage('日期格式錯誤'); end;二﹒可使用TryStrToDate函數來判斷日期的格式是否正确﹐嘗試將Str字串值轉換成日期形態﹐如果可以轉換的話﹐則做轉換動作﹐方法如下﹕ Var DT : TDateTime; begin if TryStrToDate(DBEdit1.Text, DT) then ShowMessage('日期格式正确') else ShowMessage('日期格式錯誤'); end;P.S 剛才測試一下﹐似乎只有TryStrToDate函數可以在日期格式錯誤時可以顯示出自定的錯誤信息﹐而IsValidDate函數不能在日期格式錯誤時顯示出自定的錯誤信息﹐而是顯示Delphi內定的'*** is not a valid date and time'﹒ ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/04/04 18:20:54
------
忻晟 |
luckylin25
一般會員 發表:24 回覆:25 積分:9 註冊:2005-03-07 發送簡訊給我 |
|
shinhrn
中階會員 發表:54 回覆:165 積分:83 註冊:2002-06-05 發送簡訊給我 |
引言: cashxin2002版主 我試了你說的第二個方法 但如果我輸入錯誤的日期,他還是先顯示"2005/04/31"is not a vaild date and time 我把程式放在Table的欄位裡的Change事件裡 程式應該放在哪個事件判斷才會顯示自己所要show出的訊息以前我也遇到這個問題 請將判斷放在 SetText 即可.... 當初我是放在 Validate 上@@,不知為何Delphi居然無法完全檢查出來?@@|||... 請參考http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44756 |
boson
中階會員 發表:74 回覆:155 積分:85 註冊:2004-07-31 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 我有測試過之前回覆的第二種方法﹐應可避免出現顯示Delphi內定的'*** is not a valid date and time'錯誤信息﹐當輸入的日期格式錯誤時﹐會直接顯示出else子句中的ShowMessage內容﹐貼出您的程式碼部分來看看﹒ 您可將此程式碼寫在DBEdit元件的OnExit事件中﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
luckylin25
一般會員 發表:24 回覆:25 積分:9 註冊:2005-03-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |