Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Frage zu IdHHTP Komponente! (https://www.delphipraxis.net/16213-frage-zu-idhhtp-komponente.html)

Plague 12. Feb 2004 18:53

Re: Frage zu IdHHTP Komponente!
 
Aha, das wusste ich nicht. Aber dann kannst Du mir ja sicherlich sagen, wie ich das Bild laden kann, oder?

Danke schonmal!

Brüggendiek 12. Feb 2004 18:56

Re: Frage zu IdHHTP Komponente!
 
Hallo!

Zitat:

Zitat von gekmihesg
so kann man doch keine bilder runterladen! das geht mit idhttp1.get nicht.
ich bin mir nicht sich obs überhaupt mit idhttp geht! das läd nur den quellcode

Wieso denn nicht?

Man kann idHTTP.Get auf 2 Arten aufrufen:
Delphi-Quellcode:
stringvar:=idHTTP.Get(url);
und
Delphi-Quellcode:
idHTTP.Get(url,stream);
Im ersten Fall (für Webseiten zu empfehlen) wird das Ergebnis in einem String gespeichert. Den kann man dann parsen.
im zweiten Fall wird das Ergebis in einem Stream (z.B. FileStream) gespeichert. Was da heruntergeladen wird, ist Indy egal - das kann eine Webseite, ein Bild, eine EXE, ein Zip oder was auch immer sein.
Bei mir geht das Laden und Anzeigen von Bildern so, daß ich einen Filestream create, dann die zweite Aufrufvariante benutzte und nach dem Schließen der Datei dann mit LoadFromFile das Bild in ein Image einlade.
Wenn das nicht auf die Platte soll, bieten sich entweder ein MemoryStream oder eine temporäre Datei an, die dann nach dem Laden wieder gelöscht wird.

Gruß

Dietmar Brüggendiek

Matze 12. Feb 2004 18:56

Re: Frage zu IdHHTP Komponente!
 
Vielleicht hilft's was:

http://www.delphipraxis.com/topic538...=bild+internet


Nachtrag: Ich lahme Maus :mrgreen:

Chewie 12. Feb 2004 18:56

Re: Frage zu IdHHTP Komponente!
 
Du lädst es via IdHTTP.Get in einen Stream, speicherst diesen in eine Datei und lädst ihn ins Picture.

Synonym 12. Feb 2004 18:59

Re: Frage zu IdHHTP Komponente!
 
z.B. so:

Delphi-Quellcode:
Datei:=TFileStream.create('C:\bild.jpg',fmCreate);
  IdHttp1.Get('http://www.domain.de/bild.jpg',Datei);
  Datei.free;
image1.picture.loadfromfile('C:\bild.jpg');
gruß

synonym

Plague 12. Feb 2004 19:01

Re: Frage zu IdHHTP Komponente!
 
@ Brüggendiek

Danke erstmal!!! Aber deine Beschreibung finde ich doch noch ziemlich schwer. Kannst Du mir eventuell mal den Quellcode in Grundzügen schreiben? Wäre super!!! :)

Danke
Thomas

Plague 12. Feb 2004 19:07

Re: Frage zu IdHHTP Komponente!
 
@ synonym

Danke, aber was muss ich in deinem Quelltext mit dem Begriff "Datei" anfangen? Ist das eine Variable oder was muss ich damit machen.

Danke
Thomas

Brüggendiek 12. Feb 2004 19:07

Re: Frage zu IdHHTP Komponente!
 
Hallo Thomas!

Bis auf den fehlenden Ressoucenschutzblock (und die eindeutig falsche Dateiplazierung - das gehört nicht ins Hauptverzeichnis) hat mein Vorposter schon alles geschrieben, was nötig ist. Die Datei sollte entweder ins Programmverzeichnis ("ExtractFilePath(ParamStr(0))+'BILD.JPG'", kann unter XP Probleme bereiten) oder ins Temp-Verzeichnis.

Bei meinem Programm kommt das Bild in ein Datendir, bleibt auf der Platte und wird auch noch auf Vorhandensein (Doppelbilder) geprüft, deshalb ist mein Source hier nicht ohne größere Änderungen anwendbar.

Gruß

Dietmar Brüggendiek

Synonym 12. Feb 2004 19:10

Re: Frage zu IdHHTP Komponente!
 
war ja auch nur ein beispiel!


synonym


P.S. Datei ist eine Variable vom Typ TFileStream!

Plague 12. Feb 2004 19:12

Re: Frage zu IdHHTP Komponente!
 
Danke @ synonym
Jetzt klappt es wunderbar!!! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz