AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi File Download Mit status anzeige !?
Thema durchsuchen
Ansicht
Themen-Optionen

File Download Mit status anzeige !?

Ein Thema von dor557 · begonnen am 7. Jan 2008 · letzter Beitrag vom 7. Jan 2008
Antwort Antwort
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

File Download Mit status anzeige !?

  Alt 7. Jan 2008, 02:26
Hallo zusammen.

Ich habe Inzwischen Folgendes Problem :

Ich möchte aus dem Internet ein Update-File herunterladen.

Das Realisiere ich momentan mit Folgendem Code :

Delphi-Quellcode:

function GetInetFile (const fileURL, FileName: String): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
  f1 : Integer;
begin
 result := false;
 sAppName := ExtractFileName(Application.ExeName) ;
 hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0) ;
 try
  hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, INTERNET_FLAG_DONT_CACHE, 0) ;
  try
   AssignFile(f, FileName) ;
   Rewrite(f,1) ;
   repeat
    InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
   until BufferLen = 0;
   CloseFile(f) ;
   result := True;
  finally
   InternetCloseHandle(hURL)
  end;
 finally
  InternetCloseHandle(hSession)
 end;
end;
Funktioniert auch so weit ganz gut.

Jetzt möchte ich noch das Ein statusbalken z.b. TProgressBar anzeigt wie weit der Download Gerade fortgeschritten ist.

Nun kann ich ja wenn ich es möchte die Dateigrösse in einer Temporären datei auf dem Internet-Server zwischenspeichern und auslesen. Das ist aber nicht das was ich möchte.

Ausser der Buffer-Grösse (1024) Logisch.... Kann ich nichts ermitteln. Oder Doch ?

wenn ja wäre es schön wenn ich erfahren könnte wie.

Villeicht eine andere methode um dateien aus dem internet herunterzuladen, oder Eine Funktion die ich übersehen habe ??

Bin für alle vorschläge offen.

Gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: File Download Mit status anzeige !?

  Alt 7. Jan 2008, 03:11
Mit HttpQueryInfo und dem Flag HTTP_QUERY_CONTENT_LENGTH kannst du die Größe der Datei bestimmen.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

Re: File Download Mit status anzeige !?

  Alt 7. Jan 2008, 04:09
Danke das hat mir gefehlt

Nun gehts

Gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz