首页 > 解决方案 > 为 Inno 下载插件构建备忘录文本

问题描述

我查看了 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);

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

标签: inno-setupinno-download-plugin

解决方案


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

var
  FilesToDownload: string;

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

推荐阅读