2013-05-28 84 views
1

構建一個Inno Setup腳本行是否可以使用變量和一些條件來構建腳本行(具有可執行文件,需要不同的開關,具體取決於自定義頁面上檢查的內容)可能是這樣的:是否有可能從變量

var 
linecommand : string; 
function FileParams(); 
    begin 
    if check1 then linecommand := linecommand+' conditionone' end; 
    if check2 then linecommand := linecommand+' conditiontwo' end; 
    if check3 then linecommand := linecommand+' conditiontwo' end; 
    end; 
function check123() 
    begin 
    if check1 or check2 or check3 then 
     begin 
     linecommand='Executable file name.exe '+linecommand; 
     Shellexec(linecommand); 
     end; 
    end; 
+1

你打算怎麼辦?你所顯示的是有效的;更好的辦法是從'FileParams'函數返回該命令行,而不是使用共享'linecommand'變量。 – TLama

+0

本來我在安裝運行部分有五個不同的行,每一行都有不同的參數。我認爲爲了可讀性,建立參數線會更好。在Inno幫助文件中,我找不到FileParams上的任何內容。是否有單獨的函數,或者這是文件和安裝運行節中的參數聲明。謝謝 – grahamskaraoke

回答

2

可以使用{code:...} constant插入在[Code]函數來計算到接受字符串和常數(諸如[Run]條目的Parameters值)的標準條目內的特定值的值

或者你可以寫多個e並使用Check function來確定它們中的哪些(如果有)實際執行。

+0

我試圖不使用組件頁面,但顯示一個自定義組件頁面。對於正在尋找類似解決方案的其他人,可以使用WizardFormComponents列表來檢查和取消選中組件。將WizardForm.ComponentsList.Checked [0]用於組件項目的索引。然後,您可以選中並取消選中組件頁面上的項目,而不必顯示組件頁面。只要記住處理後退按鈕(如果你回去,清除你的選擇)。 – grahamskaraoke

+0

我不明白這個評論與你的問題或我的回答有什麼關係。 – Miral

+0

我一直在試圖做的是構建一個變量字符串以用於安裝運行的參數行,因爲我不想顯示組件選擇屏幕。從你的評論我能找到WizardFormComponents列表(雖然我不知道如何)。我可能應該有更好的評論,但由於我是一個新手,我花了很長時間才發現這一點,我想我會留下任何人都在尋找同樣的事情的評論。對不起,如果我把它分類在錯誤的地方。謝謝您的幫助。 – grahamskaraoke

相關問題