Я в асемблере не бубу. Но судя из процедуры Test результат один и тотже, а это вроде кастом называется. А третья строка преобразование.
procedure Test; var list: tstringlist; int64Time: int64; FT: TFileTime; begin list := tstringlist.Create; GetNanoTime(int64Time); GetSystemTimeAsFileTime(FT); list.Add(searchrec.Name + ' = ' + IntToStr(int64Time)); list.Add(searchrec.Name + ' = ' + IntToStr(int64(FT))); list.Add(searchrec.Name + ' = ' + IntToStr(StrToInt64('$' + IntToHex(FT.dwHighDateTime, 8) + IntToHex(FT.dwLowDateTime, 8)))); showmessage(list.Text); list.Free; end;
Ладно не суть важно, это явно лучше чем хранение в TDateTime, с плавающей точкой. Но функциями не мешало бы обзавестись побольше :). Хотя б NanoTimeToStr, FileTimeToNanoTime.
<pre>
<code>
<asm>
<c>
<cpp>
<delphi>
<drupal5>
<drupal6>
<java>
<javascript>
<php>
<python>
<ruby>
<mytext>
<foo>
[foo]
Подробнее о форматировании
Test
Я в асемблере не бубу. Но судя из процедуры Test результат один и тотже, а это вроде кастом называется. А третья строка преобразование.
procedure Test;
var
list: tstringlist;
int64Time: int64;
FT: TFileTime;
begin
list := tstringlist.Create;
GetNanoTime(int64Time);
GetSystemTimeAsFileTime(FT);
list.Add(searchrec.Name + ' = ' + IntToStr(int64Time));
list.Add(searchrec.Name + ' = ' + IntToStr(int64(FT)));
list.Add(searchrec.Name + ' = ' + IntToStr(StrToInt64('$' + IntToHex(FT.dwHighDateTime, 8) + IntToHex(FT.dwLowDateTime, 8))));
showmessage(list.Text);
list.Free;
end;
Ладно не суть важно, это явно лучше чем хранение в TDateTime, с плавающей точкой. Но функциями не мешало бы обзавестись побольше :). Хотя б NanoTimeToStr, FileTimeToNanoTime.