Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Interneteintrag in Listview auflisten (https://www.delphipraxis.net/141569-interneteintrag-listview-auflisten.html)

eistee 11. Okt 2009 17:12


Interneteintrag in Listview auflisten
 
Guten Tag,

ich will endlich mal wieder ein kleines Programm schreiben um wieder reinzukommen und wollte eine Methode wissen wie mann sowas

http://img5.imagebanana.com/img/btub4jm/http.JPG

In einer Listview so auflisten kann :

http://img5.imagebanana.com/img/kriqex6q/glckskeks.JPG

Codeschnipsel sind erwünscht. :-)

Mit freundlichen Grüßen,
Eistee

Edit :

Hier der HTTP Code

Delphi-Quellcode:
   <td>[B][Artikelname][/B]</td>
   <td>[B][Preis][/B]</td>
   <td>[B][Verfügbarkeit][/B]</td>

   <td>[B][In den Korb][/B]</td>
   </tr>
      <tr>
   <td>Glückskeks</td>
   <td><center>0.2</center></td>
   <td><center>
                        <div style="color: limeGreen;">Verfügbar</div>

                        </center></td>

jfheins 11. Okt 2009 17:17

Re: Interneteintrag in Listview auflisten
 
Eine Listview hat Items und jedes Item wiederum Subitems ;)

Code z.B. hier: http://www.delphipraxis.net/internal...tview+item+add

eistee 11. Okt 2009 17:29

Re: Interneteintrag in Listview auflisten
 
Das ist nicht das Problem.

Sondern das herrausschreiben aus der .php File und das richtige zu finden.

jfheins 11. Okt 2009 17:35

Re: Interneteintrag in Listview auflisten
 
Achso ^^

Ich nehme mal an, das ist nicht "dein" PHP-Skript (kannst also die Ausgabe nicht beeinflussen) ?

Also im einfachsten Fall kannste einfach nen XML-Parser drüberlaufen lassen und dir die Daten rauspicken.
Ansonsten halt "selber parsen" mit Stringfunktionen/regulären Ausdrücken.

Ist die Struktur immer gleich?

eistee 11. Okt 2009 17:45

Re: Interneteintrag in Listview auflisten
 
Die Struktur ist immer gleich allerdings war das jetzt nur ein Beispiel mit einem Eintrag es kann auch sein das es mehrere Seiten sind voller Einträge.

Hast du vielleicht mal einen Code Schnipsel für den XML-Parser weil damit habe ich noch nie gearbeitet.

Mit freundlichen Grüßen,
Eistee

eistee 11. Okt 2009 19:18

Re: Interneteintrag in Listview auflisten
 
Delphi-Quellcode:
 
s := idhttp1.GET('http://test/showcat-4');
Anfang := '<td>[B][In den Korb][/B]</td>';
Ende  := 'Anzeigen';
Pos0     := Pos(Anfang, s);
Ergebnis := Copy(s, Pos0 + length(Anfang), 100);
Pos1     := Pos(Ende, Ergebnis);
Delete(Ergebnis, Pos1, 100 + length(Anfang));
Delete(Ergebnis, 1, 20);

Showmessage(ergebnis);
Anzeigen klappt zwar aber es kann sein das der Eintrag verändert wird wie automatiesiere ich die Delete Funktion, und es kann ja sein das mehrere Einträge da sein könnten ich verzweifel noch dran :-(

Mfg,
Eistee

eistee 11. Okt 2009 20:47

Re: Interneteintrag in Listview auflisten
 
Delphi-Quellcode:
      Anfang := '<td>[B][In den Korb][/B]</td>';
Ende  := 'Anzeigen';
Pos0     := Pos(Anfang, s);
Ergebnis := Copy(s, Pos0 + length(Anfang), 129);
Pos1     := Pos(Ende, Ergebnis);
Delete(Ergebnis, Pos1, 129 + length(Anfang));
ergebnis := Stringreplace(ergebnis, '<center>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '</center>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '<td>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '</td>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '<div style=', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '<tr>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '</tr>', '', [rfReplaceAll]);
ergebnis := Stringreplace(ergebnis, '"color: limeGreen;">', '', [rfReplaceAll]);

Showmessage(ergebnis);
Damit bekomme ich jetzt

Glückskeks
0.2
Verfügbar

angezeigt wie bekomm ich es in das Listview bzw wie trenne ich die 3 Sachen?

Mfg

jfheins 11. Okt 2009 21:07

Re: Interneteintrag in Listview auflisten
 
Naja, trennen aich mit Pos, Copy und Delete (Zeilenumbruch ist #13#10) ;)

Wie man Items in ein Listview tut, habe ich ja oben schon verlinkt ;)

eistee 11. Okt 2009 22:00

Re: Interneteintrag in Listview auflisten
 
Naja es kann ja Morgen auch schon z.B Getränke dort stehen und was mach ich dann?
Dann muss ich alle Zahlen ändern das bringt doch nichts.

Auserdem wenn es mehrere sind bringt es auch nichts...

Gibt es da keine andere Methode?

Luckie 11. Okt 2009 23:08

Re: Interneteintrag in Listview auflisten
 
Zitat:

Zitat von eistee
Das ist nicht das Problem.

Sondern das herrausschreiben aus der .php File und das richtige zu finden.

Und was hat dein Problem denn dann mit der Überschrift zu tun? Dein Problem ist doch ein ganz anderes, nämlich das extrahieren der gewünschten Informationen aus einer HTML-Seite. Das hat doch primär mit dem Listview nichts zu tun.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
Seite 1 von 2  1 2      

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