-
Notifications
You must be signed in to change notification settings - Fork 8
/
BackupForm.pas
125 lines (114 loc) · 4.76 KB
/
BackupForm.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
{****************************************************************************}
{ }
{ FIBS Firebird-Interbase Backup Scheduler }
{ }
{ Copyright (c) 2005-2006, Talat Dogan }
{ }
{ This program is free software; you can redistribute it and/or modify it }
{ under the terms of the GNU General Public License as published by the Free }
{ Software Foundation; either version 2 of the License, or (at your option) }
{ any later version. }
{ }
{ This program is distributed in the hope that it will be useful, but }
{ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY }
{ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for}
{ more details. }
{ }
{ You should have received a copy of the GNU General Public License along }
{ with this program; if not, write to the Free Software Foundation, Inc., }
{ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA }
{ }
{ Contact : [email protected]
{ }
{****************************************************************************}
unit BackupForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Spin, CheckLst, DBCtrls,
FibsData, JvExStdCtrls, JvCheckBox, JvExExtCtrls, JvBevel;
type
TfmBackup = class(TForm)
lbBackupDir: TLabel;
lbDatabaseName: TLabel;
edBackupDir: TEdit;
edDatabaseName: TEdit;
lbUserName: TLabel;
lbPassword: TLabel;
edUserName: TEdit;
edPassword: TEdit;
lbMirrorDir1: TLabel;
edMirrorDir1: TEdit;
lbTaskName: TLabel;
edTaskName: TEdit;
lbGbakDir: TLabel;
edGbakDir: TEdit;
lbGbakOptions: TLabel;
clbGbakOptions: TCheckListBox;
lbCompressLevel: TLabel;
edCompressLevel: TEdit;
lbBackupPriority: TLabel;
edBackupPriority: TEdit;
lbMirrorDir2: TLabel;
edMirrorDir2: TEdit;
lbMirrorDir3: TLabel;
edMirrorDir3: TEdit;
edMailTo: TEdit;
lbMailTo: TLabel;
cbValidateDatabase: TJvCheckBox;
cbCreateZipBackup: TJvCheckBox;
JvBevel1: TJvBevel;
btBackupNow: TButton;
btCancel: TButton;
private
{ Private declarations }
public
{ Public declarations }
procedure LoadTask(FibsRef: TdmFibs);
class function ShowBackup(AOwner: TComponent; FibsRef: TdmFibs): Boolean;
end;
implementation
{$R *.dfm}
uses DateUtils, UDFConst, ProgressForm, UDFPresets, UDFUtils, Soap.EncdDecd,
DB;
procedure TfmBackup.LoadTask(FibsRef: TdmFibs);
var
sOptions: string;
i: Integer;
begin
Self.edTaskName.Text := UDFUtils.RemoveDatabaseSequenceTokens(FibsRef.qrTaskTASKNAME.Value);
Self.edDatabaseName.Text := UDFUtils.RemoveDatabaseSequenceTokens(FibsRef.qrTaskDBNAME.Value);
Self.edBackupDir.Text := FibsRef.qrTaskBACKUPDIR.Value;
Self.edMirrorDir1.Text := FibsRef.qrTaskMIRRORDIR.Value;
Self.edMirrorDir2.Text := FibsRef.qrTaskMIRROR2DIR.Value;
Self.edMirrorDir3.Text := FibsRef.qrTaskMIRROR3DIR.Value;
Self.edGbakDir.Text := FibsRef.qrOptionPATHTOGBAK.Value;
Self.edUserName.Text := FibsRef.qrTaskUSER.Value;
Self.edPassword.Text := Soap.EncdDecd.DecodeString(FibsRef.qrTaskPASSWORD.AsString);
Self.cbValidateDatabase.Checked := FibsRef.qrTaskDOVAL.AsBoolean;
Self.cbCreateZipBackup.Checked := FibsRef.qrTaskZIPBACKUP.AsBoolean;
Self.edCompressLevel.Text := FibsRef.qrTaskCOMPRESS.Value;
Self.edBackupPriority.Text := FibsRef.qrOptionBPRIORTY.Value;
Self.edMailTo.Text := FibsRef.qrTaskMAILTO.Value;
sOptions := FibsRef.qrTaskBOPTIONS.Value;
for i := 0 to TotalGBakOptions - 1 do
if (sOptions[i + 1] = '1') then
Self.clbGbakOptions.State[i] := cbChecked
else
Self.clbGbakOptions.State[i] := cbUnChecked;
end;
class function TfmBackup.ShowBackup(AOwner: TComponent;
FibsRef: TdmFibs): Boolean;
var
fmBackup: TfmBackup;
begin
Result := False;
fmBackup := TfmBackup.Create(AOwner);
try
fmBackup.LoadTask(FibsRef);
Result := fmBackup.ShowModal = mrOk;
finally
fmBackup.Release;
end;
end;
end.