Subversion Repositories indexer_suite

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  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.
  112.