Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Ladda ned en fil från Internet till din hårddisk
|
Kategori: Internet
Inlagt: 2002-10-29
Läst: 1740
Inlagt av: Staffan Berg
|
Beskrivning |
Använd denna funktion för att ladda ned en fil från internet till din lokala hårddisk.
|
Kod |
uses
Wininet;
var
InternetBrowserUserAgent: String;
//Set it as you like. Win98/IE uses 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)'
{ ... }
function GetInternetStream (URL: String; Stream: TStream): LongInt;
type
TNetBuffer = Array[0..1023] of Byte;
PNetBuffer = ^TNetBuffer;
var
ihConnect,iDocument: HINTERNET;
NetBuffer: PNetBuffer;
BufferSize: Integer;
I: integer;
begin
Result := - 1;
ihConnect := InternetOpen(PChar(InternetBrowserUserAgent), LOCAL_INTERNET_ACCESS, '', '', 0);
try
if ihConnect <> NIL then
begin
iDocument := InternetOpenURL(ihConnect, PChar(URL), NIL, Cardinal(- 1),
INTERNET_FLAG_RELOAD or INTERNET_FLAG_DONT_CACHE or
INTERNET_FLAG_RAW_DATA, 0);
try
if iDocument <> NIL then
begin
Result := 0;
try
New (NetBuffer);
repeat
InternetReadFile(iDocument, NetBuffer, SizeOf(TNetBuffer), BufferSize);
if BufferSize > 0 then
begin
Result := Result + Stream.Write(NetBuffer^, BufferSize);
end;
until
(BufferSize < SizeOf(TNetBuffer));
finally
Dispose(NetBuffer);
end;
end;
finally
internetCloseHandle (iDocument);
end;
end;
finally
InternetCloseHandle (ihConnect);
end;
end;
|
|
|