12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- unit PasswordInputFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, UtilMethods;
- type
- TPasswordInputForm = class(TForm)
- lePassword: TLabeledEdit;
- btnOk: TButton;
- btnCancel: TButton;
- imgError: TImage;
- lblWarning: TLabel;
- procedure lePasswordExit(Sender: TObject);
- procedure btnOkClick(Sender: TObject);
- procedure lePasswordKeyPress(Sender: TObject; var Key: Char);
- procedure lePasswordKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- private
- procedure CheckPassword;
- public
- end;
- function InputPassword(var APassword: string): Boolean;
- implementation
- function InputPassword(var APassword: string): Boolean;
- var
- InputForm: TPasswordInputForm;
- begin
- InputForm := TPasswordInputForm.Create(nil);
- try
- if InputForm.ShowModal = mrOk then
- begin
- Result := True;
- APassword := InputForm.lePassword.Text;
- end
- else
- Result := False;
- finally
- InputForm.Free;
- end;
- end;
- {$R *.dfm}
- procedure TPasswordInputForm.CheckPassword;
- begin
- imgError.Visible := not CheckValidPassword(lePassword.Text);
- lblWarning.Visible := not CheckValidPassword(lePassword.Text);
- end;
- procedure TPasswordInputForm.lePasswordExit(Sender: TObject);
- begin
- CheckPassword;
- end;
- procedure TPasswordInputForm.btnOkClick(Sender: TObject);
- begin
- CheckPassword;
- if CheckValidPassword(lePassword.Text) then
- ModalResult := mrOk;
- end;
- procedure TPasswordInputForm.lePasswordKeyPress(Sender: TObject;
- var Key: Char);
- begin
- if not (Key in ['a'..'z', 'A'..'Z', '0'..'9', #8, #13]) then
- Key := #0;
- end;
- procedure TPasswordInputForm.lePasswordKeyDown(Sender: TObject;
- var Key: Word; Shift: TShiftState);
- begin
- if Key = 13 then
- btnOk.Click;
- end;
- end.
|