如何在InnoSetup中动态更改InfoAfterFile

我有一个InnoSetup项目,我希望能够根据发送到安装exe的命令行参数来设置InfoAfterFile。有办法吗?在这种情况下是否可以使用类似“检查”参数的功能?

TLama

您不能InfoAfterFile在运行时指令分配值它的值指定了要编译到输出设置中的文件,因此必须在编译时知道此伪指令值。但是,您可以手动将文件加载到InfoAfterMemo控件中。以下示例显示-iaf仅当存在命令行参数指定的文件并且该文件存在时,如何加载该文件:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
InfoAfterFile=c:\DefaultFileToBeDisplayed.txt

[Code]
const
  InfoAfterFileParam = '-iaf';

function TryGetInfoAfterFileParam(var FileName: string): Boolean;
var
  S: string;
  I: Integer;
  Index: Integer;
begin
  // initialize result
  Result := False;
  // iterate all the command line parameters
  for I := 1 to ParamCount do
  begin
    // store the current parameter to the local variable
    S := ParamStr(I);
    // try to find the position of the substring specified by the
    // InfoAfterFileParam constant; in this example we're looking
    // for the "-iaf" string in the current parameter
    Index := Pos(InfoAfterFileParam, S);
    // if the InfoAfterFileParam constant string was found in the
    // current parameter, then...
    if Index = 1 then
    begin
      // strip out the InfoAfterFileParam constant string from the
      // parameter string, so we get only file name
      Delete(S, Index, Length(InfoAfterFileParam));
      // now trim the spaces from rest of the string, which is the
      // file name
      S := Trim(S);
      // check if the file pointed by the file name we got exists;
      // if so, then return True for this function call and assign
      // the output file name to the output parameter
      if FileExists(S) then
      begin
        Result := True;
        FileName := S;
      end;
      // we've found the parameter starting with InfoAfterFileParam
      // constant string, so let's exit the function
      Exit;
    end;
  end;
end;

procedure InitializeWizard;
var
  FileName: string;
begin
  // when the parameter was found and the file to be loaded exists,
  // then load it to the InfoAfterMemo control
  if TryGetInfoAfterFileParam(FileName) then
    WizardForm.InfoAfterMemo.Lines.LoadFromFile(FileName);
end;

请注意,您将必须指定InfoAfterFile指令,否则该页面将不会显示。另请注意,我正在寻找以开头的命令行参数-iaf,因此,如果希望使用eg-iafx参数,则需要实际修改此代码这是从命令行进行此类设置的示例调用:

Setup.exe -iaf"C:\SomeFolder\SomeFileToBeShownAsInfoAfter.txt"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在InnoSetup中更改{app}变量

来自分类Dev

如何在angularjs中动态更改模板

来自分类Dev

如何在JavaScript中动态更改的元素中触发事件

来自分类Dev

如何在Meteor中动态更改较少的变量?

来自分类Dev

如何在Woocommerce中动态更改PayPal地址?

来自分类Dev

如何在highcharts中动态更改系列的borderColor?

来自分类Dev

如何在Kendo UI TreeList中动态更改列标题?

来自分类Dev

如何在Angular JS中动态更改类的内容?

来自分类Dev

如何在显示的Toast通知中动态更改文本?

来自分类Dev

如何在Android中动态更改ListView的列表项?

来自分类Dev

如何在Android中动态更改文本大小

来自分类Dev

如何在Shiny R中动态更改传单地图的大小?

来自分类Dev

如何在Django中动态更改下拉菜单

来自分类Dev

如何在VueJS中动态更改点击事件

来自分类Dev

如何在VBA中动态更改复杂的xls函数的部分

来自分类Dev

如何在React中动态更改CSS属性的值?

来自分类Dev

如何在React中动态更改按钮的大小和颜色

来自分类Dev

如何在Ansible剧本中动态更改主机

来自分类Dev

如何在swiftui中动态更改文本背景颜色?

来自分类Dev

如何在Qt中动态更改标签大小?

来自分类Dev

Java如何在终端中动态更改号码

来自分类Dev

如何在Android按钮中动态更改文本颜色

来自分类Dev

如何在Selenium Webdriver中处理动态更改的元素

来自分类Dev

如何在linux动态库中更改常量值?

来自分类Dev

如何在CakePHP中动态更改菜单链接

来自分类Dev

如何在highcharts中动态更改系列的borderColor?

来自分类Dev

如何在幻灯片菜单中动态更改textview?

来自分类Dev

如何在Android中动态更改布局背景?

来自分类Dev

如何在JTextArea中动态更改字体颜色?

Related 相关文章

  1. 1

    如何在InnoSetup中更改{app}变量

  2. 2

    如何在angularjs中动态更改模板

  3. 3

    如何在JavaScript中动态更改的元素中触发事件

  4. 4

    如何在Meteor中动态更改较少的变量?

  5. 5

    如何在Woocommerce中动态更改PayPal地址?

  6. 6

    如何在highcharts中动态更改系列的borderColor?

  7. 7

    如何在Kendo UI TreeList中动态更改列标题?

  8. 8

    如何在Angular JS中动态更改类的内容?

  9. 9

    如何在显示的Toast通知中动态更改文本?

  10. 10

    如何在Android中动态更改ListView的列表项?

  11. 11

    如何在Android中动态更改文本大小

  12. 12

    如何在Shiny R中动态更改传单地图的大小?

  13. 13

    如何在Django中动态更改下拉菜单

  14. 14

    如何在VueJS中动态更改点击事件

  15. 15

    如何在VBA中动态更改复杂的xls函数的部分

  16. 16

    如何在React中动态更改CSS属性的值?

  17. 17

    如何在React中动态更改按钮的大小和颜色

  18. 18

    如何在Ansible剧本中动态更改主机

  19. 19

    如何在swiftui中动态更改文本背景颜色?

  20. 20

    如何在Qt中动态更改标签大小?

  21. 21

    Java如何在终端中动态更改号码

  22. 22

    如何在Android按钮中动态更改文本颜色

  23. 23

    如何在Selenium Webdriver中处理动态更改的元素

  24. 24

    如何在linux动态库中更改常量值?

  25. 25

    如何在CakePHP中动态更改菜单链接

  26. 26

    如何在highcharts中动态更改系列的borderColor?

  27. 27

    如何在幻灯片菜单中动态更改textview?

  28. 28

    如何在Android中动态更改布局背景?

  29. 29

    如何在JTextArea中动态更改字体颜色?

热门标签

归档