Difference between revisions of "URLDownloadToFile"
From wiki.visual-prolog.com
(update) |
(simplify) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
For downloading, there is a Windows API called '''URLDownloadToFile''' which can do the job | For downloading, there is a Windows API called '''URLDownloadToFile''' which can do the job. | ||
In your program, add the lines: | In your program, add the lines: | ||
<vip>class predicates | <vip> | ||
class predicates | |||
uRLDownloadToFile : (handle, string URL, string File, unsigned Reserved, unsigned Callback) | |||
-> unsigned Hresult language apicall. | |||
class predicates | class predicates | ||
doDownload : (string SourceURL, string Destfile). | doDownload : (string SourceURL, string Destfile) [used]. | ||
clauses | clauses | ||
doDownload(SourceURL, Destfile) :- | doDownload(SourceURL, Destfile) :- | ||
Hresult = uRLDownloadToFile( | Hresult = uRLDownloadToFile(nullHandle, SourceURL, Destfile, 0, 0), | ||
if winErrors::s_ok <> Hresult then | if winErrors::s_ok <> Hresult then | ||
exception::raise_nativeCallException("URLDownloadToFile", Hresult, | exception::raise_nativeCallException("URLDownloadToFile", Hresult, | ||
[namedValue("SourceURL", string(SourceURL)), namedValue("Destfile", string(Destfile))]) | [namedValue("SourceURL", string(SourceURL)), namedValue("Destfile", string(Destfile))]) | ||
end if.</vip> | end if. | ||
</vip> | |||
[[Category:Examples]] | [[Category:Examples]] | ||
[[Category:Internet]] | [[Category:Internet]] | ||
[[Category:Tips and Tricks]] | [[Category:Tips and Tricks]] |
Latest revision as of 16:16, 19 February 2019
For downloading, there is a Windows API called URLDownloadToFile which can do the job.
In your program, add the lines:
class predicates uRLDownloadToFile : (handle, string URL, string File, unsigned Reserved, unsigned Callback) -> unsigned Hresult language apicall. class predicates doDownload : (string SourceURL, string Destfile) [used]. clauses doDownload(SourceURL, Destfile) :- Hresult = uRLDownloadToFile(nullHandle, SourceURL, Destfile, 0, 0), if winErrors::s_ok <> Hresult then exception::raise_nativeCallException("URLDownloadToFile", Hresult, [namedValue("SourceURL", string(SourceURL)), namedValue("Destfile", string(Destfile))]) end if.