Html tabelle auslesen und in Form einf?gen

  • Hallo,
    wie im Titel beschrieben suche ich ein Tutorial wie ich eine html Tabelle mit mehreren Zeilen und Spalten auslesen und dann in eine Tabelle meiner Form einf?gen lassen kann.


    Habe nur sachen gefunden wie "html quelltext auslesen" aber das hilft mir nicht wirklich weiter.


    So far... Doc

  • Erstmal danke das du hier gekommen bist ^^
    Also, vlt kann ich dir ja so weiter helfen.
    Schick mal die Seite die du haben willst und die Felder ,
    Vlt kannst du das ja dann mit hilfe von PHP und Delphi.

  • was du ben?tigst:

    1. http.get (indy ist der einfachste weg)
    2. string operationen
    -copy
    -delete
    -pos
    3. bisschen verstand und den n?tigen willen :D


    du schaust dir den seitenquelltext im browser an und suchst nach den stellen die du in deine tabelle eintragen willst.

    Code
    <th>Firstname</th><th>Lastname</th><th>rlDay</th><th>rlMonth</th><th>rlYear</th>


    erst holste dir mit idhttp1.get den seitenquelltext in einen string und dann musst du in einer schleife, solange '<th>' oder '<td>'noch im string sind, das teil kopieren, was du haben willst.
    beispiel um an Firstname zu kommen:

    Code
    function gettext(data:string):string;
    begin
    result := copy(data,pos('<th>',data)+4,pos('</th>',data)-pos('<th>',data)-4);
    end;


    das wichtige ist die zeile mit result ^^
    dann ?berlegste dir halt wie ich das gemacht habe und ?bertr?gst das beispiel auf die anderen stellen ;)


    hf&gl

  • versuch erstmal in eine memo den seitenquelltext einzuf?gen.
    das machste indem du die ne idhttp komponente auf die form ziehst (falls du delphi 2007 oder neuer nutzt schon enthalten [zu finden unter indy clients]) und einen button.
    dann klickste den button doppelt an und du schreibst zwischen begin und end:

    Code
    einstring := idhttp1.get('http://black-hosting.org/prison/show2.php');


    danach packste das ganze ?ber

    Code
    memo1.text := einstring;

    in dein memofeld und freust dich :D


    wenn du das noch nicht verstanden hast empfehle ich dringend(!) erstmal die grundlagen zu lernen. sp?ter kannste dann wie in deinem fall n?tig den seitenquelltext nach deinen w?nschen beschneiden :).

  • also gut.


    copy: kopiert einen teil eines strings.
    pos: gibt dir die position des gew?hlten substrings an.
    delete: l?scht einen teil.

    Code
    <th>Firstname</th>


    um an firstname heranzukommen musst du:


    1.die position von '<th>' herausfinden.
    ->

    Code
    pos('<th>',einstring);


    das liefert dier den wert der position '<' -> also +4
    2.ab da kopieren.
    ->

    Code
    copy(einstring,von welcher stelle an(s. 1.),bis wie weit);


    wie weit erh?lst du indem du die position von '</th>' suchst.
    dann musst du aber wieder was abziehen, da '<th>' ja nicht der erste buchstabe vom string war!
    ->

    Code
    pos('</th>',data)-pos('<th>',data)-4


    "-pos('<th>',data)-4" ist das was abgezogen wird.
    3. alles zusammensetzen.
    ->

    Code
    copy(data,pos('<th>',data)+4,pos('</th>',data)-pos('<th>',data)-4);


    versuche das zu verstehen, ist eigentlich nicht so schwierig, und probier auch beispiele zu machen.


    greetz