IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Подскажите функцию извлечения даты создания файла
сообщение
Сообщение #1


Гость






Подскажите функцию извлечения даты создания файла
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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


Гость






Большое спасибо
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 17:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name