2017-07-08 78 views
1

對於感興趣的人here有一個相關問題。我被鼓勵分開提出其中一個問題。在運行條目描述中使用標準Inno Setup消息

所以我有這個[Run]代碼:

Filename: "{cmd}"; Parameters: "/C exit"; Description: "Exit Setup"; \ 
    Flags: nowait postinstall runasoriginaluser unchecked skipifsilent; Check: IsWin64 

它運作良好。它顯示下面的窗口在安裝結束:

InnoSetup install complete

但問題是,措辭退出安裝在英語硬編碼。現在,我已經看了看default.isl文件位於:

ExitSetupTitle=Exit Setup 
ClickFinish=Click Finish to exit Setup. 

我不知道我是否應該使用這兩種消息。對我來說,使用ClickFinish是有道理的,因爲這是用戶將要做的事情。

但我不知道如何在運行語句中使用該消息。

我已經修改了提供答案更新:

function GetClickFinishSetupMessage(Param: string): string; 
var 
    I: integer; 
    S1: string; 
    S2: string; 
begin 

    S1 := SetupMessage(msgClickFinish); 
    I := Length(S1); 
    S2 := Copy(S1, I-1, 1); 
    if(S2 = '.') then 
     S1 := Delete(S1, I-1, 1); 
    end; 

    result := S1; 
end; 

所以我可以去掉最後一期。但它不會編譯。它說Delete的第三個參數不匹配。

回答

2

使用SetupMessage support functionscripted constant

[Run] 
Filename: ...; Description: {code:GetClickFinishSetupMessage} 
[Code] 

function GetClickFinishSetupMessage(Param: string): string; 
begin 
    Result := SetupMessage(msgClickFinish); 

    { Drop trailing dot, if any } 
    if Copy(Result, Length(Result), 1) = '.' then 
    SetLength(Result, Length(Result) - 1); 
end; 
+0

啊,我注意到'SetupMessage'但不能工作了如何使用從腳本部分。謝謝。我現在唯一的*化妝品*瑕疵是,這個常數最後有一段時間(至少在英語中是這樣)。所以前兩個沒有一段時間。在* radio *選項的情況下,我不會期待一段時間。如果它是「。」,我們可以刪除最後一個字符嗎? –

+0

請參閱更新的問題。 –

+0

查看我更新的答案。 –