frmdrawreportdesignfindreplaceunt.pas

来自「EAComps手工画报表 对写报表编辑器有一定的参考价值」· PAS 代码 · 共 136 行

PAS
136
字号
unit frmDrawReportDesignFindReplaceUnt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, EAReportPmm;

type
  TDrdFindReplace = (dfrFind, dfrReplace);
  TDrawReportDesignFindReplaceParam = record
    DrdFindReplace: TDrdFindReplace;
    FindDrawReport: TEAReportPmm;
  end;

  TfrmDrawReportDesignFindReplace = class(TForm)
    btnOk: TButton;
    btnCancel: TButton;
    gb3: TGroupBox;
    rdoCurrPage: TRadioButton;
    rdoAllPage: TRadioButton;
    gb1: TGroupBox;
    chkCaseSensitive: TCheckBox;
    chkWholeWordsOnly: TCheckBox;
    gb2: TGroupBox;
    rdoForward: TRadioButton;
    rdoBackward: TRadioButton;
    cboFindText: TComboBox;
    labFindText: TLabel;
    cboReplaceText: TComboBox;
    labReplace: TLabel;
    btnFindNext: TButton;
    procedure btnCancelClick(Sender: TObject);
  private
    FParam: TDrawReportDesignFindReplaceParam;
    
    procedure InitData;
    procedure SetData(AParam: TDrawReportDesignFindReplaceParam);

{    procedure AddTextToList;}
  public
    { Public declarations }
  end;

  procedure ShowDrawReportDesignFindReplaceDlg(AParam: TDrawReportDesignFindReplaceParam);
  procedure HideDrawReportDesignFindReplaceDlg;
  procedure FreeDrawReportDesignFindReplaceDlg;

var
  frmDrawReportDesignFindReplace: TfrmDrawReportDesignFindReplace;

implementation
uses
  EASysUtils;
{$R *.dfm}

procedure ShowDrawReportDesignFindReplaceDlg(AParam: TDrawReportDesignFindReplaceParam);
begin
  if frmDrawReportDesignFindReplace = nil then
    frmDrawReportDesignFindReplace := TfrmDrawReportDesignFindReplace.Create(Application);
  with frmDrawReportDesignFindReplace do
  begin
    SetData(AParam);
    InitData;
    Show;
  end;
end;

procedure HideDrawReportDesignFindReplaceDlg;
begin
  if frmDrawReportDesignFindReplace <> nil then
    frmDrawReportDesignFindReplace.Hide;
end;

procedure FreeDrawReportDesignFindReplaceDlg;
begin
  if frmDrawReportDesignFindReplace <> nil then
    FreeAndNil(frmDrawReportDesignFindReplace);
end;

{ TfrmDrawReportDesignFindReplace }
{procedure TfrmDrawReportDesignFindReplace.AddTextToList;
var
  vStr: string;
begin
  vStr := Trim(cboFindText.Text);
  if ea.Str.FindListValue(vStr, cboFindText.Items) = -1 then
    cboFindText.Items.Add(vStr);
  vStr := Trim(cboReplaceText.Text);
  if ea.Str.FindListValue(vStr, cboReplaceText.Items) = -1 then
    cboReplaceText.Items.Add(vStr);
end;}

procedure TfrmDrawReportDesignFindReplace.InitData;
begin
  if FParam.DrdFindReplace = dfrFind then
  begin
    Self.Caption := '查找';
    Self.Height := 240;
    gb1.Top := 35;
    gb2.Top := 35;
    gb3.Top := 105;
    btnOk.Top := 181;
    btnFindNext.Top := 181;
    btnCancel.Top := 181;
    labReplace.Visible := False;
    cboReplaceText.Visible := False;
  end
  else begin
    Self.Caption := '替换(&R)';
    btnOk.Caption := '全部替换(&A)';
    Self.Height := 264;
    gb1.Top := 59;
    gb2.Top := 59;
    gb3.Top := 129;
    btnOk.Top := 205;
    btnFindNext.Top := 205;
    btnCancel.Top := 205;
    labReplace.Visible := True;
    cboReplaceText.Visible := True;
  end;
end;

procedure TfrmDrawReportDesignFindReplace.SetData(
  AParam: TDrawReportDesignFindReplaceParam);
begin
  FParam := AParam;
end;

procedure TfrmDrawReportDesignFindReplace.btnCancelClick(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?