高手幫忙!在delphi中如何禁止edit在中輸入東西

2022-08-13 07:55:29 字數 5319 閱讀 7048

1樓:放飛夢想

方法一:

判斷是否觸發change事件,如果有內容更改,讓其執行為空操作方法二:

判斷是否在上面keydown事件,如果有按鍵,讓其執行其他操作方法三:

用訊息傳遞,達到和enabled相同效果!

2樓:

有一個辦法,就是把當前的內容先儲存起來,然後只要有人改變,就還原,要三部曲

一,先定義 全域性變數

vars:string;

二編寫form1的oncreate 事件如下procedure tform1.formcreate(sender: tobject);

begin

s:=edit1.text;

end;

三編寫edit1的onchange 事件如下procedure tform1.edit1change(sender: tobject);

begin

s:=edit1.text;

end;

3樓:

在它的keydown 事件裡處理一下

key = "";或是key = #0

好久不寫大概是這個意思

4樓:湛藍水晶

不用那麼麻煩的……

不設enabled屬性的話,把readonly設為true就是了,這樣就無法在其中輸入內容了。

delphi怎麼控制edit中只能輸入數字??

5樓:匿名使用者

你可以先將你抓到的包儲存到檔案 主要**: /* **函式,用來處理資料包 */ void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data) { /* 儲存資料包到堆檔案 */ pcap_dump(dumpfile, header,

6樓:龍氏風采

首先,在delphi裡面控制edit只能輸入數字的方法如下:

if not (key in ['0'..'9',#8]) then key := #0;只能輸入漢字,而不能輸入數字或其他字元.

在edit的onkeypress事件中

procedure tform1.edit1keypress(sender: tobject; var key: char);

begin

if (ord(key)127) then

key:=#0;

end;

擴充套件一下回答:如果要使一文字框中只可輸入數字,而且當輸入的數字錯誤時還可以通過backspace鍵來修改.

由於backspace的ascii值是8,所以像以下這樣即可

if (key>#46) and ((key #48) or (key > #57)) and (key > #8) then

//如果輸入不是數字或小數點(#46代表小數點)

begin

key:=#0; //取消輸入的內容(#0代表空值)

showmessage('輸入錯誤!請輸入數字!'); //發出提示資訊

end;.

7樓:匿名使用者

在除錯執行的時候是delphi捕獲的異常,會有提示框,執行exe檔案的時候就不關delphi的事了,所以就沒有提示框了。

這樣寫最簡單:

procedure tform1.edit1keypress(sender: tobject; var key: char);

begin

if not (key in ['0'..'9', #8, #13]) then

begin

key := #0;

showmessage('只能輸入數字');

end;

end;

如何在delphi裡面控制edit只能輸入數字

8樓:龍氏風采

首先,在delphi裡面控制edit只能輸入數字的方法如下:

if not (key in ['0'..'9',#8]) then key := #0;只能輸入漢字,而不能輸入數字或其他字元.

在edit的onkeypress事件中

procedure tform1.edit1keypress(sender: tobject; var key: char);

begin

if (ord(key)<127) or (ord(edit1.text[1])>127) then

key:=#0;

end;

擴充套件一下回答:如果要使一文字框中只可輸入數字,而且當輸入的數字錯誤時還可以通過backspace鍵來修改.

由於backspace的ascii值是8,所以像以下這樣即可

if (key<>#46) and ((key < #48) or (key > #57)) and (key <> #8) then

//如果輸入不是數字或小數點(#46代表小數點)

begin

key:=#0; //取消輸入的內容(#0代表空值)

showmessage('輸入錯誤!請輸入數字!'); //發出提示資訊

end;.

9樓:匿名使用者

換用maskedit元件

delphi 中如何讓edit1.text只能輸入數字和字母

10樓:匿名使用者

你可以先將你抓到的包儲存到檔案 主要**: /* **函式,用來處理資料包 */ void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data) { /* 儲存資料包到堆檔案 */ pcap_dump(dumpfile, header,

11樓:艾三毛

在keypress裡面設定

if not (key in ['0'..'9', #8, '.',['a'..'z']]) then

key := #0;

這樣就可以了,就是限制鍵盤輸入其他的東西。

12樓:匿名使用者

在keypress事件中寫入下邊的**

xe下:

if not charinset(key,['0'..'9','a'..'z']) then key :=#0;

d7下:

if not (key in ['0'..'9','a'..'z']) then key :=#0;

13樓:匿名使用者

procedure tform.edit1keypress(sender: tobject; var key: char);

begin

if not (key in ['0'..'9', #8, '.',['a'..'z']]) then

key := #0;

end;

這就是你想要的。

如何在delphi裡面控制edit只能輸入數字

14樓:永恆

用 maskedit 控制元件替代 edit 控制元件,在 maskedit 的 editmask 屬性中適當地進行設定即可。

在delphi中怎麼讓edit輸入的只能是中文

15樓:

這個用正規表示式比較好!

對於限制使用者輸入最好是採用正規表示式來限制。

以上的答案根本不能正確的驗證身份證的正確如否!

16樓:匿名使用者

在keypress下寫**:

//判斷長度不能大於18

if(length(edit1.text) > 18)thenkey := #0;

if(length(edit1.text) = 18)thenif(not key in [0..9,'x','x'])thenkey := #0;

在提交這次輸入資訊的地方,例如:提交按鈕中加入如下**:

if ((length(edit1.text)<>15)or(length(edit1.text) <> 18)) then

begin

showmessage('輸入的長度有誤!');

edit1.text := '';

exit;

end;

17樓:艾三毛

在keypress下面寫, if not key in [0..9] then eixt 這樣基本就可以了。

18樓:匿名使用者

只允許輸入中文或刪除:

procedure tform1.edit1keypress(sender: tobject; var key: char);

begin

if ((ord(key) < 128) and (key <> #8)) then key := #0;

end;

只允許輸入15或17個數字+x或刪除:

procedure tform1.edit1keypress(sender: tobject; var key: char);

begin

if key <> #8 then begin // 允許刪除鍵

if length(edit1.text) < 17 then begin // 長度小於17時只允許輸入數字

if not (key in [#8, '0'..'9']) then key := #0;

end else begin // 長度=17時只允許輸入x或者x

if not ((length(edit1.text) = 17 ) and (key in ['x','x'])) then key := #0;

end;

end;

end;

proceduretform1.edit1exit(sender: tobject); // 最後離開edit1時需要確認文字長度

begin

if ((length(edit1.text) <> 15) and (length(edit1.text) <> 18)) then begin

showmessage('錯誤!必須輸入15個數字,或者18個數字結尾必須是x');

edit1.setfocus; // 設定焦點

end;

end;

以測試,可用!

delphi中開啟一個視窗後,在這個視窗中edit輸入字,然後關閉視窗,下次再開啟時,edit上的字還在!!

求高手,delphi中真心不明白實數除這東西,求解,下面我要輸出答案是 10,我要詳細講解,可懸賞

可修改如下 除的時候,求餘數 如 5 mod 3 2 在delphi中怎麼對實數取模 mod 只是對整數。浮點數就不行。vc中的函式原形為 fmod float x,float y x x y y 翻譯到delphi中 x,y符號不一致時出錯。2 mod 1 1 delphi中怎麼將實數取整 1.f...

在Delphi中,怎麼把字串拆分成2019字串

建立一個這樣的函式 function splitstring const source,ch string tstringlist vartemp string i integer begin result tstringlist.create 如果是空自符串則返回空列表 if source or ...

delphi查詢到的兩個結果如何顯示在文字框裡

如表名為gg字斷如下的表,並搞一個memo控制元件就是你說的文字框 no1 no2 no3 4 4 6 4 4 7 procedure tform1.button1click sender tobject vara string i interger begin i 0 with adoquery ...