首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi Edit 編輯框完全指南:屬性、事件與身分驗證實作範例

     編輯:Delphi

單行文字輸入的核心元件:TEdit 深度應用

TEdit 是 Windows 程式最常用的單行文字輸入元件,掌握其屬性與三大核心事件(OnChange、OnKeyPress、OnEnter),即可實作輸入驗證、動態介面回饋等實用功能。

常用屬性速查

屬性說明預設值
PasswordChar遮罩字元(如 '*'),隱藏真實輸入#0 (無遮罩)
AutoSize隨字型自動調整高度True
Text顯示/儲存編輯框文字內容空字串
MaxLength最大輸入字元數,0 為不限制0
ReadOnlyTrue 時禁止使用者編輯False
AutoSelect獲得焦點時自動全選文字True

三大核心事件實戰模式

1. OnEnter:焦點進入觸發提示與介面狀態切換

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  ShowMessage('請輸入您的密碼');
  Button1.Enabled := False;
end;

2. OnKeyPress:字元級輸入過濾(僅允許數字與退位鍵)

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', #8]) then  // #8 = Backspace
  begin
    Key := #0;      // 取消該按鍵
    MessageBeep(-1); // 發出警告音
  end;
end;

關鍵:var Key: Char 參數允許修改實際輸入字元,設為 #0 即攔截該按鍵。

3. OnChange:內容變動觸發業務邏輯(如驗證通過啟用按鈕、移動焦點)

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Edit1.Text = '123456' then
  begin
    Button1.Enabled := True;
    Form1.FocusControl(Button1);  // 將焦點移至 Button1
  end;
end;

綜合實作:身分驗證程式

介面配置:兩個 Label、兩個 Edit(Edit1 輸入學號、Edit2 輸入密碼)、兩個 BitBtn(Ok/Cancel)

關鍵設定:

  • Edit1、Edit2 MaxLength = 6
  • Edit2 PasswordChar = '*'
  • Edit1 OnKeyPress 限制數字輸入
  • Edit1 OnChange:滿 6 碼自動跳至 Edit2(FocusControl(Edit2))
  • Edit2 OnChange:驗證學號 950755 + 密碼 123456 → 啟用 Ok 按鈕並獲取焦點
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Length(Edit1.Text) = 6 then
    Form1.FocusControl(Edit2);
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  if (Edit2.Text = '123456') and (Edit1.Text = '950755') then
  begin
    BitBtn1.Enabled := True;
    Form1.FocusControl(BitBtn1);
  end;
end;

完整專案原始碼包含表單建立初始化、按鈕點擊關閉/驗證通過訊息、鍵盤過濾邏輯,展示 Edit 元件在表單驗證流程中的核心角色。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved