Programowanie w języku Delphi » FAQ

Jak zmienić datę modyfikacji pliku

Na początek procedura:

procedure FSetFileTime(FFile : String; Data : String);
var
  Age, FHandle: integer;
  LocalFileTime, FileTime: TFileTime;
  F: File;
begin
  if FileExists(FFile) then
  begin
    AssignFile(F, FFile);
    Reset(F);
    try
      Age := DateTimeToFileDate(StrToDateTime(Data));
      FHandle := TFileRec(F).Handle;
      DosDateTimeToFileTime(LongRec(Age).Hi, LongRec(Age).Lo,
        LocalFileTime);
      LocalFileTimeToFileTime(LocalFileTime, FileTime);
      SetFileTime(FHandle, nil, nil, @FileTime); {ustawia datę ostatniej modifikacji }
    finally
      CloseFile(F);
    end;
  end else
    ShowMessage('Błąd! Plik nie istnieje!');
end;
Teraz żeby zmienić datę piszesz:

  FSetFileTime('C:Delphi.zip', '01-01-01');

W tym wypadku na 01-01-2001 r.


1 komentarz

cincin 2005-07-29 17:53

a da się mienić date utworzenia?