unit InputMask; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Mask, StdCtrls, IISUnit; type TInputMaskForm = class(TForm) MaskEdit1: TMaskEdit; OkBt: TButton; CancelBt: TButton; PolicyNoLb: TLabel; MaskEdit2: TMaskEdit; MaskEdit3: TMaskEdit; Label1: TLabel; Label2: TLabel; procedure OkBtClick(Sender: TObject); procedure CancelBtClick(Sender: TObject); procedure MaskEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure MaskEdit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure MaskEdit3KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var InputMaskForm: TInputMaskForm; implementation {$R *.dfm} procedure TInputMaskForm.MaskEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if length(MaskEdit1.Text) = 10 then MaskEdit2.SetFocus; end; procedure TInputMaskForm.MaskEdit2KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if length(MaskEdit2.Text) = 2 then MaskEdit3.SetFocus; end; procedure TInputMaskForm.MaskEdit3KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if length(MaskEdit3.Text) = 1 then OkBt.SetFocus; end; procedure TInputMaskForm.OkBtClick(Sender: TObject); begin if length(Trim(MaskEdit2.Text)) = 1 then MaskEdit2.Text := '0'+MaskEdit2.Text; if (Length(Trim(MaskEdit1.Text)) <> 10) or (Length(Trim(MaskEdit2.Text)) <> 2) then begin Showmessage(_Msg('¿é¤J®æ¦¡¿ù»~')); Exit; end; ModalResult := mrOK; end; procedure TInputMaskForm.CancelBtClick(Sender: TObject); begin ModalResult := mrCancel; end; end.