为 Inno 下载插件构建备忘录文本

Building memo text for Inno Download Plugin

我查看了 IDP 的帮助文档,但找不到任何用于构建要下载的文件的备忘录文本的函数。

以前我使用的是 DwinsHs,它一直给我带来问题。但我能够使用:

function DwinsHs_MemoDownloadInfo(Space, NewLine: String): String;
var
    i: Integer;
begin
    Result := '';
    for i := 0 to GetArrayLength(DwinsHs_DownloadsList) - 1 do
    begin
        if DwinsHs_DownloadsList[i].Required then
        begin
                Result := Result + Space + ExtractFileName(DwinsHs_DownloadsList[i].Filename);
                if DwinsHs_DownloadsList[i].Downloaded then
                begin
                    Result := Result + Space + ExpandConstant('{cm:ReadyMemo_Downloaded}');
                end;
                Result := Result + NewLine;
        end;
    end;
    if Result <> '' then
    begin
        Result := ExpandConstant('{cm:ReadyMemo_Download}') + NewLine + Result;
    end;
end;

因此,我们最多可能会下载 4 个项目:

相关文件使用idpAddFile添加(虽然我没有指定文件大小所以有一点延迟)。我要求它在 wpPreparing:

之后显示下载页面
idpDownloadAfter(wpPreparing);

理想情况下,我希望在备忘录页面上列出我们确定用户想要下载的文件。

您知道自己在下载什么文件,所以在您打电话时收集他们的名字idpAddFile。您可以制作一个包装函数来替代 idpAddFile.

var
  FilesToDownload: string;

procedure AddFileForDownload(Url, Filename: string);
begin
  idpAddFile(Url, Filename);
  FilesToDownload := FilesToDownload + '      ' + ExtractFileName(FileName) + #13#10;
end;