-
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathGatewaySettings.pas
More file actions
119 lines (97 loc) · 3.76 KB
/
Copy pathGatewaySettings.pas
File metadata and controls
119 lines (97 loc) · 3.76 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 GatewaySettings;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, SettingsForm, AdvSmoothButton,
AdvOfficeButtons, Vcl.StdCtrls, Vcl.ExtCtrls, AdvPanel, Miscellaneous;
type
TfrmGatewaySettings = class(TfrmSettings)
Label1: TLabel;
edtHost: TEdit;
Label2: TLabel;
edtPort: TEdit;
Label3: TLabel;
edtFrequency1: TEdit;
Label4: TLabel;
edtMode1: TEdit;
Label5: TLabel;
edtFrequency2: TEdit;
Label6: TLabel;
edtMode2: TEdit;
chkAFC1: TAdvOfficeCheckBox;
chkAFC2: TAdvOfficeCheckBox;
procedure edtHostChange(Sender: TObject);
private
{ Private declarations }
protected
procedure ApplyChanges; override;
procedure LoadFields; override;
procedure SaveFields; override;
public
{ Public declarations }
end;
var
frmGatewaySettings: TfrmGatewaySettings;
implementation
{$R *.dfm}
uses Data, Misc;
procedure TfrmGatewaySettings.ApplyChanges;
begin
// Send settings to source
SetSettingString(Group, 'Host', edtHost.Text);
SetSettingInteger(Group, 'Port', StrToIntDef(edtPort.Text, 0));
SetSettingString(Group, 'Frequency_0', MyFormatFloat('0.0000', MyStrToFloat(edtFrequency1.Text)));
SetSettingInteger(Group, 'Mode_0', StrToIntDef(edtMode1.Text, 0));
SetSettingBoolean(Group, 'AFC_0', chkAFC1.Checked);
SetSettingString(Group, 'Frequency_1', MyFormatFloat('0.0000', MyStrToFloat(edtFrequency2.Text)));
SetSettingInteger(Group, 'Mode_1', StrToIntDef(edtMode2.Text, 0));
SetSettingBoolean(Group, 'AFC_1', chkAFC2.Checked);
// Tell source things have changed
inherited;
end;
procedure TfrmGatewaySettings.edtHostChange(Sender: TObject);
begin
btnSave.Enabled := True;
end;
procedure TfrmGatewaySettings.LoadFields;
var
Settings: String;
begin
inherited;
with DataModule1.tblSources do begin
edtHost.Text := FieldByName('Host').AsString;
edtPort.Text := IntToStr(StrToIntDef(FieldByName('Port').AsString, 6004));
Settings := ';' + FieldByName('Settings').AsString;
if GetSetting('Frequency_0', Settings) = '' then begin
edtFrequency1.Text := '434.225';
edtMode1.Text := '1';
end else begin
edtFrequency1.Text := MyFormatFloat('0.0000', MyStrToFloat(GetSetting('Frequency_0', Settings)));
edtMode1.Text := GetSetting('Mode_0', Settings);
end;
chkAFC1.Checked := GetBooleanSetting('AFC_0', Settings);
if GetSetting('Frequency_0', Settings) = '' then begin
edtFrequency2.Text := '434.450';
edtMode2.Text := '1';
end else begin
edtFrequency2.Text := MyFormatFloat('0.0000', MyStrToFloat(GetSetting('Frequency_1', Settings)));
edtMode2.Text := GetSetting('Mode_1', Settings);
end;
chkAFC2.Checked := GetBooleanSetting('AFC_1', Settings);
end;
end;
procedure TfrmGatewaySettings.SaveFields;
begin
inherited;
with DataModule1.tblSources do begin
FieldByName('Host').AsString := edtHost.Text;
FieldByName('Port').AsString := edtPort.Text;
FieldByName('Settings').AsString := 'Frequency_0=' + MyFormatFloat('0.0000', MyStrToFloat(edtFrequency1.Text)) + ';' +
'Mode_0=' + edtMode1.Text + ';' +
'AFC_0=' + BoolToStr(chkAFC1.Checked, True) + ';' +
'Frequency_1=' + MyFormatFloat('0.0000', MyStrToFloat(edtFrequency2.Text)) + ';' +
'Mode_1=' + edtMode2.Text + ';' +
'AFC_1=' + BoolToStr(chkAFC2.Checked, True);
end;
end;
end.