-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConfigSetting.pas
More file actions
61 lines (48 loc) · 1.4 KB
/
Copy pathConfigSetting.pas
File metadata and controls
61 lines (48 loc) · 1.4 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
unit ConfigSetting;
interface
uses Ini;
type
TConfigSetting = class(TObject)
private
FConnectString: String;
FLogLevel: Integer;
FLogDirectory: String;
FSettingsFile: String;
public
constructor Create;
// Use the IniValue attribute on any property or field
// you want to showup in the INI File
[IniValue('Database', 'ConnectString', '')]
property Connectstring : String read FConnectString write FConnectString;
[IniValue('Logging', 'Level', '0')]
property LogLevel : Integer read FLogLevel write FLogLevel;
[IniValue('Logging', 'Directory', '')]
property LogDirectory: String read FLogDirectory write FLogDirectory;
property SettingsFile : String read FSettingsFile write FSettingsFile;
procedure Save;
procedure Load;
function ToString: string; override;
end;
implementation
uses
System.SysUtils, System.IniFiles;
{ TConfigSetting }
constructor TConfigSetting.create;
begin
FSettingsFile := ExtractFilePath(ParamStr(0)) + 'Settings.ini';
end;
procedure TConfigSetting.Load;
begin
// This loads the INI File Values into the properties
TIniPersist.Load(FSettingsFile, Self);
end;
procedure TConfigSetting.Save;
begin
// This saves the properties to the INI
TIniPersist.Save(FSettingsFile, Self);
end;
function TConfigSetting.ToString: string;
begin
Result := Connectstring + ', ' + IntToStr(LogLevel) + ', ' + LogDirectory;
end;
end.