Ich habe jetzt nach Stunden auf Google (und hier) gesucht.
Und ich kann keine Lösung finden.
Ich möchte CHANGE in DELPHI 6 die Created Dateizeit (= Erstellungsdateizeit) ändern.
Nicht die "Modified File Time" (für die ein einfacher Aufruf von "FileSetDate ()" benötigt wird) und nicht die "Zuletzt abgerufene Dateizeit".
Wie mache ich das?
Rufen Sie SetFileTime
auf Windows-API-Funktion Übergeben Sie nil
für lpLastAccessTime
und lpLastWriteTime
, wenn Sie nur die Erstellungszeit ändern möchten.
Sie müssen ein Datei-Handle erhalten, indem Sie CreateFile
oder einer der Delphi-Wrapper, daher ist dies nicht die bequemste zu verwendende API.
Machen Sie sich das Leben leichter, indem Sie den API-Aufruf in eine Hilfsfunktion einschließen, die den Dateinamen und ein TDateTime
erhält. Diese Funktion sollte die Low-Level-Details zum Abrufen und Schließen eines Datei-Handle verwalten und das TDateTime
in ein FILETIME
konvertieren.
Ich würde es so machen:
%Vor% Ich musste die Deklaration von FILE_WRITE_ATTRIBUTES
hinzufügen, weil sie in der Delphi 6 Windows Einheit nicht vorhanden ist.
Basierend auf FileSetDate
können Sie eine ähnliche Routine schreiben: