線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2181
推到 Plurk!
推到 Facebook!

如何檢查輸入數據的型態

尚未結案
xksimon
一般會員


發表:3
回覆:3
積分:1
註冊:2005-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-25 20:03:03 IP:221.126.xxx.xxx 未訂閱
若我要求別人輸入int, 但他輸入字元, 那植個程式也掛了, 有方法可以檢查嗎?
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 20:41:03 IP:61.62.xxx.xxx 未訂閱
二個方法: 一: 用 onKeyPress 去限制他不能輸入非數字的鍵 二: 輸入完後,就去檢查是不是數字(我記得 try StrToInt 就可以了) 不是數字,就請重新輸入
xksimon
一般會員


發表:3
回覆:3
積分:1
註冊:2005-03-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 21:13:51 IP:221.126.xxx.xxx 未訂閱
2個方法都不會..... 可以詳細說明嗎? 謝
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-25 22:04:57 IP:211.22.xxx.xxx 未訂閱
 
方法一:
procedure TFORM1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
      if not ( Key in ['0'..'9'] ) then
         Key := #0;  //刪掉KEY值,就是不接受非數字的鍵值
end;
方法二:
Try
   Value := StrToInt(Edit1.txt);
except
   MessageBox(GetActiveWindow(),'請輸入數字!','輸入錯誤',MB_OK or MB_ICONERROR);
   Edit1.Setfocus;
   exit;
 end; 
----------------------------------------------- Creation is the fundation of promotion.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-26 09:26:43 IP:202.62.xxx.xxx 未訂閱
您好﹗    不好意思﹐插個花﹒ 小弟覺得在OnKeyPress中直接用程式碼限制輸入的內容必須為Int比較好﹐不用花費時間在測試輸入值是否有效上(如StrToInt函數或TryStrToInt函數)
procedure TFORM1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Not (Key in ['0'..'9', #8] ) then //#8代表后退鍵
    Key := #0;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
cxh17895
初階會員


發表:13
回覆:37
積分:25
註冊:2003-03-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-27 07:46:42 IP:210.68.xxx.xxx 未訂閱
    if not ( (key in ['0'..'9']) or (key=#27) or (key=#08) or (key=#46)
      or (key = #43) or (key=#45) or (key =#13)) then
   begin
   key := #0;
     messagebox(self.Handle ,'請輸入數字' #13
                   ,'waring',mb_iconinformation);
   end;     
這是小弟在程式上檢查是否為數字的程式段
pigbaby
初階會員


發表:2
回覆:84
積分:47
註冊:2002-09-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-27 08:34:21 IP:210.200.xxx.xxx 未訂閱
引言: 若我要求別人輸入int, 但他輸入字元, 那植個程式也掛了, 有方法可以檢查嗎?
豬寶寶是有二個做法 1.用maskedit讓使用者只能輸入數字 (editmask的屬性設為9999 代表只能輸入四位整數) 要用時再用strtoint轉成int 2.用try 去測試 var z: Integer; begin try z:=strtoint(edit1.Text); except showmessage('cant conver to int'); end;
系統時間:2024-05-17 10:49:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!