{*******************************************************} { } { Responsive Software http://www.responsive.co.nz } { } { Copyright (c) 2003-2006 Responsive Software Limited } { } {*******************************************************} unit PromptUserNamePassword; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Base, Grids, StdCtrls, Buttons; type TPromptUserNamePasswordForm = class(TBaseForm) Label2: TLabel; Label3: TLabel; PasswordEdit: TEdit; UserNameEdit: TEdit; OkBitBtn: TBitBtn; CancelBitBtn: TBitBtn; procedure FormShow(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure PasswordEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure UserNameEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure OkBitBtnClick(Sender: TObject); private { Private declarations } public { Public declarations } UserName : string; Password : string; function Prompt : boolean; end; var PromptUserNamePasswordForm: TPromptUserNamePasswordForm; implementation {$R *.dfm} function TPromptUserNamePasswordForm.Prompt : boolean; begin Result := (ShowModal = mrOk); end; procedure TPromptUserNamePasswordForm.FormShow(Sender: TObject); begin UserNameEdit.Text := UserName; PasswordEdit.Text := ''; UserNameEdit.SelectAll; UserNameEdit.SetFocus; end; procedure TPromptUserNamePasswordForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then begin Close; Key := 0; end; end; procedure TPromptUserNamePasswordForm.PasswordEditKeyDown( Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin UserName := Trim(UserNameEdit.Text); Password := Trim(PasswordEdit.Text); ModalResult := mrOk; Key := 0; end; end; procedure TPromptUserNamePasswordForm.UserNameEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin if Trim(TEdit(Sender).Text) = '' then Exit; GoToNextControl; Key := 0; end; end; procedure TPromptUserNamePasswordForm.OkBitBtnClick(Sender: TObject); begin UserName := Trim(UserNameEdit.Text); Password := Trim(PasswordEdit.Text); end; end.