Datei-Download mit Delphi!!!


D

Dragon

Also: Ich will mit Delphi Dateien aus dem Net saugen, hab aber leider noch nicht so viel Ahnung von (selbstgeschriebenen) I-Net-Proggies. Ich hoffe mir kann jemand dabei helfen. Gibt's da vielleicht 'ne gute Komponente oder so??? :confused:
Schonmal danke im vorraus!!! ;-)
 
D

Dragon

Schade...

Anscheinend kann mir hier niemand helfen, aber hat vielleicht jemand 'nen Link zu 'nem Delphi- bzw. Coding-Forum???
 
G

Gendo

Hi Dragon,
ich hab da ne super Komponente für dich..hier.. beispiel!

Falls der Link tot sein sollte hier
Da bekommst noch andere super Komponenten die mir persönlich viel Arbeit abnehmen.

Falls probleme auftreten meld dich nochmal.
Viel Spaß damit
 

TheRaven

Grünschnabel
Warum nicht mit INDY ?
Einfach die IdHTTP-Komponente auf die Form ziehen und folgenden Code nutzen.
Das ist die einfachste Möglichkeit, die mir gerade einfällt.

LG raven ;-)

Code:
procedure TForm1.Button1Click(Sender: TObject);
var FS:Tfilestream;
    URL:String;

begin
URL:='http://www.tutorials.de/images/menupics/logoheader.gif';
FS:=Tfilestream.Create('C:\Test.gif',fmCreate);
IdHTTP1.Get(URL,FS);
FS.Free;
end;

procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
Showmessage('Downlaod beendet !');
end;
 
D

DelphiFreaX

Sorry, dass ich das noch einmal ausgraben muss, aber ich habe ein Problem mit diesem Code.

Ich habe das ganau so probiert (das von TheRaven), aber mir wird immer folgendes angezeigt:
Cannot create file: "C:\Test.gif". Zugriff verweigert.
(ja, ich hab auch schon andere Verzeichnisse versucht)
Ich habe Delphi 7 auf WinXP und hab das Programm dann auf Vista probiert (hab auf dem XP kein inet).
Was hab ich falsch gemacht?

Mein Versuch:
*klick*

Schonmal danke im Vorraus :)



€dit: hat sich erledigt... ich habe das vergessen:
FS:=Tfilestream.Create('C:\...\test.gif',fmCreate);
 
Zuletzt bearbeitet von einem Moderator:

HarryXVI

Erfahrenes Mitglied
wo ihr grade von indy redet...möchte mir mit dem TIdHTTP von indy einen browser basteln. Klappt auch ganz gut, aber wie kann ich die Seite dann anzeigen?
 

TheRaven

Grünschnabel
@harryxvi

Dir ist schon bekannt das Webseiten aus Text bestehen der dann vom Browser interpretiert und angezeigt wird !?
Was dir also noch fehlt ist ein HTML-Parser oder auch HTML-Renderer (Zeichner).
http://de.wikipedia.org/wiki/HTML-Rendering
Anstelle TIdHTTP kann man auch Winsock zum laden der Seiten nutzen, aber denn HTML-Parser muss man selbst bauen.
Ich hatte damals als kleine Übung was geschrieben um die URL in ihre Bestandteile zu zerlegen und um sie anschließend auf Richtigkeit zu prüfen.
Ein Parser überprüft die HTML-Seite auf bestimmte Zeichenletten, so genante HTML-TAGS.
Wenn er so einen Tag findet schaut er nach was er bedeutet und malt auf eine art Leinwand dass, für was auch immer für dieser Tag steht.
So geht er den ganzen Text durch und zeichnet die Seite in das Browserfenster. ;)
Ein Beispiel:

<title> Hallo WWW</title>

Der Parser trifft auf den Tag <title>
und weiß dass das Nächste Wort in die Titelleiste Des Browserfensters geschrieben werden soll, da es der Titel der Seite ist.
</title> signalisiert dem Parser dass der Titel nun zu Ende ist.
Na, alles klar ?

LG Marko