Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verschachtelung, die ich nicht hinbekomme (https://www.delphipraxis.net/28271-verschachtelung-die-ich-nicht-hinbekomme.html)

torud 22. Aug 2004 13:49


Verschachtelung, die ich nicht hinbekomme
 
Hallo Leute,

ich muss eine HTML-Tabelle erstellen. Ich moechte in diese automatisch eine bestimmte Anzahl von Bilder anzeigen und muss dafuer zwei Schleifen ineinander verschachteln, bekomme es aber einfach nicht gebacken.

Ich lade z.B. 9 Bilder in eine Listbox und moechte in jede Zeile 3 Bilder anzeigen. 1. Zeile die ersten 3 Bilder, 2 Zeile die naechsten 6 Bilder u.s.w.

Mein Problem ist nun, dass ich nicht weiss, wo ich wie was zaehlen und verschachteln muss.

Delphi-Quellcode:
TabString.Add('<table>');
  for i:= 1 to 3 do
    begin
      TabString.Add('<tr>');
      for k:=0 to listbox1.count - 1 do
        begin
          TabString.Add('<td><img src ="'+listbox1.strings[i]+'"></td>');    
        end;
      TabString.Add('</tr>');
    end;
TabString.Add('</table>');
Irgendwie habe ich einen Denkfehler. Ich weiss, dass ich irgendwo noch einen Counter einbauen muss, damit ich aus der Listbox beim ersten Durchlauf die Bilder 1-3 nehme und beim 2 Durchlauf die Bilder 4-6, aber ich kann wohl einfach nicht abstrakt genug denken!?

Kann jemand helfen??

jfheins 22. Aug 2004 14:12

Re: Verschachtelung, die ich nicht hinbekomme
 
Vielleicht geht es mit 3 Zählern ?
Delphi-Quellcode:
TabString.Add('<table>');
  for a := 1 to 3 do
    begin
      TabString.Add('<tr>');
      for b := 1 to 3 do
        begin
          inc (i);
          TabString.Add('<td><img src ="'+listbox1.strings[i]+'"></td>');  
        end;
      TabString.Add('</tr>');
    end;
TabString.Add('</table>');

MrSpock 22. Aug 2004 14:13

Re: Verschachtelung, die ich nicht hinbekomme
 
Hallo torud,

das müsste so gehen:

Delphi-Quellcode:
TabString.Add('<table>');
  for i:= 0 to 2 do
    begin
      TabString.Add('<tr>');
      for k:=0 to 2 do
        begin
          TabString.Add('<td><img src ="'+listbox1.strings[3*i+k]+'"></td>');    
        end;
      TabString.Add('</tr>');
    end;
TabString.Add('</table>');

torud 22. Aug 2004 14:32

Re: Verschachtelung, die ich nicht hinbekomme
 
Hallo Ihr 2,

danke erstmal! So weit so gut, aber ich hatte in meinem Sourcode mit Absicht den Listbox.Count benutzt, da ich eigentlich eine dynamische Loesung benoetige. Das heisst, wenn mal 10 Bilder in der Listbox sind, sollte natuerlich eine 4. Zeile begonnen werden. Dazu muesste ich dann wahrscheinlich den Code so gestalten???

Delphi-Quellcode:
 Count:=Listbox.Count-1;
 RowCount:=Count div 3
 TabString.Add('<table>');

  for i:= 0 to RowCount do
    begin
      TabString.Add('<tr>');
      for k:=0 to 2 do
        begin
          TabString.Add('<td><img src ="'+listbox1.strings[3*i+k]+'"></td>');    
        end;
      TabString.Add('</tr>');
    end;

TabString.Add('</table>');
Ist noch nicht so ganz das Wahre, glaube ich, da die Division jetzt keinen Wert 4 Zureuckgibt. Wie kann man das noch abfangen?

Snoop007 22. Aug 2004 15:01

Re: Verschachtelung, die ich nicht hinbekomme
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi,
im anhang findest du ein bsp

torud 22. Aug 2004 15:07

Re: Verschachtelung, die ich nicht hinbekomme
 
Habs mir mal gezogen und sage brav Danke!

Genau sowas habe ich gebracut. Habe es noch etwas an meine Beduerfnisse angepasst und bin sehr zufrieden!

Snoop007 23. Aug 2004 10:59

Re: Verschachtelung, die ich nicht hinbekomme
 
freut mich :)

XeRo 23. Aug 2004 11:54

Re: Verschachtelung, die ich nicht hinbekomme
 
Wenn ud eine funktionierende lösung hast, zeigst du sie uns dann? Würd mich interessieren wie das ganze dann aussieht... :roll:

Luckie 23. Aug 2004 12:03

Re: Verschachtelung, die ich nicht hinbekomme
 
Zitat:

Zitat von XeRo
Wenn ud eine funktionierende lösung hast, zeigst du sie uns dann? Würd mich interessieren wie das ganze dann aussieht... :roll:

Klingt so, als wenn die funktionierende Lösung der Anhang von Snoop007 ist.

XeRo 23. Aug 2004 15:16

Re: Verschachtelung, die ich nicht hinbekomme
 
Ich meine ja auch das ganze fertig programm (z.b. unter "freeware" oder "open source")...
...suche nämlich schon länger nach so etwas für eine Klassen-HP mit bildgallerie :stupid:

Ich war bis jetzt nur zu faul so was selbst zu machen :oops:


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