![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Артем |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Подскажите функцию извлечения даты создания файла
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Синтаксис function FileGetDate(Handle: Integer) : Integer; Описание FileGetDate возвращает дату изменения открытого файла. Дата изменения обновляется при закрытии файла, поэтому, возможно, следует сначала закрыть файл, а затем вызвать FileAge для получения наиболее точного значения даты изменения. Функция FileGetDate возвращает -1 в случае ошибки. Дата и время файла упаковываются в битовые поля 32-битового целого. Точность соответствует двум секундам, год может принимать значения от 1980 до 2099. Используем функцию: function GetFileDate(TheFileName: string): string;
var FHandle: integer;
begin
FHandle := FileOpen(TheFileName, 0);
result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
FileClose(FHandle);
end;
Цитата Одно маленькое предупреждение: время, возвращаемое Win32-функцией, отсчитывается от Гринвича, поэтому вам необходимо привести полученный результат к локальному времени. Чтобы быть уверенным, проверьте документацию. |
Артем |
![]()
Сообщение
#3
|
Гость ![]() |
Формат структуры TSearchRec, используемой для хранения информации о файле, таков:
Код TSearchRec = record Fill: array[1..21] of Byte; Attr: Byte; Time: Longint; Size: Longint; Name: string[12]; end; Поле Time содержит дату? если да то как её получит? Пользуемся тегами [ code] и [ /code] Сообщение отредактировано: volvo - 25.01.2005 12:41 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Артем
Во-первых, формат структуры TSearchRec (Delphi Help): type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
А чтобы извлечь данные о создании файла - Var f: TSearchRec;
...
function GetCreationTime : TDateTime;
var
LTime : TFileTime;
Systemtime : TSystemtime;
begin
FileTimeToLocalFileTime( f.FindData.ftCreationTime, LTime);
FileTimeToSystemTime( LTime, SystemTime );
result := SystemTimeToDateTime( SystemTime);
end;
В следующий раз, если Вам нужен какой-то определенный способ извлечения информации, указывайте это сразу. Телепатов здесь нет !!! |
Артем |
![]()
Сообщение
#5
|
Гость ![]() |
Большое спасибо
|
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 1:24 |