Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
Re: "FileSetDate" auch für Ordner?
20. Mai 2006, 23:22
Delphi-Quellcode:
Function SetFileAge(Const FileName: AnsiString; Age: TFileTime): Boolean;
Var F: THandle;
Begin
Result := False;
F := CreateFileA(PAnsiChar(FileName), GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0);
If F = INVALID_HANDLE_VALUE Then Exit;
{CreateTime} Result := SetFileTime(F, @Age, nil, nil);
{LastAccessTime} Result := SetFileTime(F, nil, @Age, nil);
{LastWriteTime} Result := SetFileTime(F, nil, nil, @Age);
CloseHandle(F);
End;
Ich hoff ich hab's richtig übersetzt ... der Funktion kannst du Dateien, oder Verzeíchnisse (ohne ein abschliesendes "\") übergeben.
Du mußt dir nur noch raussuchen welche Zeit du ändern willst ... einfach 2 von den 3 Zeilen in der Mitte (die mit {...} am Anfang) rauslöschen
[add]
oder einfach so
Delphi-Quellcode:
Function SetFileAge(Const FileName: AnsiString; Age: Integer): Boolean;
Var F: THandle;
Begin
Result := False;
F := CreateFileA(PAnsiChar(FileName), GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE or FILE_SHARE_DELETE, nil, OPEN_EXISTING, 0, 0);
If F = INVALID_HANDLE_VALUE Then Exit;
Result := FileSetDate(F, Age) = 0;
CloseHandle(F);
End;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|