2012-01-12 60 views
1

私に教えてくださいInno Setupで現在のUnixタイムスタンプを取得する方法は?Inno Setupで現在のUnixタイムスタンプを取得するには?

+0

申し訳ありませんが、プログラミングの質問ではなく、http://superuser.com/またはhttp://serverfault.com/を試してください。 (私はあなたの質問をd​​ownvoteしなかった)。がんばろう。 – shellter

+0

@Shelter - はい、InnoSetupはPascalスクリプトを組み込んでおり、これがユニットのタイムスタンプを取得できる唯一の方法です。 –

答えて

2

最も簡単な方法は、次の戻り値を持つCランタイムライブラリからtime()機能を使用することです:

戻る真夜中からの経過秒などの時間、1970年1月1日、または -1エラーの場合は

unix timestampとまったく同じです。

これでInno Setupスクリプトにその関数をインポートするのは簡単です。知らないスクリプト環境は、パラメータをポインタ(幸運にもリンクドキュメントを参照してください、有効なバッファを指していない必要がある)の整数として与えられ、あなたそれのために0を渡す必要がありますので:

function Time(ATimerPtr: integer): integer; external '[email protected] cdecl'; 

function InitializeSetup(): Boolean; 
begin 
    MsgBox(Format('unix timestamp: %d', [Time(0)]), mbInformation, MB_OK); 
end; 
+0

_time32はVistaから入手可能です.WyXPのサポートが必要な場合は、time @ msvcrt.dllを使用してください。 – ariwez

関連する問題