Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   mehrere HTML Tabellen in Stringgrid einfügen untereinander (https://www.delphipraxis.net/182008-mehrere-html-tabellen-stringgrid-einfuegen-untereinander.html)

klaus9 24. Sep 2014 10:50

mehrere HTML Tabellen in Stringgrid einfügen untereinander
 
Hallo,

ich benötige eine Möglichkeit mehrere HTML Tabellen von Webseiten nacheinander und untereinander in ein Stringgrid einzufügen.

Hat jemand eine Idee für mich ?

Gruß

Perlsau 24. Sep 2014 12:23

AW: mehrere HTML Tabellen in Stringgrid einfügen untereinander
 
Dazu mußt du den zugrundeliegenden HTML-Text parsen. Befasse dich ein wenig mit dem Aufbau von Tabllen in HTML, schau dir den HTML-Quelltext an und lege los.

Und worin besteht dabei dein Problem?

pelzig 24. Sep 2014 12:56

AW: mehrere HTML Tabellen in Stringgrid einfügen untereinander
 
Kannst Du denn überhaupt schon eine dieser "HTML Tabellen von Webseiten" in ein Stringgrid übernehmen?

Falls JA: Wie denn?
- Woher kommen die Tabellen?
- Wie "zerpflückst" Du sie denn bisher?

MfG

klaus9 24. Sep 2014 17:00

AW: mehrere HTML Tabellen in Stringgrid einfügen untereinander
 
Hallo,

hier wie folgt mein Code

Delphi-Quellcode:
procedure TForm1.Button9Click(Sender: TObject);
var aNode,aNode2 : Olevariant;
   r,c,z,z2 : Integer;


begin

  aNode := WebBrowser1.OleObject.Document.all.tags('table').Item(5);
    r := aNode.all.tags('tr').Length;//Zeilen feststellen
  StringGrid1.RowCount := r;
 for z := -0  to r-1  do

    begin
    aNode2 := aNode.all.tags('tr').Item(z);
    c := aNode2.all.tags(Edit6.text).Length;
    if c > 0 then
      begin
      if c > StringGrid1.ColCount then
        StringGrid1.ColCount := c;
      for z2 := 0 to c-1 do
         StringGrid1.Cells[z2,z+1] := aNode2.all.tags('th').Item(z2).innerText;
      end;
    c := aNode2.all.tags('td').Length;
    if c > 0 then
      begin
      if c > StringGrid1.ColCount then
        StringGrid1.ColCount := c;
      for z2 := 0 to c-1 do
        StringGrid1.Cells[z2,z] := aNode2.all.tags('td').Item(z2).innerText;
      end;
    end;

end;

Dieser Code parster mit eine Tabelle aus einer Webseite, ich habe mehrere HTML Seiten, mit dieser Tabellenstruktur, die ich untereinander geparst haben möchte ins Stringgrid.
Seite 1 = 1-50, Seite 2 = 51-100, Seite 3 = 101-150 usw., diese will ich gerne hintereinander anklicken, die HTML Seiten und manuell auswählen und an das vorhande Stringgrid ergebnis anhängen. Derzeit würde er mir, mit obigen Code nur immer eine Tabelle rausparsen.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.

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