紧急呼叫……WinSock 在线更新单元(66分)

  • 主题发起人 主题发起人 sadnui
  • 开始时间 开始时间
S

sadnui

Unregistered / Unconfirmed
GUEST, unregistred user!
呵呵 需要做一个更新系统。
上级要求做纯winsock api的
有没有此类下载单元模块的高手朋友帮一下哈~~~~~~~~~~
不需要控件下载的 URLMON又不稳定 更新文件太大 连接速度慢 有可能中断
 
最好只使用 WinSock,windows 2个单元
 
//----------------------------------------------------------------------------
//urlgetfile函数,下载一个文件
function GetUrlFile(const URL, AFile: string): Boolean;
var
hFile,HInet:HINTERNET;
Buffer:array[0..32767] of Char;
BufRead:Cardinal;
BufSize:Cardinal;
begin
Result := False;
HInet := InternetOpen('Agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(HInet) then
try
hFile := InternetOpenUrl(HInet, PChar(URL), nil, 0, INTERNET_FLAG_RELOAD + INTERNET_FLAG_KEEP_CONNECTION, 0);
if Assigned(hFile) then
try
BufSize := SizeOf(Buffer);
with TFileStream.Create(AFile, fmCreate) do
try
while InternetReadFile(hFile, @Buffer, BufSize, BufRead) and (BufRead > 0) do
Write(Buffer, BufRead);
Result := True;
finally
Free;
end;
finally
InternetCloseHandle(hFile);
end;
finally
InternetCloseHandle(hinet);
end;
end;
 
to jxgxy 谢谢 这个代码有了
不过不知道稳定不稳定。 请问有没有 Winsock api实现的相同方法?
 
用纯API你就封装API啊,自己可以学到很多东西,是上级要求的嘛,也不用急啊,慢慢做。
不知道就到MSDN上查找帮助,很全面,还有例子。
 

Similar threads

D
回复
0
查看
947
DelphiTeacher的专栏
D
D
回复
0
查看
885
DelphiTeacher的专栏
D
D
回复
0
查看
962
DelphiTeacher的专栏
D
D
回复
0
查看
790
DelphiTeacher的专栏
D
D
回复
0
查看
781
DelphiTeacher的专栏
D
后退
顶部