unit UnitfrmReplace; interface uses SysUtils, Windows, Messages, Classes, Graphics, Controls, StdCtrls, ExtCtrls, Forms, TntStdCtrls, SpTBXEditors, SpTBXDkPanels, TBXDkPanels, SpTBXControls; type TfrmReplace = class(TForm) lblSearchFor: TLabel; cboSearchFor: TSpTBXComboBox; lblReplaceWith: TLabel; cboReplaceWith: TSpTBXComboBox; pnlOptions: TSpTBXGroupBox; chkCaseSensivity: TSpTBXCheckBox; chkWholeWordsOnly: TSpTBXCheckBox; chkSearchFromCaret: TSpTBXCheckBox; chkSelectedTextOnly: TSpTBXCheckBox; chkRegularExpression: TSpTBXCheckBox; pnlDirection: TSpTBXGroupBox; chkForward: TSpTBXCheckBox; chkBackward: TSpTBXCheckBox; cmdOK: TSpTBXButton; cmdCancel: TSpTBXButton; bvlReplaceAll: TBevel; chkReplaceAll: TSpTBXCheckBox; procedure FormCreate(Sender: TObject); procedure OnDirectionChange(Sender: TObject); procedure cmdOKClick(Sender: TObject); procedure FormShow(Sender: TObject); public eChange: Boolean; end; var frmReplace: TfrmReplace; implementation uses UnitLanguages; {$R *.DFM} procedure TfrmReplace.FormCreate(Sender: TObject); begin eChange := True; end; procedure TfrmReplace.OnDirectionChange(Sender: TObject); begin if not eChange then exit; eChange := False; chkForward.Checked := Sender = chkForward; chkBackward.Checked := Sender = chkBackward; eChange := True; end; procedure TfrmReplace.cmdOKClick(Sender: TObject); begin if cboSearchFor.Text = '' then MessageBox(Handle, PChar(lEnterSearchText), PChar(Application.Title), MB_ICONERROR) else begin if cboSearchFor.Items.IndexOf(cboSearchFor.Text) = -1 then cboSearchFor.Items.Add(cboSearchFor.Text); if (cboReplaceWith.Text <> '') and (cboReplaceWith.Items.IndexOf(cboReplaceWith.Text) = -1) then cboReplaceWith.Items.Add(cboReplaceWith.Text); ModalResult := mrOK; end; end; procedure TfrmReplace.FormShow(Sender: TObject); begin cboSearchFor.SetFocus; end; end.