加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

下载 – 如何从Internet资源中读取文本文件?

发布时间:2020-12-15 10:10:47 所属栏目:大数据 来源:网络整理
导读:我想从Internet资源中读取包含版本号的文本文件.然后我需要在我的脚本中使用此版本号. 如何在InnoSetup中做到这一点? 解决方法 有很多方法可以在InnoSetup中从Internet获取文件.您可以使用外部库,例如 InnoTools Downloader ,编写自己的库,或使用其中一个Wi
我想从Internet资源中读取包含版本号的文本文件.然后我需要在我的脚本中使用此版本号.

如何在InnoSetup中做到这一点?

解决方法

有很多方法可以在InnoSetup中从Internet获取文件.您可以使用外部库,例如 InnoTools Downloader,编写自己的库,或使用其中一个Windows COM对象.在下面的示例中,我使用了 WinHttpRequest COM对象进行文件接收.

当WinHTTP函数没有引发任何异常时,此脚本中的DownloadFile函数返回True,否则返回False.然后,将由AURL参数指定的HTTP GET请求的响应内容传递给声明的AResponse参数.当脚本在异常时运行失败时,AResponse参数将包含异常错误消息:

[Code]
function DownloadFile(const AURL: string; var AResponse: string): Boolean;
var
  WinHttpRequest: Variant;
begin
  Result := True;
  try
    WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
    WinHttpRequest.Open('GET',AURL,False);
    WinHttpRequest.Send;
    AResponse := WinHttpRequest.ResponseText;
  except
    Result := False;
    AResponse := GetExceptionMessage;
  end;
end;

procedure InitializeWizard;
var
  S: string;
begin
  if DownloadFile('http://www.example.com/versioninfo.txt',S) then
    MsgBox(S,mbInformation,MB_OK)
  else
    MsgBox(S,mbError,MB_OK)
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读