{*******************************************************} { } { Responsive Software http://www.responsive.co.nz } { } { Copyright (c) 2003-2006 Responsive Software Limited } { } {*******************************************************} unit PromptSearchString; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Base, Grids, StdCtrls, Buttons; type TPromptSearchStringForm = class(TBaseForm) OkBitBtn: TBitBtn; CancelBitBtn: TBitBtn; Label2: TLabel; LastNameSearchStringEdit: TEdit; Label1: TLabel; AddressSearchStringEdit: TEdit; Label3: TLabel; PhoneNumberSearchStringEdit: TEdit; Label4: TLabel; FirstNameSearchStringEdit: TEdit; procedure FormShow(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure OkBitBtnClick(Sender: TObject); procedure SearchStringEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } LastNameSearchString : string; FirstNameSearchString : string; AddressSearchString : string; PhoneNumberSearchString : string; function Prompt : boolean; end; var PromptSearchStringForm: TPromptSearchStringForm; implementation {$R *.dfm} function TPromptSearchStringForm.Prompt : boolean; begin Result := (ShowModal = mrOk); end; procedure TPromptSearchStringForm.OkBitBtnClick(Sender: TObject); begin LastNameSearchString := LastNameSearchStringEdit.Text; FirstNameSearchString := FirstNameSearchStringEdit.Text; AddressSearchString := AddressSearchStringEdit.Text; PhoneNumberSearchString := PhoneNumberSearchStringEdit.Text; end; procedure TPromptSearchStringForm.FormShow(Sender: TObject); begin // SearchStringEdit.Text := ''; if LastNameSearchStringEdit.Text <> '' then begin LastNameSearchStringEdit.SetFocus; LastNameSearchStringEdit.SelectAll; end else if FirstNameSearchStringEdit.Text <> '' then begin FirstNameSearchStringEdit.SetFocus; FirstNameSearchStringEdit.SelectAll; end else if AddressSearchStringEdit.Text <> '' then begin AddressSearchStringEdit.SetFocus; AddressSearchStringEdit.SelectAll; end else if PhoneNumberSearchStringEdit.Text <> '' then begin PhoneNumberSearchStringEdit.SetFocus; PhoneNumberSearchStringEdit.SelectAll; end else LastNameSearchStringEdit.SetFocus; end; procedure TPromptSearchStringForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then begin Close; Key := 0; end; end; procedure TPromptSearchStringForm.SearchStringEditKeyDown( Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin // if Trim(TEdit(Sender).Text) = '' then // Exit; LastNameSearchString := LastNameSearchStringEdit.Text; FirstNameSearchString := FirstNameSearchStringEdit.Text; AddressSearchString := AddressSearchStringEdit.Text; PhoneNumberSearchString := PhoneNumberSearchStringEdit.Text; ModalResult := mrOk; Key := 0; end; end; end.