請問如何判斷輸入值是否為數字或是文字呢 |
答題得分者是:T.J.B
|
jiannrong
一般會員 發表:58 回覆:36 積分:18 註冊:2002-05-09 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言: 請教一下 若我希望使用者在edit內輸入資料 按下button之後 能夠判斷使用者輸入的 是不是數字 請問我該用哪個函數呢 謝謝edit 的 onkeypress事件 或 onkeydown 事件 舉例 ; procedure TForm1.KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['1'..'9']) then begin Key := #0; ShowMessage('請輸入數字'); end; end;天行健 君子當自強不息~~@.@
------
天行健 君子當自強不息~~@.@ |
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
試試看吧!! function isOrdinal( pch : PChar ) : Boolean; assembler;
asm
mov eax, pch // pointer to string
xor ecx, ecx // clear ecx
xor edx, edx // clear edx
@@1: // loop label
mov dl, BYTE PTR [eax ecx] // load next char
cmp dl, 0 // check for string end
jz @@2 // string end
cmp dl, 48 // compare with 0
js @@3 // smaller then 0
cmp dl, 57 // compare with 9
jg @@3 // greater then 9
add ecx, 1 // inc loop counter
jmp @@1 // loop
@@2: // result ok?
cmp ecx, 0 // check string length
jz @@3 // string is empty
mov Result, 1 // set Result to 1
jmp @@4 // go out
@@3: // result failed
mov Result, 0 // set Result to 0
@@4: // end label
end; procedure TForm1.Button1Click(Sender: TObject);
begin
if isOrdinal(PChar(Edit1.Text)) then
ShowMessage('輸入為數字')
else
ShowMessage('輸入為中文字')
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |