Как выяснить дату создания файла?

Материал из DRKB

Как выяснить дату создания файла?[править | править код]

Попробуйте следующую функцию, которая не требует вызова FindFirst:

function GetFileDate(TheFileName: string): string;
var
  FHandle: integer;
begin
  FHandle := FileOpen(TheFileName, 0);
  result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
  FileClose(FHandle);
end;


Одно маленькое предупреждение: время, возвращаемое Win32-функцией, отсчитывается от Гринвича, поэтому вам необходимо привести полученный результат к локальному времени. Чтобы быть уверенным, проверьте документацию. (Я уверен, что FindNextFile делает это правильно).


Примечание от Vit
Всё-таки лучше использовать FindFirst/FindNext/FindClose ибо приведенный выше способ требует открытия файла, а это не всегда возможно сделать (попробуйте например таким образом узнать дату создания файла подкачки!) и к тому же не всегда это желательно. В отличие от приведенного выше способа FindFirst не открывает файла, а лишь читает информацию с каталога диска, что и быстрее и надёжнее.


Source: http://delphiworld.narod.ru/
ID: 03144