Subversion Repositories indexer_suite

Rev

Go to most recent revision | Details | 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
 
61
    ADOConnection1.ConnectionString := ini.ReadString('IndexerSuite', 'ConnectionString', '');
62
    if ADOConnection1.ConnectionString = '' then
63
    begin
64
      ShowMessage('Please define a ConnectionString in the INI file.');
65
      Close;
66
      Exit;
67
    end;
68
    try
69
      ADOConnection1.Connected := true;
70
    except
71
      on E: Exception do
72
      begin
73
        ShowMessage('Cannot connect to the database: ' + E.Message);
74
        Close;
75
        Exit;
76
      end;
77
    end;
78
  end
79
  else
80
  begin
81
    ShowMessageFmt('%s not found', [iniFilename]);
82
    Close;
83
  end;
84
end;
85
 
86
procedure TfrmMain.FormDestroy(Sender: TObject);
87
begin
88
  FreeAndNil(ini);
89
end;
90
 
91
procedure TfrmMain.IndexCreator1Click(Sender: TObject);
92
begin
93
  TfrmIndexCreator.Create(self);
94
end;
95
 
96
procedure TfrmMain.OfflineExplorer1Click(Sender: TObject);
97
begin
98
  TfrmExplorer.Create(Self);
99
end;
100
 
101
procedure TfrmMain.Finder1Click(Sender: TObject);
102
begin
103
  TfrmFinder.Create(Self);
104
end;
105
 
106
procedure TfrmMain.RedundancyVerifier1Click(Sender: TObject);
107
begin
108
  TfrmRedundancy.Create(Self);
109
end;
110
 
111
end.