資料輸入超過欄位,如何寫一個警告訊息? |
答題得分者是:T.J.B
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
一. 可以在DBEdit之onKeyUp檢查
type TTempMaskEdit=class(TCustomMaskEdit); procedure TForm1.DBEditKeyup(Sender: TObject; var Key: Word; Shift: TShiftState); var n1,sel1,sel2:Integer; begin if (TDBEDit(Sender).Modified) and (TDBEdit(Sender).Field<>nil) then begin TTempMaskEdit(Sender).GetSel(sel1,sel2); n1 := TDBEDit(Sender).MaxLength; if sel1 >= n1 then begin showmessage(''); TDBEdit(Sender).SetfocusControl; end; end;二. 可一次處理所有欄位 先寫好如上之method 在FormActive將所有DBEdit均hook上此method procedure TBaseForm.FormCreate(Sender: TObject); var i:integer; begin for i:=0 to ControlCount-1 do if Controls[i] is TDBEdit then TDBEdit(Controls[i]).DBEditdKeyUp; end;三. 一勞永逸的方法 先寫一個BaseForm如上, 以後其他所有Form均繼承此Form. |
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |