Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   HTML Tabelle in Stringgrid Problem (https://www.delphipraxis.net/166731-html-tabelle-stringgrid-problem.html)

klaus9 27. Feb 2012 14:35

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;

DeddyH 27. Feb 2012 14:42

AW: HTML Tabelle in Stringgrid Problem
 
Was ist eine StringGridListe? :gruebel:

Steku 27. Feb 2012 14:48

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

Bummi 27. Feb 2012 14:48

AW: HTML Tabelle in Stringgrid Problem
 
Delphi-Quellcode:
for z := 0 + YOFFSET to r-1 + YOFFSET do
aber schön ist das nicht ....

vagtler 27. Feb 2012 14:56

AW: HTML Tabelle in Stringgrid Problem
 
Irgendwie fühle ich mich gerade ein wenig veräppelt: http://www.delphipraxis.net/1152999-post22.html

p80286 27. Feb 2012 15:32

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

klaus9 27. Feb 2012 20:59

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..

rwachtel 27. Feb 2012 23:13

AW: HTML Tabelle in Stringgrid Problem
 
Zitat:

Zitat von klaus9 (Beitrag 1153263)
Hi habe es mal mit offset probiert funktioniert aber leider auch nicht :-( [...]

Das ist aber eine eher suboptimale Problembeschreibung. Was funktioniert denn nicht?

klaus9 28. Feb 2012 22:26

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

Luckie 28. Feb 2012 22:58

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 18:17 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