-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.pas
98 lines (82 loc) · 3.26 KB
/
config.pas
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
unit config;
{$M+}
interface
uses Windows, SysUtils, Classes, iniFiles;
type TConfiguration = class
private
Fic: TIniFile;
FDestinationFolder: string;
FFormatFileName: string;
FDataBaseFolder: string;
FStockNull: Boolean;
FDestinationFolderWeb: string;
FFmtZeroDisc: string;
FFmtLTenDisc: string;
FFmtMTenDisc: string;
FMajPxWeb: Boolean;
FFieldLinkEAN: string;
procedure Read;
procedure Write;
public
constructor Create(const FileName: string); reintroduce;
destructor Destroy; override;
published
property DataBaseFolder: string read FDataBaseFolder write FDatabaseFolder;
property DestinationFolder: string read FDestinationFolder write FDestinationFolder;
property DestinationFolderWeb: string read FDestinationFolderWeb write FDestinationFolderWeb;
property FormatFileName: string read FFormatFileName write FFormatFileName;
property StockNull: Boolean read FStockNull write FStockNull;
property MajPxWeb: Boolean read FMajPxWeb write FMajPxWeb;
property FmtZeroDisc: string read FFmtZeroDisc write FFmtZeroDisc;
property FmtLTenDisc: string read FFmtLTenDisc write FFmtLTenDisc;
property FmtMTenDisc: string read FFmtMTenDisc write FFmtMTenDisc;
property FieldLinkEAN: string read FFieldLinkEAN write FFieldLinkEAN;
end;
var v_config: TConfiguration = nil;
implementation
{ TConfiguration }
constructor TConfiguration.Create(const FileName: string);
begin
inherited Create;
Fic:= TIniFile.Create(FileName);
Read;
end;
destructor TConfiguration.Destroy;
begin
Write;
FreeAndNil(Fic);
inherited;
end;
procedure TConfiguration.Read;
begin
FDataBaseFolder := Fic.ReadString('config', 'database', '');
FDestinationFolder:= Fic.ReadString('config', 'destination', '');
FDestinationFolderWeb:= Fic.ReadString('config', 'destinationWeb', '');
FFormatFileName := Fic.ReadString('config', 'formatfilename', 'products-%YYYYMMDD%-%HHNN%.csv');
FStockNull := Fic.ReadBool('config', 'stocknull', False);
FMajPxWeb := Fic.ReadBool('config', 'majpxweb', False);
FFmtZeroDisc := Fic.ReadString('config', 'FmtZeroDisc', '0');
FFmtLTenDisc := Fic.ReadString('config', 'FmtLTenDisc', '4');
FFmtMTenDisc := Fic.ReadString('config', 'FmtMTenDisc', '6');
FFieldLinkEAN := Fic.ReadString('config', 'FieldLinkEAN', 'cnk');
if FFieldLinkEAN='' then
FFieldLinkEAN:= 'cnk';
end;
procedure TConfiguration.Write;
begin
Fic.WriteString('config', 'database', FDataBaseFolder);
Fic.WriteString('config', 'destination', FDestinationFolder);
Fic.WriteString('config', 'destinationWeb', FDestinationFolderWeb);
Fic.WriteString('config', 'formatfilename', FFormatFileName);
Fic.WriteBool ('config', 'stocknull', FStocknull);
Fic.WriteBool ('config', 'majpxweb', FMajPxWeb);
Fic.WriteString('config', 'FmtZeroDisc', FFmtZeroDisc);
Fic.WriteString('config', 'FmtLTenDisc', FFmtLTenDisc);
Fic.WriteString('config', 'FmtMTenDisc', FFmtMTenDisc);
Fic.ReadString('config', 'FieldLinkEAN', FFieldLinkEAN);
end;
initialization
v_config:= TConfiguration.Create(ChangeFileExt(ParamStr(0), '.config'));
finalization
FreeAndnil(v_config);
end.