![]() |
HTML Tabelle in Stringgrid Problem
Hallo,
vielleicht kann mir jemand weiterhelfen, ich habe folgenden Code im Netz gefunden um eine HTML Tabelle aus einer Webseite in ein Stringgrid zu bringen. Der Code funktioniert auch sehr gut, nur mein Problem ist jetzt folgendes: Ich will gerne das wenn ich den Code ausführe, mir in die vorhandene Stringgridliste die HTML Tabellen Werte angehängt werden. Nur derzeit überschreibt er mir die Stringgrid bei ausführung. :-( Was muß ich am Code ändern..
Delphi-Quellcode:
procedure TForm1.Button13Click(Sender: TObject);
var aNode,aNode2 : Olevariant; r,c,z,z2 : Integer; begin aNode := WebBrowser1.OleObject.Document.all.tags('table').Item(7); 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('th').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('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; |
AW: HTML Tabelle in Stringgrid Problem
Was ist eine StringGridListe? :gruebel:
|
AW: HTML Tabelle in Stringgrid Problem
so auf den ersten blick würde ich sagen, du ermittelst momentan für
r die zeilenanzahl und läuft diese anzahl dann in einer schleife durch. du fängst aber jedesmall bei null (for z := 0 to r-1) an - damit überschreibst du dann wohl den momentanen inhalt. du müsstest also bei der zeilenzahl die aktuell gefüllten zeilen mit berücksichtigen... gruß steku |
AW: HTML Tabelle in Stringgrid Problem
Delphi-Quellcode:
aber schön ist das nicht ....
for z := 0 + YOFFSET to r-1 + YOFFSET do
|
AW: HTML Tabelle in Stringgrid Problem
Irgendwie fühle ich mich gerade ein wenig veräppelt:
![]() |
AW: HTML Tabelle in Stringgrid Problem
Das Problem ist ja wohl, das Tabellenzellen mit TD oder TH markiert werden.
Wenn die Frage nach "TD" einemn Wert liefert, dann überschreibt "TH" diesen mit nichts und umgekehrt, bleibt die Frage wie .all.tags.Item(xx). nun wirklich funktioniert. (könnte da der debugger weiterhelfen?) Gruß K-H |
AW: HTML Tabelle in Stringgrid Problem
Hi habe es mal mit offset probiert funktioniert aber leider auch nicht :-(
hmm, habe schon überlegt mir die zeilen in einer routine hintereinander zu gestallten sprich 1x klick = Row 1-50, 2x klick 51-100, 3x klick 101-150 usw. und so zum ergebnis zu gelangen.. aber denke es wird irgendwie einfacher gehen.. |
AW: HTML Tabelle in Stringgrid Problem
Zitat:
|
AW: HTML Tabelle in Stringgrid Problem
Hi,
also ich bekomme es irgendwie nicht hin... Gibt es den keine Möglichkeit. Habe heute einige Stunden rumprobiert. Hatte auch mal überlegt wenn ich hin gehe und sagen könnte er soll mir ein die Reihe 1-50 im Stringgrid die ersten Datensätze einfügen und dann 51-100 die nächsten. Aber selbst das bekommme ich leider nicht hin :-( mit dem "for z := 0 + YOFFSET to r-1 + YOFFSET do " YOffset versteh ich leider auch nicht habe da auch mal eine weile rumprobiert.. und auch die variante die datensätze über den excel export zu machen bekomme ich leider auch nicht hin.. also das ich das stringgrid mit daten befülle 50stck. dann diese nach excel exportiere und dann so weiter die nächsten 50 datensätze ins stringgrid und dann wieder nach excel exportieren, bringt mich nicht zum Ergebnis das am Ende die Datensätze in einer Excel Datei oder im Stringrid untereinander eingefügt werden.. verzweifle irgendwie nen bisschen |
AW: HTML Tabelle in Stringgrid Problem
Democode mit einer Listbox:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; OffSet: Integer; begin Offset := StringGrid1.RowCount; StringGrid1.RowCount := StringGrid1.RowCount + ListBox1.Items.Count; for i := 0 to ListBox1.Items.Count - 1 do begin StringGrid1.Cells[0, OffSet + i - 1] := Listbox1.Items[i]; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz