請問身份證輸入問題(用edit或dbedit控制) |
答題得分者是:tonytop
|
zou
一般會員 發表:4 回覆:1 積分:1 註冊:2005-01-07 發送簡訊給我 |
|
shinjie
資深會員 發表:12 回覆:275 積分:287 註冊:2003-03-19 發送簡訊給我 |
|
BOSS
中階會員 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
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 發送簡訊給我 |
可以在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 發送簡訊給我 |
|
zou
一般會員 發表:4 回覆:1 積分:1 註冊:2005-01-07 發送簡訊給我 |
引言: 可以在keypress中限制輸入的字元唷^_^謝謝各位大大!!^_^ 我採用的是這位大大的答案,因為比較符合我的需求 然後我在外加一點就是在key的地方要加上#8, 因為假如遇到要用倒退鍵(backspace)刪除時就可以刪了 謝謝各位大大~~^_^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;忙盲茫 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |