-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathSettingsBase.pas
More file actions
119 lines (96 loc) · 2.52 KB
/
Copy pathSettingsBase.pas
File metadata and controls
119 lines (96 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
unit SettingsBase;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
Base, FMX.Objects, FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo,
Miscellaneous, FMX.TMSCustomEdit, FMX.TMSEdit, FMX.Memo.Types;
type
TfrmSettingsBase = class(TfrmBase)
Panel1: TPanel;
Rectangle3: TRectangle;
Panel3: TPanel;
Rectangle1: TRectangle;
Memo1: TMemo;
Panel2: TPanel;
btnApply: TLabel;
btnCancel: TLabel;
tmrLoadSettings: TTimer;
procedure btnCancelClick(Sender: TObject);
procedure btnApplyClick(Sender: TObject);
procedure tmrLoadSettingsTimer(Sender: TObject);
private
{ Private declarations }
protected
Loading: Boolean;
Group: String;
procedure ApplyChanges; virtual;
procedure CancelChanges; virtual;
procedure SetingsHaveChanged;
public
{ Public declarations }
procedure LoadForm; override;
procedure FixFloatEditBox(EditBox: TTMSFMXEdit);
end;
implementation
{$R *.fmx}
uses Main;
procedure TfrmSettingsBase.btnApplyClick(Sender: TObject);
begin
ApplyChanges;
end;
procedure TfrmSettingsBase.btnCancelClick(Sender: TObject);
begin
CancelChanges;
end;
procedure TfrmSettingsBase.ApplyChanges;
begin
SetGroupChangedFlag(Group, True);
btnApply.Enabled := False;
btnCancel.Enabled := False;
end;
procedure TfrmSettingsBase.CancelChanges;
begin
btnApply.Enabled := False;
btnCancel.Enabled := False;
end;
procedure TfrmSettingsBase.LoadForm;
begin
Loading := True;
inherited;
tmrLoadSettings.Enabled := True;
Loading := False;
end;
procedure TfrmSettingsBase.SetingsHaveChanged;
begin
if not Loading then begin
btnApply.Enabled := True;
btnCancel.Enabled := True;
end;
end;
procedure TfrmSettingsBase.tmrLoadSettingsTimer(Sender: TObject);
begin
tmrLoadSettings.Enabled := False;
CancelChanges;
end;
procedure TfrmSettingsBase.FixFloatEditBox(EditBox: TTMSFMXEdit);
var
Before, After: String;
Character: Char;
i: Integer;
begin
Before := EditBox.Text;
After := '';
for i := Low(Before) to High(Before) do begin
Character := Before[i]; // Copy(Before, i, 1);
if Character in [',', '.'] then begin
After := After + '.';
end else if Character in ['0'..'9'] then begin
After := After + Character;
end;
end;
if After <> Before then begin
EditBox.Text := After;
end;
end;
end.