Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#55

Re: Rekursives durchsuchen und Letzten Dateizugriff auslesen

  Alt 16. Apr 2010, 14:55
Solange die Unit mit der Klasse eingebunden ist, kann ja nix schiefgehen (sonst müsste der Compiler aber auch meckern).

[edit] Kann es sein, dass da ein "end;" zuviel ist? Ich hab die Datei in PSPad offen und kann da eins nicht so recht zuordnen. Versuch es mal mit diesen Änderungen (else-Zweige hab ich jetzt einmal weggelassen):
Delphi-Quellcode:
procedure TfMDIChild.FormCreate(Sender: TObject);
var LastAccess : Array of string;
    Benutzer : string;
    List : TStringList;
    Pfad : string;
    i : Integer;
begin
  Pfad := '';
  Benutzer := TWindowsFunctions.GetUser;
  // 1. Datenbankverbindung herstellen, bwz. DB erstellen falls noch nicht existiert
  try
    fMain.UniConnection1.Connect;
  except
    MessageBox(0,'Datenbankverbindung fehlgeschlagen!','Fehler',MB_ICONWARNING);
  end;
  // 2. Wenn TypeFlag = Archiv dann Child mit VirtualExplorerTreeView erstellen
  if fMain.TypeFlag = rsArchiv then
  begin
    if fMain.UniConnection1.Connected then
    begin
      fMain.UniQuery1.SQL.Text := 'SELECT QZPfad FROM tblQuelleZiel WHERE QZQuelle = 1 AND QZBenutzer = :benutzer';
      fMain.UniQuery1.ParamByName('benutzer').Value := Benutzer;
      fMain.UniQuery1.Execute;
      Pfad := fMain.UniQuery1.FieldByName('QZPfad').Value;
    end;
    VET := TVirtualExplorerTreeview.Create(Self);
    VET.Name := 'VET';
    VET.Parent := Self;
    VET.Active := True;
    VET.Align := alClient;
    VET.CheckImageKind := ckDarkCheck;
    VET.RootFolder := rfCustom;
    VET.RootFolderCustomPath := Pfad;
    VET.TreeOptions.MiscOptions := [toAcceptOLEDrop, toCheckSupport, toEditable,
                                    toToggleOnDblClick];
    VET.OnInitNode := VETInitNode;
// end;
  // 3. Archivierungsprüfung!!
    if Pfad <> 'then
    begin
      List := TStringList.Create;
      try
        TDataWork.GetAllFilesInDirectorys(Pfad,List,true);
    // 4. LastAccessTime prüfen:
        setLength(LastAccess,List.Count);
        for i := 0 to List.Count-1 do
        begin
          LastAccess[i] := TDataWork.GetLastAccesstime(List.Strings[i]);
        end;
      finally
        FreeAndNil(List);
      end;
    end;
  // 5. Daten in die Datenbank schreiben
    if fMain.UniConnection1.Connected then
    begin

    end;
  // 6. die archivierbaren Ordner im VirtualTreeView markieren:
  // hierfür InitNode aufrufen dort wird das dann gemacht, dort muss
  // dann auch die Prüfung auf die DB gemacht werden, ob archivierbar oder nicht
  end;
end;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat