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

Exception.create 用Enter 後之key event 如何處理, 求教?

尚未結案
a123473119
一般會員


發表:19
回覆:46
積分:18
註冊:2002-08-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-03 15:11:33 IP:61.56.xxx.xxx 未訂閱
我用於dbgrid 內之 oncolexit 內, 判斷如果鍵入資料有問題 用 raise exception.create('.......') , 來產生一個警告 但: 問題 1: exception 之畫面丟出後, 只有一個確定鈕,如果使用者用 mouse,選確定,則可正確的回到那錯誤欄上,但如果用 enter 來使 exception 畫面消除的話, 則會殘留一個 enter key 丟回給dbgrid 處理,造成 oncolexit 又發生(我用 dbgridext , enter=移到下一欄),又無法攔到此 exception 之 enter key,不知如何是好?? 問題 2: execption 後,游標會留在剛輸入之位置,如使用者想重打,要 向左移到此欄位的第一個位置,如何可做到像 edit.selectall ,可重新輸入 問題 3: 資料的查核,小的一般放於 oncolexit 上, 但可惜是上下鍵並 不能引發oncolexit事件. 若放於欄位之onvalid事件上,無法做到如 如第一欄為空白,則取消此record,並把資料重安排流水號 並且無法在onvalid 內,付予此錯誤欄位之內容(如發現有誤, 丟出資料讓其選擇後,在onvalid內給予新值) 不曉得各位前輩,對於dbgrid之資料控制及正確性查核 是如何control的, 小弟是 delphi新手,發現要考慮到使用者之所可能非意料中操作,真的很難 ,一隻滑鼠到處可選,也會造成資料之正確性很難把握. 不曉得會不會有那位大大,願意提供較理想之單據檔(即有頭,深檔)流程控 制,供晚輩學習. 常擾各位前輩,sorry! and thanks.
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-03 15:29:36 IP:211.74.xxx.xxx 未訂閱
我在做檢查時會用這樣做 If MessageDlg('資料重覆', mtConfirmation, [mbYes], 0) = mrYES Then Begin //dbgrid 的欄位在輸入一次資料.. end; 應該不會有問題..TRY TRY SEE
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-04 11:11:04 IP:61.219.xxx.xxx 未訂閱
應該是在 TField.OnValidate 做沒錯, 只是依照你的需求, 程式控制較為複雜.    
a123473119
一般會員


發表:19
回覆:46
積分:18
註冊:2002-08-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-13 11:54:57 IP:61.56.xxx.xxx 未訂閱
感謝二位前輩,小弟因遠地出差,未能即時回應 ,深感歉意,待測試後,再報告各位. sorry again.
系統時間:2024-07-05 14:23:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!