电脑蓝牙系统下载安装
现在支持蓝牙功能的设备越来越多,比如耳机、音箱、游戏手柄、甚至牙刷等等,可见蓝牙已经逐渐融入到我们的生活当中了。不过由于历史遗留问题,有些陈旧的电器并没有蓝牙模块,依然无法摆脱各种数据线的束缚。还好市...
2025.01.19COPYRIGHT © 2023
粤ICP备2021108052号
邮箱:611661226@qq.com
留言给我urlmon.dll内置于Windows中,可用于从网站下载文件。它支持SSL/TLS连接。但仅限Windows;
在 uses 语句中添加 URLMon 单元。
URLDownloadToFile 函数原型:
function URLDownloadToFile(pCaller: pointer; URL: PChar; FileName: PChar; Reserved: DWORD; lpfnCB : pointer): HResult; stdcall; external 'urlmon.dll' name 'URLDownloadToFileA';
使用示例:
procedure TForm1.Button1Click(Sender: TObject);var Source, Dest: string;begin Source:='http://lazarus.freepascal.org'; Dest:='C:\Windows\temp\data.txt'; if URLDownloadToFile(nil, PChar(Source), PChar(Dest), 0, nil)=0 thenshowmessage('Download ok!') elseshowMessage('Error downloading '+Source);end;
fphttpclient作为fcl web包的一部分随FPC提供,也可以单独使用。
在 uses 语句中添加 fphttpclient 单元。
我们可以使用 TFPHttpClient 类实例的 Get 方法来下载文件,示例代码:
program dl_fphttp_d;{$mode delphi}{$ifdef windows}{$apptype console}{$endif}usessysutils, classes, fphttpclient, openssl,opensslsockets;constFilename = 'testdownload.txt';varClient: TFPHttpClient;FS: TStream;SL: TStringList;begin{ SSL initialization has to be done by hand here }InitSSLInterface;Client := TFPHttpClient.Create(nil);FS := TFileStream.Create(Filename,fmCreate or fmOpenWrite);trytry{ Allow redirections }Client.AllowRedirect := true;Client.Get('https://google.com/',FS); excepton E: EHttpClient dowriteln(E.Message)elseraise;end;finallyFS.Free;Client.Free;end;{ Test our file }if FileExists(Filename) thentrySL := TStringList.Create;SL.LoadFromFile(Filename);writeln(SL.Text);finallySL.Free;end;end.
Synapse 提供串行端口和 TCP/IP 连接。它与其他库不同,您只需要向代码中添加一些 Synapse Pascal 源代码文件;无需安装软件包等。唯一的例外是,如果您想使用SSL/TLS/SSH等加密,则需要外部加密库。
Synapse 通过阻塞(同步)套接字或有限的非阻塞模式处理网络通信。Synapse 未使用异步套接字。Synapse 包含简单的低级非可视对象,便于无问题地进行编程。(无需多线程同步,无需windows消息处理,…)非常适合命令行实用程序、可视化项目、NT服务等。
在 Synapse 官方网站(http://www.ararat.cz/synapse/doku.php),还可以找到 Synapse 项目的一个补充,名为SynaSer。这是用于阻止串行端口上的通信的库。它是Synapse中的非可视化类,程序员界面与Synapsee非常相似。
使用 Synapse 时,Lazarus、Delphi 需要安装,CodeTyphon 默认已经安装 Synapse。
编写下载文件程序时,在 uses 语句中添加 httpsend 单元。示例代码:
...uses httpsend,...function DownloadHTTP(URL, TargetFile: string): Boolean;varHTTPGetResult: Boolean;HTTPSender: THTTPSend;beginResult := False;HTTPSender := THTTPSend.Create;tryHTTPGetResult := HTTPSender.HTTPMethod('GET', URL);if (HTTPSender.ResultCode >= 100) and (HTTPSender.ResultCode<=299) then beginHTTPSender.Document.SaveToFile(TargetFile);Result := True;end; finallyHTTPSender.Free;end;end;
使用以上三种方式下载文件。界面如下:
具体操作不再赘述,代码如下:
unit unitmain;{$mode objfpc}{$H+}interfaceusesClasses, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, fphttpclient, httpsend, UrlMon;type{ TFormMain }TFormMain = class(TForm)SynapseDownButton: TButton;FPHttpClientDownButton: TButton;UrlDownButton: TButton;procedure SynapseDownButtonClick(Sender: TObject);procedure FPHttpClientDownButtonClick(Sender: TObject);procedure UrlDownButtonClick(Sender: TObject);privatepublicend;varFormMain: TFormMain;implementation{$R *.frm}{ TFormMain }procedure TFormMain.UrlDownButtonClick(Sender: TObject);varSource, Dest: String;beginSource := 'https://download.redis.io/releases/redis-6.2.1.tar.gz';Dest := 'e:\temp\redis-6.2.1.tar.gz';tryif UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0 thenShowMessage('文件下载成功')elseShowMessage('文件下载失败');exceptShowMessage('文件下载失败');end;end;procedure TFormMain.FPHttpClientDownButtonClick(Sender: TObject);varHttpClient: TFPHttpClient;DownLoadFile:TFileStream;beginDownLoadFile:=TFileStream.Create('e:\temp\redis-4.0.10.tar.gz',fmCreate);HttpClient := TFPHttpClient.Create(nil);tryHttpClient.AllowRedirect := True;HttpClient.Get('http://download.redis.io/releases/redis-4.0.10.tar.gz', DownLoadFile);ShowMessage('文件下载成功');exceptShowMessage('文件下载失败');end;DownLoadFile.Free;HttpClient.Free;end;procedure TFormMain.SynapseDownButtonClick(Sender: TObject);varHTTPSender: THTTPSend;beginHTTPSender := THTTPSend.Create;tryHTTPSender.HTTPMethod('GET', 'http://download.redis.io/releases/redis-7.0.5.tar.gz');if (HTTPSender.ResultCode >= 100) and (HTTPSender.ResultCode<=299) thenbeginHTTPSender.Document.SaveToFile('e:\temp\redis-7.0.5.tar.gz');ShowMessage('文件下载成功');endelseShowMessage('文件下载失败');exceptShowMessage('文件下载失败');end;HTTPSender.Free;end;end.
现在支持蓝牙功能的设备越来越多,比如耳机、音箱、游戏手柄、甚至牙刷等等,可见蓝牙已经逐渐融入到我们的生活当中了。不过由于历史遗留问题,有些陈旧的电器并没有蓝牙模块,依然无法摆脱各种数据线的束缚。还好市...
2025.01.19准备工作:1、提前准备好PhpStorm 2021.3软件安装包(*没有的看文末*)2、系统要求Windows 10 64bit3、保证电脑中有任意一款解压软件安装步骤1.找到下载好的安装包,并将其解...
2025.01.19我们现在可以在各大视频平台上,刷到各种配音解说的视频。小伙伴们看完这些视频,会不会也想要制作这种解说视频呢?作为解说视频,最重要的就是为视频解说配音的声音。小伙伴们会不会很烦恼如何为视频配音呢?其实很...
2025.01.18大家都知道,在PC端有着微软称霸,而移动端的就是安卓比较牛逼,但是PC端和移动端却是各管各的,互不干扰互不相通。其实很多人都想将PC端和移动端实现互通,提升生产效率。奈何Android系统和windo...
2025.01.18电视家应该很多人都知道,比较老牌的一个电视直播软件了,可以看央视、卫视、地方电视台,频道数量比较多。而小米电视呢作为一个主打高性价比的品牌,用户量也很多。那小米电视怎么下载电视家3.0呢?这里主要介绍...
2025.01.18