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

資料輸入超過欄位,如何寫一個警告訊息?

答題得分者是:T.J.B
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-19 12:49:27 IP:61.217.xxx.xxx 未訂閱
資料輸入超過欄位,如何寫一個警告訊息? ---------------- 局局棋盤步步新, 變化無常平常待。 人生相處平常心, 無憂無慮心事成。 ----------------
T.J.B
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-19 13:10:08 IP:61.220.xxx.xxx 未訂閱
if length(edit1.text) > query1.fieldbyname('empno').size then
begin 
 raise exception.create('超出資料欄資料長度 請重新輸入');
  exit;
end;
天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2002/12/19 13:11:33
------
天行健
君子當自強不息~~@.@
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-19 13:13:18 IP:202.39.xxx.xxx 未訂閱
在 Fields Editor 內有設該欄位的 Size 的話 user 是沒辦法輸入超過欄位 Size 的    -- Believe the unbelievable.
T.J.B
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-19 13:23:20 IP:61.220.xxx.xxx 未訂閱
但是對非感知元件而言 如果沒有設定 maxlength 屬性 還是可以輸入超過Fields Editor 該欄位的 Size 的字元 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-19 13:25:55 IP:61.219.xxx.xxx 未訂閱
一. 可以在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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-19 13:38:19 IP:61.217.xxx.xxx 未訂閱
TQuery元件我沒用,不知道TTable元件如何判斷? ---------------- 局局棋盤步步新, 變化無常平常待。 人生相處平常心, 無憂無慮心事成。 ----------------
T.J.B
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-19 14:25:59 IP:61.220.xxx.xxx 未訂閱
引言: TQuery元件我沒用,不知道TTable元件如何判斷? ---------------- 局局棋盤步步新, 變化無常平常待。 人生相處平常心, 無憂無慮心事成。 ----------------
query改成Table 即可 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
系統時間:2024-05-14 20:45:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!