1

私は信頼できる古いDelphi 5を使用しており、次の問題に苦しんでいます。

フォント ファイルから直接読み取って、Truetype/opentype フォントの作成日を解釈しようとしています。

仕様には次の説明があります。

フォーマットLONGDATETIMEは、1904 年 1 月 1 日午前 0 時からの秒数です。64 ビット整数

この構造を読み取るために、次のように単語の配列を作成しています。

longDateTime = array[0..3] of Word;

フォントファイルのヘッドテーブルから他のデータを正しく読み取って正しく解釈できますが、timedate 値は正しく解釈できません。

言葉が入れ替わっている問題は承知しています。

1 つのフォントの日付は06/08/1990で時刻は14:54:50 です。ファイル内の 16 進ダンプは次のとおりです。00 00 00 00 A2 E3 27 2A

この16進ダンプから日付/時刻を超える方法を教えてください。

4

1 に答える 1

2

少し時差があります

Var
 C:Cardinal=$00000000A2E3272A;

procedure TForm3.Button1Click(Sender: TObject);
var
 d:TDateTime;
begin
  d := Encodedate(1904,1,1) + c / 24/60/60 ;
  Showmessage(DateTimeToStr(d));
end;
于 2012-11-14T12:53:26.583 に答える