Delphi-PRAXiS

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;

omata 28. Feb 2012 23:59

AW: HTML Tabelle in Stringgrid Problem
 
Hier mal ein Beispiel...

[Anhang wegen Schlaubergeralarm gelöscht]

vagtler 29. Feb 2012 06:58

AW: HTML Tabelle in Stringgrid Problem
 
Zitat:

Zitat von omata (Beitrag 1153560)
[...]

Hier bewahrheitet es sich mal wieder, dass sich nach einem beliebigen Zeitraum immer jemand findet, der dann doch schlussendlich (unbrauchbaren) Copy'n'Paste-Code liefert.

Und unbrauchbar im konkreten Fall auch noch im doppelten Sinne: einerseits tendiert der Lerneffekt - wie fast immer bei solchen Beiträgen - auf Grund der mangelnden Erläuterungen (noch nicht einmal - und das wäre absolute Minimalanforderung - ein einziger Kommentar befindet sich im Quelltext...) gegen Null und andererseits wird das von klaus9 zuletzt geschilderte Problem noch nicht einmal ansatzweise aufgegriffen.

Welche Motivation steckt hinter solchen Beiträgen? Dass die Fragesteller einfach schnell abgefrühstückt werden und uns bloss nicht weiter mit ihren (Einsteiger-)Problemen belästigen? Wäre es nicht viel sinnvoller und zielführender - nicht zuletzt im Sinne dieses Forums - sie auf dem Weg zu einer eigenen Lösung zu begleiten?

Dabei sage ich explizit nicht, dass mein Ansatz der (einzig) richtige ist, aber das Posten von unkommentierten Quellcodebeispielen ist es ganz gewiss nicht...

Sorry, aber das musste mal raus...

Luckie 29. Feb 2012 07:40

AW: HTML Tabelle in Stringgrid Problem
 
Deswegen auch erst mal nur mein Beispielcode mit einer Listbox. Aber letztendlich muss jeder selber entscheiden wie und in welchen Umfang er hilft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 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