如何比對字串? |
答題得分者是:japhen
|
sosolo
一般會員 發表:1 回覆:2 積分:0 註冊:2007-01-17 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
sosolo
一般會員 發表:1 回覆:2 積分:0 註冊:2007-01-17 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
japhen
中階會員 發表:2 回覆:57 積分:71 註冊:2006-08-16 發送簡訊給我 |
用這個函數去比對你要的字串吧,參數1是使用者輸入的字串,參數2是你要的對照模版字串,分大小寫
function comparestr(instr,samplestr : string):boolean; var i : integer; begin result:=(length(instr)=length(samplestr)); // 先比二字串長度,不同就不用比下去了,直接返回FALSE if result then // 如果字串等長才繼續下去 for i := 1 to length(instr) do begin case samplestr[i] of // 一個個取samplestr的每一個char ... 'A'..'Z','a'..'z','0'..'9' : RESULT:=instr[i]=samplestr[i]; // 如果samplestr取出的字元是 A到Z、a到z、0到9,就直接相比 '$' : result:= instr[i] in ['0'..'9']; // 如果samplestr取出的字元是$,則把instr取出的字元看看是不是0到9 '%' : result:= instr[i] in ['A'..'Z','a'..'z']; //同理,如果是%,則直接檢查是不是英文字元 end; if not result then break; // 如果這次檢查是錯誤的(not result就是false) 那就直接跳出結束for end; end;
------
歡迎在大陸的台商加入我們的行列 台商小棧 www.twgocn.com |
sosolo
一般會員 發表:1 回覆:2 積分:0 註冊:2007-01-17 發送簡訊給我 |
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |