Autor |
Beitrag |
Dude566
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 15:55
Also ich möchte einen Bild Downloader schreiben, der alle Bilder herunterlädt die in der Url stecken die der Benutzer vorgibt.
Nur mein Problem ist das mit UrlDownLoadToFile klappt nicht, ich wollte diese Variante nehmen da jemand in einem Thread meinte für Bilder würde es schicken.
Gruß Dude566
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 13.02.09 16:15
Dude566 hat folgendes geschrieben : | Nur mein Problem ist das mit UrlDownLoadToFile klappt nicht, |
Und jetzt sollen wir raten, warum es nicht klappt und dir funktionierenden Quellcode geben?
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 16:23
Sorry ich dachte der Code wäre nicht nötig, man kann ja eigentlich nicht viel falsch machen.
Delphi-Quelltext 1: 2: 3: 4:
| SaveDialog1.Filter := 'Jpeg-Dateien|*.jpg'; datei := PChar(Edit1.Text); ziel := PChar(SaveDialog1.Filename); UrlDownloadToFile(nil, PChar(datei), PChar(ziel), 0, nil); |
UrlDownLoadToFile soll ein ungültiger Bezeichner sein.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Fr 13.02.09 16:36
Du musst noch die passende unit dazu einbinden.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 13.02.09 16:36
Dann hast du nur die richtige Unit nicht eingebunden. UrlMon hieß die glaube ich, aber das lässt sich mit einem Blick in die Delphi-Hilfe oder einer kurzen Internet-Recherche nach "UrlDownLoadToFile urlmon" bestimmt schnell herausfinden.
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 13.02.09 16:38
Dude566 hat folgendes geschrieben : | UrlDownLoadToFile soll ein ungültiger Bezeichner sein. |
Dann schau doch einmal in die Doku:
msdn.microsoft.com/e...ibrary/ms775123.aspx
Ganz unten steht wo die Funktion definiert ist, die entsprechende Unit musst du dann einbinden.
Ich seh schon, ja Gausi, du glaubst richtig. 
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 16:50
Ich habe da jetzt nochmal eine Frage wie kann ich denn die Links aller Bilder auf einer Seite auslesen, habe gelesen es ginge mit Parsern.
Wie funktioniert das, und hat jemand einen der dafür gut geeignet ist?
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 13.02.09 16:54
Auch wenn der Thread gesperrt ist, weil der Autor nichts Gutes damit vorhatte, es steht alles zu dem Thema drin:
www.delphi-forum.de/viewtopic.php?t=89672
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 17:02
Also von der Theorie her ist es doch dann so:
1. Quelltext in Memo speichern
2. Parser Text auswerten lassen
3. Links rausziehen
4. Links dann in Downloadprozedur einfügen
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 13.02.09 17:05
Wenn man statt Memo einen String oder eine Stringlist nimmt: Ja, das geht so. 
_________________ We are, we were and will not be.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 17:22
Wie viel lässt sich denn in eine StringList speichern?
Habe StringList bisher nur gebraucht um Text in txt. Dateien abzuspeichern.
Schickt das auch wenn der Quelltext etwas größer ist?
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 13.02.09 17:44
Also einen Quelltext, der den Arbeitsspeicher sprengt, sollte dir nicht unterkommen.
Zudem reicht auch ein normaler String, schließlich geht es ja nicht um eine zeilenweise Analyse. Dessen Größe wird praktisch nur durch den verfügbaren Speicher beschränkt, denn dessen Größenangabe ist 32 Bit groß  .
Eine StringList würde nur unnötig Rechnerzeit verschwenden, gerade bei größeren Quelltexten.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Fr 13.02.09 19:41
Ok ich habe den Parser den du in dem anderen Thread erwähnt hattest heruntergeladen.
Was muss ich jetzt mit den Dateien da drin machen, und was muss ich in das Programm schreiben?
Gibt es irgendwo ein Tut oder eine Demo?
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 13.02.09 19:58
Welchen der beiden? Ich hatte zwei verlinkt, nur mit dem zweiten habe ich selbst schon einmal gearbeitet.
Bei dem musste man immer NextTag aufrufen und hatte dann das aktuelle Tag in der entsprechenden Eigenschaft. Und dann habe ich da so etwas gemacht: Delphi-Quelltext 1: 2: 3: 4: 5:
| while PageParser.NextTag do begin if (PageParser.Tag.Name = '/TD') or (PageParser.Tag.Name = 'BR') then tmpPrintResult.Add(Trim(PageParser.TextBetween)); ... |
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Mo 16.02.09 21:39
Gibt es nicht vielleicht eine Methode, es so zu machen wie mit dem Firefox.
Also mit Seite Speichern Unter, und dann Website komplett.
Oder anstatt "Website komplett" im besten Fall nur die Bilder dann.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 16.02.09 22:18
Der macht das doch im Grunde so.
Die einfachere, aber unsaubere Variante wäre der TWebBrowser, mit dem kann man glaube ich auch so speichern.
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 28.04.09 16:15
Eigentlich könnte ich es auch ohne so einen fertigen Parser machen, ich muss nur den gesamten Quellcode in ein Memo schreiben, und dort Zeile für Zeile weiter in ein String speichern.
Den String (Zeile) gehe ich dann mit Pos durch, nur wie kann ich das dort eingrenzen?
Also das er den Link von da bis dahin kopiert, also nicht die ganze Zeile, ich will ja wirklich nur den Link aus der Zeile.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Di 28.04.09 18:00
Eigentlich bräuchtest du nur diesen Code verwenden: www.delphi-forum.de/viewtopic.php?t=75563
Der tut nämlich genau das, was du möchtest
mfg
|
|
Dude566 
      
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Mi 29.04.09 16:43
Ein ganz schöner Haufen, da muss ich mich erst mal reinarbeiten bis ich das verstanden habe. 
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 29.04.09 19:48
Da ist eine Funktion zum raussuchen der Links (ok, die hat ein paar extra Features, wie Filter, aber im Grunde ist das ganz einfach  ) und eine mit dem Namen Download. Die entsprechenden Komponenten (idHttp afair) vorausgesetzt kann man die fast direkt so übernehmen. Wobei Bugs natürlich nicht ausgeschlossen sind.
mfg
|
|
|