Subversion Repositories indexer_suite

Rev

Rev 2 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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