Delphi.edit框只允許輸入數字&字母


在Delphi中使用編輯框時,有時需要限制輸入它的字符類型,如只接收數字或只接收字母。我們可以在TEdit組件的on..KeyPress事件中對輸入進行處理,以限制對編輯框的輸入。
限制為只接收數字的例程如下:

procedure
TForm1.Edit1KeyPress(Sender: TObject; var..Key: Char);
begin
if not(key in['0'..'9',#8])then
 begin
  key:=#0;
  MessageBeep(1);    //Beep; 調用系統聲音也行!
 end;
end;

程序通過TEdit組件的on..KeyPress事件,判斷按鍵是否為0至9這10個數字鍵,或者是BackSpace鍵,如果不是則將該輸入設置為空
(key:=#0),將其屏蔽掉;如果是則接收字符輸入。這里有一點需要說明的是,#8對應BackSpace鍵,我們不應將它也屏蔽掉,否則不能使用退
格(BackSpace)鍵刪除錯誤的數字輸入。
同樣,如果要限制編輯框只接收字母(不管大小寫)輸入,程序如下:

procedure
TForm1.Edit1KeyPress(Sender: TObject; var..Key: Char);
begin
 if not(key in['a'..'Z',#8])then
  begin
   key:=#0;
   MessageBeep(1); //Beep; 調用系統聲音也行!
  end;
end;

 

 

 

 

轉自 : http://hi.baidu.com/6799974/item/aa5cb78aead249864514cf6c

 

 

不能直接用['a'..'Z' , #8], 要這樣才不會報錯['a'..'z' ,'A'..'Z', #8]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM