![]() |
Dynamisches 2D array deklatieren. Wie?
Hallo, tja, wie geht das?
Ich meine das hier: ein dynamischea array:
Delphi-Quellcode:
mein 2D array:
a: array of real;
Delphi-Quellcode:
jetzt möchte ich das so haben:
a: array[1..20,1..3] of real;
Delphi-Quellcode:
Das dürfte ja kein so großes Problem sein. :mrgreen:
a: array[ListBox1.Count-1,1..3] of real;
Aber ich schaff es nicht. ;) |
Re: Dynamisches 2D array deklatieren. Wie?
Hallo,
Diese Deklaration deklariert kein dynamisches Array. Nach dem die Struktur erzeugt ist ist das Ding statisch. So gehts nicht. Schau mal in der Delphi Hilfe unter dynamische Arrays, da kriegst du explizit erklärt wie man dynamische Arrays deklariert und ihre Grösse festlegt. Solltest du Probleme haben, schick mir ne Mail. nimoee |
Re: Dynamisches 2D array deklatieren. Wie?
Nein, poste hier im Forum!
Schau mal unter SetLength nach. |
Re: Dynamisches 2D array deklatieren. Wie?
Ich habe festgestellt, dass ein 2D array das hier ist:
Delphi-Quellcode:
Das suche ich gar nicht. :mrgreen:
array of array...
Ich möchte eine ganz einfache Matrix haben mit 3 Spalten und beliebig vielen Zeilen. Kann mir da jemand helfen? Also das hier, nur dynamisch:
Delphi-Quellcode:
a: array[1..20,1..3] of real;
|
Re: Dynamisches 2D array deklatieren. Wie?
@Tpercon:
Bei SetLength finde ich nur das hier:
Delphi-Quellcode:
var
arr : array of integer; begin SetLength(arr, 10); ... |
Re: Dynamisches 2D array deklatieren. Wie?
Vielleicht so? :roll:
array2D: array[1..3] of array of double; SetLEngth(array2D[1], 20); |
Re: Dynamisches 2D array deklatieren. Wie?
Jetzt habe ich das so:
Delphi-Quellcode:
Was gehört hinter das Komma?
A:array of array[1..3] of real;
SetLEngth(A[ListBox1.Count-1],); |
Re: Dynamisches 2D array deklatieren. Wie?
Auszug aus der Delphi-Hilfe
Zitat:
|
Re: Dynamisches 2D array deklatieren. Wie?
Die Größe des dynamischen Arrays.
|
Re: Dynamisches 2D array deklatieren. Wie?
Delphi-Quellcode:
Geht das so? Ober habe ich ja mit
SetLEngth(A,ListBox1.Count-1);
Delphi-Quellcode:
Schon die 2. Spalte bestimmt, muss ich die dann nicht mehr angeben?
A:array of array[1..3] of real;
|
Re: Dynamisches 2D array deklatieren. Wie?
Es müßte glaube
Delphi-Quellcode:
heißen. Probier's doch mal aus!
SetLEngth(A[1],ListBox1.Count-1);
|
Re: Dynamisches 2D array deklatieren. Wie?
Hab ich auch schon gemacht, dann kommt:
Zitat:
|
Re: Dynamisches 2D array deklatieren. Wie?
Dann überleg mal selbst!
Delphi-Quellcode:
var myarray: array[1..3] of array of real;
SetLength(myarray[1],5); SetLength(myarray[2],5); SetLength(myarray[3],5); |
Re: Dynamisches 2D array deklatieren. Wie?
Danke, aber mein array sieht so aus:
Delphi-Quellcode:
Und ich möchte das auch so herum haben, nur geht das nicht.
Tabelle: array of array[1..3] of real;
Wie weise ich dem 1., nur dem 1. array mit SetLenth etwas zu? also dem:
Delphi-Quellcode:
denn, dem
Tabelle: array...
Delphi-Quellcode:
habe ich ja schon die 3 zugewiesen.
array of array[1..3]
|
Re: Dynamisches 2D array deklatieren. Wie?
So sind alle 3 aber immer gleich groß!
Delphi-Quellcode:
Wenn du das so lassen wilslt, gibt es keine andere Möglichkeit.
SetLength(myarray,5);
|
Re: Dynamisches 2D array deklatieren. Wie?
Es ist so:
alle 3 Spalten müssen gleich groß sein. Die Zeilenanzahl soll aber beliebig sein. Z.B. Alle 3 Spalten haben 100 Zeilen, oder 200... Mit deinem SetLength-Code geht das leider nicht. Trotzdem danke für deine Hilfe. |
Re: Dynamisches 2D array deklatieren. Wie?
Mein Programm geht, wenn ich es so mache:
Delphi-Quellcode:
nur das 1..25 möchte ich jetzt so groß haben, wie ListBox1.Count-1. ;)
Tabelle: array[1..25,1..3] of real;
|
Re: Dynamisches 2D array deklatieren. Wie?
Wenn alle nur die Größe 3 gemeinsam haben sollen und die andere bleibig sein soll, mußt du dein array halt wie oben gezeigt umbauen!
|
Re: Dynamisches 2D array deklatieren. Wie?
Ich bekomme das nicht hin. :cry:
Ich habe jetzt:
Delphi-Quellcode:
das geht nicht. :(
Tabelle: array[1..3] of array of real;
... SetLength(Tabelle[1],25); |
Re: Dynamisches 2D array deklatieren. Wie?
Dein letzter Sourcecode geht 100%ig! Damit hast du die Größe der ersten Spalte festgelegt.
|
Re: Dynamisches 2D array deklatieren. Wie?
Vielen Dank!
Das geht jetzt, nachher kommt zwardie Fehlermeldung Ungültige Zeichenoperation, aber das liegt wohl an meinem Programm. ;) Nachtrag: Hab den Fehler gefunden. :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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