【问题标题】:Inno Setup Pascal Script documentationInno Setup Pascal 脚本文档
【发布时间】:2012-11-11 16:55:44
【问题描述】:

我开始使用 Inno Setup,因为我认为与 NSIS 相比,Pascal 脚本可以让我更轻松地执行自定义操作。但是,似乎 Web 上的任何地方都没有文档? official Wiki 已被删除,我找不到任何 API 文档。有一个earlier question(3 岁,永恒!)以悲哀的声明结束。

到目前为止,每次我想做一些具体的事情时,我都能获得帮助(主要是在 Stackoverflow 上;-)),但我不想每次想做某事时都去论坛。我现在的问题是创建一个目录,如果它不存在,我还没有找到任何人问这个问题。所以我在问。如果你知道怎么做,请告诉我(怎么做 ;-))以及在哪里你学到的?

谢谢!

【问题讨论】:

  • 其实你这里有两个问题!
  • 是的,我知道。虽然主要问题是关于查找文档,但您可以将第二个问题视为“应用程序练习”;-) ¡Muchas gracias para tu respuestas! :)
  • @Mattieu no hay de qué, hombre, es un gusto, me alegra ser de alguna ayuda ;)

标签: api inno-setup


【解决方案1】:

Pascal 脚本语法非常接近 Pascal/Delphi 语法,因此您在 Delphi DocWikiFree pascal documentation 中有很多关于它的文档。

关于 inno-setup 特定的 pascal 脚本功能支持,我知道的最好的地方是 Inno Setup 帮助文件中的 PascalScript 部分,最相关的部分是:

至于你最后一个问题,看看这个:

var
  DocPath: string;
  DirPath: string;
begin
  DocPath := ExpandConstant('{userdocs}');
  DirPath := DocPath + '\ISTest';
  if not DirExists(DirPath) then
  begin
    if not CreateDir(DirPath) then
       MsgBox(SysErrorMessage(DLLGetLastError), mbError, mb_Ok);
  end;
end;

我在哪里学的?我是一个Delphi开发者,pascal脚本的目的是接近Delphi,所以我觉得我是通过学习Delphi才真正学会的。如今,在查看文档之前,我会尝试做我想做的事情a la Delphi,如果我没有这样做,我会求助于文档作为最后的资源。

【讨论】:

  • 以上链接是主要参考,但我也写了一篇关于 Pascal 的半教程,用于 Inno here
  • 我知道 Delphi 中的 DirectoryExists() 函数,这就是为什么当我看到 Pascal 脚本使用 DirExists() 时我感到困惑...无论如何,感谢您对 Delphi 的见解,我开始使用大约 25 年前的帕斯卡,我想我现在必须回到过去 ;-)
  • @Miral,感谢您的教程,语言语法的概述似乎很好。我很想看到某种完整的 API 在网上某个地方发布,比如 Java 的 JDK 或 C# 的 MSDN。至少,正如@jachguate 所提到的,它似乎与 Delphi 密切相关,因此使用记录良好的 Delphi API 作为基础听起来对我来说已经足够好了。
  • @Matthieu,inno setup 特定的完整 API 已记录,我在答案中链接了该文档。您访问过这些链接吗?
  • @jachguate,是的,我做到了,再次感谢您的指出。我意识到我没有通读“支持功能参考”,实际上DirExistsCreateDir 的链接。我想正确的睡眠是更好理解的关键;-)
猜你喜欢
  • 2017-02-12
  • 2021-01-21
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 2013-01-22
相关资源
最近更新 更多