Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Zweidimensionales Array und eine for-Schleife? (https://www.delphipraxis.net/185919-zweidimensionales-array-und-eine-schleife.html)

AlexII 17. Jul 2015 17:17

Zweidimensionales Array und eine for-Schleife?
 
Hallo,

ich habe folgende zweidimensionale Arrays:
Delphi-Quellcode:
const
  huhu: array[0..1, 0..5] of String = (
  ('1', '2', '3', '', '4', '5'),
  ('11', '22', '33', '', '44', '55'));
und möchte diese in einer for-Schleife durchlaufen. Wie geht das? Hier hackt es bei mir:

Delphi-Quellcode:
  for i := 0 to huhu[???] do
  begin
    for j := 0 to huhu[???] do
    begin

    end;
  end;
Vielen Dank!

Mavarik 17. Jul 2015 17:29

AW: Zweidimensionales Array und eine for-Schleife?
 
Delphi-Quellcode:
  for i := 0 to 1 do
  begin
    for j := 0 to 5 do
    begin
      XY := huhu[i,j];
    end;
  end;
oder war das nicht die Frage?

AlexII 17. Jul 2015 17:32

AW: Zweidimensionales Array und eine for-Schleife?
 
Wow... so einfach)))) Ok danke!

DeddyH 17. Jul 2015 17:34

AW: Zweidimensionales Array und eine for-Schleife?
 
Und falls sich die Dimensionen einmal ändern könnten:
Delphi-Quellcode:
for i := Low(huhu) to High(huhu) do
  for j := Low(huhu[i]) to High(huhu[i]) do
    MachWas(huhu[i, j]);

AlexII 17. Jul 2015 18:21

AW: Zweidimensionales Array und eine for-Schleife?
 
Super! :thumb:

AlexII 17. Jul 2015 19:40

AW: Zweidimensionales Array und eine for-Schleife?
 
Kann man auch eine ListView verschachtelt laden? Kann das nur mit einer Schleife...

Delphi-Quellcode:
  for i := 0 to 1 do
  begin
    //for j := 0 to 2 do
    //begin
      MyItem := FixedListView.Items.Add;
      MyItem.Caption := huhu[i, 0];
      MyItem.SubItems.Add(huhu[i, 1]);
      MyItem.SubItems.Add(huhu[i, 2]);
    //end;
  end;

DeddyH 17. Jul 2015 21:14

AW: Zweidimensionales Array und eine for-Schleife?
 
Sollte funktionieren (ungetestet):
Delphi-Quellcode:
  for i := Low(huhu) to High(huhu) do
    if Length(huhu[i]) > 0 then
      begin
        MyItem := FixedListView.Items.Add;
        MyItem.Caption := huhu[i, Low(huhu[i])];
        for j := Low(huhu[i]) + 1 to High(huhu[i]) do
          MyItem.SubItems.Add(huhu[i, j]);
      end;


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