data utworzenia

0

Witam wszystkich

Chciałby się dowiedzić jak moge programowo zmienić date utworzenia pliku. Pozdrawiam i z góry dziękuję.

0

Funkcja WinAPI, SetFileTime. (opisana ładnie w helpie...)
Najpierw przyda się taka funkcja:

function DateTimeToFileTime(date:TDateTime):FILETIME;
var temp:SYSTEMTIME;
begin
 DateTimeToSystemTime(date,temp);
 SystemTimeToFileTime(temp,result);
end;

i teraz główny kod:

var f:hfile;
    os:TOFSTRUCT;
    ct,mt,at:FileTime;
    temp:SYSTEMTIME;
begin
 f:=OpenFile('c:\plik.txt',os,OF_READWRITE);
 ct:=DateTimeToFileTime(now);
 mt:=DateTimeToFileTime(now);
 at:=DateTimeToFileTime(now);
 SetFileTime(f,@ct,@mt,@at);
 _lclose(f);
end;

I, jeśli za @ct, @mt, @AT damy nil, to ten czas pliku się nie zmieni (ct - czas utworzenia, mt - modyfikacji, at - ostatniego użycia)

1 użytkowników online, w tym zalogowanych: 0, gości: 1