Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateieigenschaften » Dateidatum ändern
Dateidatum ändern
Das Dateidatum, das auch im Windows-Explorer zu sehen ist, kann programmseitig geändert werden. Folgende Funktion übernimmt diese Aufgabe. Als Parameter erwartet sie den Dateinamen mit Pfad sowie das neue Datum im TDateTime-Format. Nach erfolgreichem Ausführen gibt die Funktion True zurück, ansonsten False.
uses SysUtils; function SetFileDate(const FileName: string; NewDate: TDateTime): Boolean; var FileDate, FileHandle: Integer; begin result := false; FileDate := DateTimeToFileDate(NewDate); FileHandle := FileOpen(FileName, fmOpenReadWrite or fmShareDenyWrite); if FileHandle > 0 then begin if FileSetDate(FileHandle, FileDate) = 0 then result:=true; FileClose(FileHandle); end; end;
Beispielaufruf: Folgender Code ruft obige Funktion auf. Dabei wird der Datei C:tmpunit2.pas das neue Datum „10. Oktober 2003 Punkt 0 Uhr“ verpasst. Die Funktion EncodeDateTime, die in der Unit DateUtils definiert ist, baut aus den Einzelwerten von Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde einen TDateTime-Wert zusammen, der für den Funktionsaufruf benötigt wird.
uses DateUtils; procedure TForm1.Button1Click(Sender: TObject); begin if SetFileDate('c:tmpunit2.pas', EncodeDateTime(2003, 10, 1, 0, 0, 0, 0)) then ShowMessage('OK!') else ShowMessage('Fehler!'); end;