![]() |
dynamisches mehrdimensionales Array durchlaufen
huhu...
Wie kann man / kann man überhaupt ein dynamisches, mehrdimensionales Array in einer schleife durchlaufen? TIA Shalom & Gesegnete Weihnachtszeit :xmas: |
Re: dynamisches mehrdimensionales Array durchlaufen
Mit den Funktionen High und Low kriegst du die Ober- und Untergrenze deines Arrays. Das klappt aber, wenn ich mich nicht irre, für eindimensionale Arrays. Aber vielleicht gehen so Konstrukte wie
Delphi-Quellcode:
arr : array of array of integer ;
... High(arr[0]) ; |
Re: dynamisches mehrdimensionales Array durchlaufen
Ja mit high und low hab ich auch schon überlegt... vielleicht muss man da ne rekursive funktion schreiben... hm... mal überlegen...
|
Re: dynamisches mehrdimensionales Array durchlaufen
Delphi-Quellcode:
for I := low(MyArray) to high(MyArray) do
for J := low(MyArray[i]) to high(MyArray[i]) do for K := low(MyArray[I, J]) to high(MyArray[I, J]) do // bla |
Re: dynamisches mehrdimensionales Array durchlaufen
Na das nenn ich fachmännisch ;)
Mal ein kleiner Eingriff in diesen Thread - Es tut mir leid, ich möchte keinen extra Thread dafür anfertigen. Gibt es etwas ähnliches wie WithEach($Array as $i){ ... } (bei PHP) nicht auch in Delphi? |
Re: dynamisches mehrdimensionales Array durchlaufen
Nein, gibt es nicht.
|
Re: dynamisches mehrdimensionales Array durchlaufen
Hallo,
ein Zugriff auf Arraydaten ist im BDS mit der FOR..IN-Schleife möglich, wenn man das Array geeignet vereinbart:
Delphi-Quellcode:
Gruß Hawkeye
type
TDynVector = array of Integer; TDynMatrix = array of TDynVector; var Vector : TDynVector; Matrix : TDynMatrix; row, col : Integer; Value : Integer; begin SetLength (Matrix, 4, 8); for row := 0 to High(Matrix) do for col := 0 to High(Matrix[row]) do Matrix[row, col] := 100 * row + col; for Vector in Matrix do for Value in Vector do // Value enthält jetzt einen Wert der Matrix ; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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