[delphi] Stahnuti souboru z URL

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Lord_Lojza
Nováček
Nováček
Registrován: 01. kvě 2007
Kontaktovat uživatele:

[delphi] Stahnuti souboru z URL

Příspěvek od Lord_Lojza »

Zdravím, mam VCL aplikaci a potřebuji stahnout soubor z URL a zobrazit jeho aktualni stav stahovani ( souboru bude do velikosti 10MB ). Přikládám následující kod, ktery mi sice soubor stahne, ale obsah formulare se zobrazi az po stahnuti. Muzete nekdo poradit jak na to ? .. dekuji

Kód: Vybrat vše

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, ExtActns;

type
  TfrMain = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    ProgressBar1: TProgressBar;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure DoDownload(vURL, vArquivo : String);
  private
  procedure URL_OnDownloadProgress
        (Sender: TDownLoadURL;
         Progress, ProgressMax: Cardinal;
         StatusCode: TURLDownloadStatus;
         StatusText: String; var Cancel: Boolean) ;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frMain: TfrMain;

implementation

{$R *.dfm}

procedure TfrMain.Button1Click(Sender: TObject);
begin
 DoDownload('http://losa.no-ip.info/XXX.exe','C:\Program Files\WifiLINK\Update\WifiLINK.exe')
end;

procedure TfrMain.DoDownload;
begin
   with TDownloadURL.Create(self) do
   try
     URL:= vURL;
     FileName := vArquivo;
     OnDownloadProgress := URL_OnDownloadProgress;
     ExecuteTarget(nil) ;
   finally
     Free;
   end;
end;

procedure TfrMain.URL_OnDownloadProgress;
begin
   ProgressBar1.Max:= ProgressMax;
   ProgressBar1.Position:= Progress;
end;

end.
pavel.minarik
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 03. čer 2003
Bydliště: Brno
Kontaktovat uživatele:

Příspěvek od pavel.minarik »

zkus sledovat během stahování hodnotu proměnné Progress, zdá se mi, že problém je tam, resp. nikde nevidím, že by se tato proměnná zvyšovala
Pavel Minarik @ Dell Latitude 7300 (bohužel moc topí, nedoporučuju)
Lord_Lojza
Nováček
Nováček
Registrován: 01. kvě 2007
Kontaktovat uživatele:

Příspěvek od Lord_Lojza »

Můžeš teda prosím poradit jak to udělat ?
pavel.minarik
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 03. čer 2003
Bydliště: Brno
Kontaktovat uživatele:

Příspěvek od pavel.minarik »

dal bych si tam watch list, break point nebo něco a vysledoval, jestli se hodnota proměnné "Progress" vůbec mění
Pavel Minarik @ Dell Latitude 7300 (bohužel moc topí, nedoporučuju)
Odpovědět

Zpět na „Programování a web“