📄 searchfloatfrm.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 + -