Autor Beitrag
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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



BeitragVerfasst: Fr 13.02.09 16:15 
user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Nur mein Problem ist das mit UrlDownLoadToFile klappt nicht,

Und jetzt sollen wir raten, warum es nicht klappt und dir funktionierenden Quellcode geben?
Dude566 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Fr 13.02.09 16:23 
Sorry ich dachte der Code wäre nicht nötig, man kann ja eigentlich nicht viel falsch machen.

ausblenden 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), 0nil);


UrlDownLoadToFile soll ein ungültiger Bezeichner sein.

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 13.02.09 16:38 
user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
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. :mrgreen:
Dude566 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 13.02.09 17:05 
Wenn man statt Memo einen String oder eine Stringlist nimmt: Ja, das geht so. :D

_________________
We are, we were and will not be.
Dude566 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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ß :mrgreen:.
Eine StringList würde nur unnötig Rechnerzeit verschwenden, gerade bei größeren Quelltexten.
Dude566 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: 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. 8)

mfg