線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1443
推到 Plurk!
推到 Facebook!

如何減少程式重複判斷

缺席
rita.i880
一般會員


發表:19
回覆:35
積分:10
註冊:2007-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-12 14:18:30 IP:203.69.xxx.xxx 未訂閱
大家好 ; 
DBGRID為了判斷輸入資料是否正確, 會在onColExit的地方做check的動作,
若user直接按向下筆時, 這個欄位的資訊並不會觸發onColExit, 這時又要在beforepost的事件中
重複寫判斷資料的語句, 請問有何好方法, 不用做重複判斷 ...TKS
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-12 16:06:02 IP:202.39.xxx.xxx 訂閱
你可以判斷條件弄成一個 funtion,在兩個地方呼叫
對你來說還是相當於一段程式碼
事件的部份可以設定在 Table1.OnUpdateRecord 事件裡
缺點是它不能攔截在同一條紀錄的變更,
但可以把它視為未更新的狀態另做處理,應該是可行的
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-12 21:56:09 IP:61.67.xxx.xxx 未訂閱
不建議你在DBGRID  直接做異動, 或許很好用, 但有很多問題及技術上是不好操作的, 不只是要判別, 還有MASK問題, SAVE問題, 在DBGRID中要判斷該COL的條件式只有在ONCOLEXIT嗎? 不只哦!
所以如果你有這類的需求建議利用DBEDIT來達成, 在客戶方面其實並不難去說服使用這樣的介面
以上提供你做參考
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-13 09:13:58 IP:59.127.xxx.xxx 訂閱
要檢查輸入資料的正確性,寫在 dataset.field 的 onvalidate 的事件上會比較好,
如果檢查的結果不符合規則時, 用abort 就可以阻止user繼續輸入下去,也無法離開,
除非user按 [esc] 取消輸入之資料。
------
Kadee/BigRed Ent.
www.tw165.com
rita.i880
一般會員


發表:19
回覆:35
積分:10
註冊:2007-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-13 14:57:54 IP:203.69.xxx.xxx 未訂閱
你好 :
因為程式是單頭與單身方式, 所以單身檔採用dbgrid的方式輸入
onColExit與before post 的判斷式都需至資料庫撈資料, 很浪費支援, 所以才想有沒有辦法減少判斷
===================引 用 P.D. 文 章===================
不建議你在DBGRID 直接做異動, 或許很好用, 但有很多問題及技術上是不好操作的, 不只是要判別, 還有MASK問題, SAVE問題, 在DBGRID中要判斷該COL的條件式只有在ONCOLEXIT嗎? 不只哦!
所以如果你有這類的需求建議利用DBEDIT來達成, 在客戶方面其實並不難去說服使用這樣的介面
以上提供你做參考
系統時間:2024-05-05 9:35:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!