Entwickler-Ecke

Internet / Netzwerk - Spezielle Webseite in Memo einlesen.


danison - Fr 13.02.09 17:16
Titel: Spezielle Webseite in Memo einlesen.
Hallo.

Ich suche jetzt schon seit stunden nach einer lösung für folgende problemstellung:

ich will folgende Webseite:
http://fisweb.gvb.at/scripts/cwisapi42.dll?Service=FisWeb

in ein memo einlesen.

wenns geht ohne idhttp oder so.

ich habe zwar schon eine super lösung im internet gefunden unter:
http://swissdelphicenter.ch/de/showcode.php?id=2352

jedoch ist dort das problem, dass man es nur mit einem opendialog machen kann. da ich das ganze aber automatisch alle 15 sekunden machen will ohne nen opendialog immer händisch durchklicken zu müssen.
anscheinend ist es auch so, dass der opendialog die webseite http://fisweb.gvb.at/scripts/cwisapi42.dll?Service=FisWeb immer in ein temporäres lokales internetfile umwandelt auf z.b.
C:\Dokumente und Einstellungen\brunnerd\Lokale Einstellungen\Temporary Internet Files\Content.IE5\73EH955B\cwisapi42[7].dll_Service=FisWeb

und somit bei jedem öffnen ein neues temp file anlegt. aus dem grund kann ich nicht immer auf das selbe file zugreifen, da sich der inhalt der webseite ja sehr oft ändert.

ich hoffe ihr könnt mir helfen.

mfg dani


jaenicke - Fr 13.02.09 17:37
Titel: Re: Spezielle Webseite in Memo einlesen.
user profile icondanison hat folgendes geschrieben Zum zitierten Posting springen:
ich habe zwar schon eine super lösung im internet gefunden unter:
http://swissdelphicenter.ch/de/showcode.php?id=2352

jedoch ist dort das problem, dass man es nur mit einem opendialog machen kann.
Der OpenDialog dient doch nur zur Auswahl der Datei, die geparst werden soll. :gruebel:

user profile icondanison hat folgendes geschrieben Zum zitierten Posting springen:
anscheinend ist es auch so, dass der opendialog die webseite http://fisweb.gvb.at/scripts/cwisapi42.dll?Service=FisWeb immer in ein temporäres lokales internetfile umwandelt auf z.b.
C:\Dokumente und Einstellungen\brunnerd\Lokale Einstellungen\Temporary Internet Files\Content.IE5\73EH955B\cwisapi42[7].dll_Service=FisWeb
Der OpenDialog macht gar nix, damit wählst du nur die zu parsende Datei aus. Der Quelltext füttert das an den Parser des IE (der legt dann die temporäre Datei an), und danach wird der Quelltext zwischen den Body-Tags ins Memo gepackt.

Am einfachsten ist vielleicht UrlDownloadToFile und eine temporäre Datei.


danison - Fr 13.02.09 18:19

@jaenicke

hmm und wieso funktioniert das ganze nicht wenn ich statt

sHTMLFile := OpenDialog1.FileName;

sHTMLFile := 'http://fisweb.gvb.at/scripts/cwisapi42.dll?Service=FisWeb';

hinschreibe?


jaenicke - Fr 13.02.09 18:25

Weil OpenDialog1.FileName eine lokale Datei ist und dein String eine Internetadresse. Herunterladen tut der Quelltext nichts. Der parst nur eine lokale Datei.


Yogu - Fr 13.02.09 18:31

Du musst die Datei erst vom Server herunterladen. Da offensichtlich POST-Daten gesendet werden müssen, empfehle ich die Indys. Warum willst du sie nicht verwenden?


danison - Fr 13.02.09 18:39

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Weil OpenDialog1.FileName eine lokale Datei ist und dein String eine Internetadresse. Herunterladen tut der Quelltext nichts. Der parst nur eine lokale Datei.


und wie mache ich aus einer internetadresse eine lokale datei?

ich mein der quelltext macht genau dies, nur muss ich jedesmal durch den opendialog. ich bräcuhte nur ein workarround um den opendialog. wenn ich das hätte würd ich ohne probleme weiterkommen.


jaenicke - Fr 13.02.09 18:41

UrlDownloadToFile, wie gesagt. ;-)
Die Datei würde ich im Temp-Verzeichnis anlegen.


danison - Fr 13.02.09 18:48

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
UrlDownloadToFile, wie gesagt. ;-)
Die Datei würde ich im Temp-Verzeichnis anlegen.


danke jetzt kann ich endlich feierabend machen :)