Fórum Aplicativo de Download #210957
01/02/2004
0
Boa Tarde pessoal!
Alguém sabe como fazer download de arquivos, programas etc... de um Servidor WEB?
Eu tentei com esta função do próprio Fórum mas não funcionou. Deu erro.
function DownloadArquivo(const Origem, Destino: String): Boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result := False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(Origem),
nil,0,0,0);
try
AssignFile(f, Destino);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
ShowMessage(´Fechei Arquivo´);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var Origem, Destino: string;
begin
Origem := ´http://www.clubedelphi.com.br/aplicativos/limUsu.zip´;
Destino := ´C:\´;
if DownloadArquivo(Origem, Destino) then
ShowMessage(´Download OK´)
else
ShowMessage(´Erro no download´)
end;
Alguém pode me ajudar??
Obrigado!
Alguém sabe como fazer download de arquivos, programas etc... de um Servidor WEB?
Eu tentei com esta função do próprio Fórum mas não funcionou. Deu erro.
function DownloadArquivo(const Origem, Destino: String): Boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result := False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(Origem),
nil,0,0,0);
try
AssignFile(f, Destino);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
ShowMessage(´Fechei Arquivo´);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var Origem, Destino: string;
begin
Origem := ´http://www.clubedelphi.com.br/aplicativos/limUsu.zip´;
Destino := ´C:\´;
if DownloadArquivo(Origem, Destino) then
ShowMessage(´Download OK´)
else
ShowMessage(´Erro no download´)
end;
Alguém pode me ajudar??
Obrigado!
Michaell
Curtir tópico
+ 0
Responder
Posts
02/02/2004
Tchoninho
Veja a página abaixo.
[url]http://delphiforum.icft.com.br/forum/viewtopic.php?t=30940&highlight=[/url]
[url]http://delphiforum.icft.com.br/forum/viewtopic.php?t=30940&highlight=[/url]
Responder
Gostei + 0
02/02/2004
Cebikyn
Ou se preferir uma solução prática:
Daí vc pode fazer:
uses URLMon; function DownloadFile(WEB, LOCAL: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(WEB), PChar(LOCAL), 0, nil) = 0; except Result := False; end; end;
Daí vc pode fazer:
if DownloadFile(´http://www.servidor.com/arquivo.txt´,´C:\Teste\Arquivo.txt) then ShowMessage(´Download OK´) else ShowMessage(´Download Falhou´);
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)