Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | daniel-mar | 1 | unit MainForm; |
2 | |||
3 | // TODO: viele funktionen: (ggf auch per kontextmenü im explorer) |
||
4 | // - öffnen der datei, wenn datenträger online ist |
||
5 | // - anzeigen von eigenschaften |
||
6 | // - schauen ob es die dateiprüfsumme noch woanders gibt |
||
7 | // - welche dateien in A und welche in B? |
||
8 | // - Alle Fehler zeigen |
||
9 | // - Statistik (Anzahl Dateien etc) |
||
10 | |||
11 | interface |
||
12 | |||
13 | uses |
||
14 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, |
||
15 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Menus, Data.DB, |
||
16 | Data.Win.ADODB, IniFiles; |
||
17 | |||
18 | type |
||
19 | TfrmMain = class(TForm) |
||
20 | MainMenu1: TMainMenu; |
||
21 | OfflineExplorer1: TMenuItem; |
||
22 | RedundancyVerifier1: TMenuItem; |
||
23 | IndexCreator1: TMenuItem; |
||
24 | ADOConnection1: TADOConnection; |
||
25 | Finder1: TMenuItem; |
||
26 | procedure OfflineExplorer1Click(Sender: TObject); |
||
27 | procedure RedundancyVerifier1Click(Sender: TObject); |
||
28 | procedure IndexCreator1Click(Sender: TObject); |
||
29 | procedure Finder1Click(Sender: TObject); |
||
30 | procedure FormDestroy(Sender: TObject); |
||
31 | procedure FormCreate(Sender: TObject); |
||
32 | private |
||
33 | FTableName: string; |
||
34 | public |
||
35 | ini: TMemIniFile; |
||
36 | property TableName: string read FTableName; |
||
37 | end; |
||
38 | |||
39 | var |
||
40 | frmMain: TfrmMain; |
||
41 | |||
42 | implementation |
||
43 | |||
44 | {$R *.dfm} |
||
45 | |||
46 | uses |
||
47 | ExplorerForm, RedundancyForm, IndexCreatorForm, FinderForm; |
||
48 | |||
49 | procedure TfrmMain.FormCreate(Sender: TObject); |
||
50 | var |
||
51 | iniFilename: string; |
||
52 | begin |
||
53 | iniFilename := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'VtsFileIndexerSuite.ini'; |
||
54 | if FileExists(iniFilename) then |
||
55 | begin |
||
56 | ini := TMemIniFile.Create(iniFilename); |
||
57 | |||
58 | FTableName := ini.ReadString('IndexerSuite', 'TableName', 'files'); |
||
59 | Caption := Caption + Format(' [%s]', [FTableName]); |
||
60 | |||
3 | daniel-mar | 61 | ADOConnection1.CommandTimeout := ini.ReadInteger('IndexerSuite', 'CommandTimeout', 5*60); |
2 | daniel-mar | 62 | ADOConnection1.ConnectionString := ini.ReadString('IndexerSuite', 'ConnectionString', ''); |
63 | if ADOConnection1.ConnectionString = '' then |
||
64 | begin |
||
65 | ShowMessage('Please define a ConnectionString in the INI file.'); |
||
66 | Close; |
||
67 | Exit; |
||
68 | end; |
||
69 | try |
||
70 | ADOConnection1.Connected := true; |
||
71 | except |
||
72 | on E: Exception do |
||
73 | begin |
||
74 | ShowMessage('Cannot connect to the database: ' + E.Message); |
||
75 | Close; |
||
76 | Exit; |
||
77 | end; |
||
78 | end; |
||
79 | end |
||
80 | else |
||
81 | begin |
||
82 | ShowMessageFmt('%s not found', [iniFilename]); |
||
83 | Close; |
||
84 | end; |
||
85 | end; |
||
86 | |||
87 | procedure TfrmMain.FormDestroy(Sender: TObject); |
||
88 | begin |
||
89 | FreeAndNil(ini); |
||
90 | end; |
||
91 | |||
92 | procedure TfrmMain.IndexCreator1Click(Sender: TObject); |
||
93 | begin |
||
94 | TfrmIndexCreator.Create(self); |
||
95 | end; |
||
96 | |||
97 | procedure TfrmMain.OfflineExplorer1Click(Sender: TObject); |
||
98 | begin |
||
99 | TfrmExplorer.Create(Self); |
||
100 | end; |
||
101 | |||
102 | procedure TfrmMain.Finder1Click(Sender: TObject); |
||
103 | begin |
||
104 | TfrmFinder.Create(Self); |
||
105 | end; |
||
106 | |||
107 | procedure TfrmMain.RedundancyVerifier1Click(Sender: TObject); |
||
108 | begin |
||
109 | TfrmRedundancy.Create(Self); |
||
110 | end; |
||
111 | |||
112 | end. |