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

請問身份證輸入問題(用edit或dbedit控制)

答題得分者是:tonytop
zou
一般會員


發表:4
回覆:1
積分:1
註冊:2005-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-22 11:10:27 IP:211.76.xxx.xxx 未訂閱
請問用dbedit或edit如何限制第一個字是英文,第二個開始到第十個字都是數字(身份證輸入問題),謝謝!^__^
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-22 11:32:58 IP:203.73.xxx.xxx 未訂閱
請參考 http://delphi.ktop.com.tw/topic.php?topic_Id=38769 http://delphi.ktop.com.tw/topic.php?topic_Id=19453
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-22 14:58:59 IP:202.154.xxx.xxx 未訂閱
var
  i:Integer;
  s:string;
begin
  s:=edit1.Text;
  for i := 1 to length(s) do
  begin
    if i = 1 then
    begin
      if s[i] in ['0'..'9'] then
        ShowMessage('第一個字須為英文字母');
    end;
    if not (s[i] in ['0'..'9']) then
    begin
      ShowMessage('第2至第10個字必須是數字');
      exit;
    end;
  end;
tonytop
中階會員


發表:6
回覆:114
積分:89
註冊:2003-12-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-22 15:46:17 IP:211.20.xxx.xxx 未訂閱
可以在keypress中限制輸入的字元唷^_^
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Length(Edit1.Text) = 0 then
  begin//²Ä¤@½X¶È¯à¿é¤J­^¤å¦r
    if not (Key in['A'..'Z', 'a'..'z']) then
      Key:=#0;
  end
  else if Length(Edit1.Text) in[1..9] then
  begin //¤G¦Ü¤E½X¶È¯à¿é¤J¼Æ¦r
    if not (Key in['0'..'9']) then
      Key:=#0;
  end
  else //¶W¹L¤Q½X¤£¯à¦A¿é¤J¤F
    Key:=#0;
end;
忙盲茫
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-22 16:49:01 IP:220.130.xxx.xxx 未訂閱
請參考一下TMaskEdit的EditMask屬性。 在EditMask處設定成"L999999999", 即可限制頭碼與尾碼的輸入字元。 還有許多變化, 可自行參考Help中TEditMask中的說明。
zou
一般會員


發表:4
回覆:1
積分:1
註冊:2005-01-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-22 23:36:47 IP:211.76.xxx.xxx 未訂閱
引言: 可以在keypress中限制輸入的字元唷^_^
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Length(Edit1.Text) = 0 then
  begin//²Ä¤@½X¶È¯à¿é¤J­^¤å¦r
    if not (Key in['A'..'Z', 'a'..'z',#8]) then
      Key:=#0;
  end
  else if Length(Edit1.Text) in[1..9] then
  begin //¤G¦Ü¤E½X¶È¯à¿é¤J¼Æ¦r
    if not (Key in['0'..'9',#8]) then
      Key:=#0;
  end
  else //¶W¹L¤Q½X¤£¯à¦A¿é¤J¤F
    Key:=#0;
end;
忙盲茫
謝謝各位大大!!^_^ 我採用的是這位大大的答案,因為比較符合我的需求 然後我在外加一點就是在key的地方要加上#8, 因為假如遇到要用倒退鍵(backspace)刪除時就可以刪了 謝謝各位大大~~^_^
系統時間:2024-11-23 7:30:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!