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 ...