⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchfloatfrm.pas

📁 MiniHex 1.1 源程序说明 “MiniHex11SrcSource”目录中的所有文件是MiniHex 1.1的主程序; “MiniHex11SrcControls”目录中的是该软件
💻 PAS
字号:
unit SearchFloatFrm;

interface

uses
  Windows, Messages, SysUtils, Classes,
  Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Search;

type
  TSearchFloatData = record
     Para: TSearchFloatPara;
  end;

  TSearchFloatForm = class(TForm)
    Label1: TLabel;
    ValueComboBox: TComboBox;
    GroupBox2: TGroupBox;
    OnlyBlockCheckBox: TCheckBox;
    AllDocCheckBox: TCheckBox;
    SearchButton: TButton;
    CancelButton: TButton;
    HelpButton: TButton;
    DefaultButton: TButton;
    TypeRadioGroup: TRadioGroup;
    GroupBox1: TGroupBox;
    BlurEdit: TEdit;
    Label2: TLabel;
    BlurCheckBox: TCheckBox;
    procedure SearchButtonClick(Sender: TObject);
    procedure CancelButtonClick(Sender: TObject);
    procedure HelpButtonClick(Sender: TObject);
    procedure DefaultButtonClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    function CheckValid: Boolean;
  public
    { Public declarations }
    procedure GetData(var Value: TSearchFloatData);

  end;

var
  SearchFloatForm: TSearchFloatForm;

function ShowSearchFloatForm(var Value: TSearchFloatData): Boolean;

implementation

{$R *.DFM}

uses
  Misc;

function ShowSearchFloatForm(var Value: TSearchFloatData): Boolean;
begin
  Result := (SearchFloatForm.ShowModal = mrOk);
  if Result then SearchFloatForm.GetData(Value);
end;

procedure TSearchFloatForm.GetData(var Value: TSearchFloatData);
begin
  Value.Para.Value := StrToFloat(ValueComboBox.Text);
  Value.Para.FloatType := TFloatType(TypeRadioGroup.ItemIndex);
  Value.Para.Blur := BlurCheckBox.Checked;
  Value.Para.BlurValue := StrToFloat(BlurEdit.Text);
  Value.Para.OnlyBlock := OnlyBlockCheckBox.Checked;
  Value.Para.AllDoc := AllDocCheckBox.Checked;
end;

function TSearchFloatForm.CheckValid: Boolean;
begin
  Result := True;
  if ValueComboBox.Text = '' then
  begin
    Result := False;
    ValueComboBox.SetFocus;
    Exit;
  end;
  if not IsFloat(ValueComboBox.Text) then
  begin
    Result := False;
    MessageBox(Handle, '浮点数非法。', '提示', 48);
    ValueComboBox.SetFocus;
    Exit;
  end;
  if not IsFloat(BlurEdit.Text) then
  begin
    Result := False;
    MessageBox(Handle, '浮点数非法。', '提示', 48);
    BlurEdit.SetFocus;
    Exit;
  end;
end;

procedure TSearchFloatForm.SearchButtonClick(Sender: TObject);
begin
  if CheckValid then
  begin
    ValueComboBox.Items.Insert(0, ValueComboBox.Text);
    ModalResult := mrOk;
  end;
end;

procedure TSearchFloatForm.CancelButtonClick(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

procedure TSearchFloatForm.HelpButtonClick(Sender: TObject);
begin
//
end;

procedure TSearchFloatForm.DefaultButtonClick(Sender: TObject);
begin
  ValueComboBox.Text := '';
  TypeRadioGroup.ItemIndex := 0;
  BlurCheckBox.Checked := False;
  BlurEdit.Text := '0.001';
  OnlyBlockCheckBox.Checked := False;
  AllDocCheckBox.Checked := False;
end;

procedure TSearchFloatForm.FormActivate(Sender: TObject);
begin
  ValueComboBox.SetFocus;
end;

end.

⌨️ 快捷键说明

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