Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: CL | DM;

Вниз

Перевод TFileTime в TDateTime   Найти похожие ветки 

 
Nike   (2006-02-15 12:22) [0]

Привет всем! Подскажите, пожалуйста, как произвести преобразование переменной типа TFileTime в "более человечный" TDateTime. Я пользуюсь следующим вариантом, но мне он кажется "некрасивым" :)

//crTime - переменная TFileTime
//st - переменная  TSystemTime
//dt - переменная TDateTime
FileTimeToLocalFileTime(crTime,usTime);
FileTimeToSystemTime(usTime,st);
dt:=SystemTimeToDateTime(st);


 
Игорь Шевченко ©   (2006-02-15 12:49) [1]


> Я пользуюсь следующим вариантом, но мне он кажется "некрасивым"


Да вроде трудно другой вариант придумать.


 
GuAV ©   (2006-02-16 02:25) [2]

Другой вариант, ещё менее красивый, т.к. использует информацию о структуре FILETIME
var
 FT, LFT: TFileTime;
 Result: TDateTime;
 HundredNanoSecondsPassedSince1601: Int64 absolute LFT;
begin
 GetSystemTimeAsFileTime(FT);
 FileTimeToLocalFileTime(FT, LFT);
 Result := -109205; // StrToDateTime("1.01.1601");
 Result := Result + (HundredNanoSecondsPassedSince1601 / 10 / 1000 / MSecsPerDay);


 
AbrosimovA   (2006-02-16 11:20) [3]

function FileTimeToDateTime(const FileTime: _FILETIME): TDATETIME;
var LocalFileTime: TFileTime;
   Age : integer;
begin
FileTimeToLocalFileTime(FileTime,LocalFileTime);
if FileTimeToDosDateTime(LocalFileTime, LongRec(Age).Hi,
       LongRec(Age).Lo) then
     begin
       Result := FileDateToDateTime(Age);
       Exit;
     end;
Result := -1;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1143797173
TStas
2006-03-31 13:26
2006.05.07
Как узнать, какой процесс активный?


15-1145209968
Lex Luthor
2006-04-16 21:52
2006.05.07
Как прикрипить к мому приложению форму по типу винампа


15-1144520015
Ketmar
2006-04-08 22:13
2006.05.07
играющие в Magic the Gathering, посветуйте, plz


2-1145209259
SamProf
2006-04-16 21:40
2006.05.07
Как получить содержимиое ListView по handle?


15-1145095256
SergP.
2006-04-15 14:00
2006.05.07
Нужна помощь по скачиванию файла