Datei downloaden mit BCB5

TenPiggies

Grünschnabel
Hallo Leute
Habe den gesamten letzten Tag mit der Suche in der BCB5-Hilfe und dem Internet
verbracht. Jedoch ohne Erfolg...
Da der BCB5 noch nicht über die IdHTTP1-Komponente verfügt, funktioniert folgender Code bei mir
NICHT:

Code:
WideString url="http://www.Seitex/Bild.jpg";
AnsiString savepath="c:\\Bild.jpg";
TMemoryStream *mem = new TMemoryStream();
IdHTTP1->Get(url,mem);
mem->SaveToFile(savepath);
delete mem;
Es muss aber doch irgendeine Möglichkeit geben, mit BCB5, ohne "allzu grossen Aufwand", eine Datei aus dem Internet auf meinen PC zu übertragen.
Habe auch schon über Indy nachgelesen, doch ich bin zu keinem Ergebnis gekommen.
Wenn sich jemand mit Indy oder WinAPI beim BCB5 auskennt, wäre ich über ein Code-Beispiel mehr als dankbar.
Danke im voraus...
TenPiggies
 
Hi

Geht relativ easy mit der NMHTTP - Komponente
aus der FastNet - Registerkarte.

Habe leider keinen Code bei mir zu Hause,
aber ich hab das schon mal programmiert,
und das war vielleicht zwei Stunden Arbeit,
um herauszufinden, wie das ganze funktioniert.

Mit Indy ist das, meine ich, schwieriger. Ich hab mal
mit dessen Vorgänger, der WSocket-Library gearbeitet,
und das war schon schwieriger als mit NMHTTP.

Nachteil bei den FastNet-Komponenten ist halt, daß die
recht viele Fehler enthalten, deshalb ist Indy auch auf dem
Vormarsch. Aber zum Downloaden eines Bildes taugt das
allemal...

Greets, BadMourning
 
Hallo Leute
Hab jetzt ´ne Menge über NMHTTP gelesen, doch fehlt mir immer noch ein geeignetes Beispiel.
Ich bekomme es einfach nicht hin.
Kann mir denn hier keiner helfen?
Danke
TenPiggies
 
Habe es doch noch geschafft:

Code:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString url="http://SeiteXY.com/datei.jpg";
AnsiString pfad="c:\\datei.jpg";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
NMHTTP1->InputFileMode=true;
NMHTTP1->Body=pfad;
NMHTTP1->Get(url);
}
//---------------------------------------------------------------------------
Danke für die Hilfe, BadMourning!
 
Herzlichen Glückwunsch...

Ich sagte ja, man muß sich einarbeiten, aber man kommt zum Ziel.

Freut mich für dich
BadMourning
 
Zurück