6 FunctionsClass
, ResourcesClass
,
7 Classes
, Controls
, Forms
, Graphics
, StdCtrls
;
13 TFLoatEdit
= class(TForm
)
15 pChange
, pCancel
: TButton
;
17 pFloatEdit
, pHexEdit
: TEdit
;
18 pFloatLabel
, pHexLabel
: TLabel
;
22 procedure pFloatChange(Sender
: TObject
); virtual;
23 procedure pHexChange(Sender
: TObject
); virtual;
24 procedure pOnShow(Sender
: TObject
); virtual;
26 constructor Create(AOwner
: TComponent
); override;
27 function ShowBox(Input
: Pointer; Size
: Integer): Boolean; overload
; virtual;
28 function ShowBox(Input
: Pointer; Size
: Integer; var Check
: Boolean): Boolean; overload
; virtual;
33 // ************************************************************************** //
34 // * TFLoatEdit implementation * //
35 // ************************************************************************** //
37 procedure TFLoatEdit
.pFloatChange(Sender
: TObject
);
39 if not pUserChange
then Exit
;
41 CustomStrToFloat(pFloatEdit
.Text, pFP
, pSize
);
42 pHexEdit
.Text := CustomDataToHex(pFP
, pSize
);
46 procedure TFLoatEdit
.pHexChange(Sender
: TObject
);
48 if not pUserChange
then Exit
;
50 CustomHexToData(pHexEdit
.Text, pFP
, pSize
);
51 pFloatEdit
.Text := CustomFloatToStr(pFP
, pSize
);
55 procedure TFLoatEdit
.pOnShow(Sender
: TObject
);
57 pFloatEdit
.Text := CustomFloatToStr(pFP
, pSize
);
61 constructor TFLoatEdit
.Create(AOwner
: TComponent
);
63 inherited CreateNew(AOwner
, 0);
64 Position
:= poDesktopCenter
;
67 BorderStyle
:= bsDialog
;
69 pChange
:= TButton
.Create(Self
);
73 Caption
:= FL_EDIT_OK
;
81 pCancel
:= TButton
.Create(Self
);
85 Caption
:= FL_EDIT_CANCEL
;
90 ModalResult
:= mrCancel
;
93 pCheckBox
:= TCheckBox
.Create(Self
);
97 Caption
:= FL_EDIT_MODIFY_TAG
;
103 pFloatEdit
:= TEdit
.Create(Self
);
111 OnChange
:= pFloatChange
;
113 pHexEdit
:= TEdit
.Create(Self
);
121 OnChange
:= pHexChange
;
123 pFloatLabel
:= TLabel
.Create(Self
);
127 Caption
:= FL_EDIT_FLOAT
;
133 pHexLabel
:= TLabel
.Create(Self
);
137 Caption
:= FL_EDIT_HEX
;
146 function TFLoatEdit
.ShowBox(Input
: Pointer; Size
: Integer): Boolean;
151 Result
:= ShowBox(Input
, Size
, lcheck
);
154 function TFLoatEdit
.ShowBox(Input
: Pointer; Size
: Integer; var Check
: Boolean
160 pCheckBox
.Checked
:= True;
161 pCheckBox
.Visible
:= True;
164 pCheckBox
.Visible
:= False;
166 if (Size
in [4, 8, 10]) then
169 if (ShowModal
= mrOk
) then Result
:= True;
170 Check
:= pCheckBox
.Checked
;