为 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 个项目:
- 帮助文档设置
- VC Redist x86
- VC Redist x64
- 点网框架
相关文件使用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;
我查看了 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 个项目:
- 帮助文档设置
- VC Redist x86
- VC Redist x64
- 点网框架
相关文件使用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;