- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 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: 1396
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;

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -