![]() |
verschachtelte dynamische arrays initialisieren
Hallo Community,
ich stolpere über die Initialisierung von folgender Struktur:
Delphi-Quellcode:
Alle Kombinationen, die ich probiert habe, bringen Compilerfehler. Die Variable kann ich aber mit:
Type
korbinhalt = record daten: array of 0..1; diff: integer; end; Korbmenge = Array of korbinhalt; var km: korbmenge; mdaten: integer; procedure TForm1.Button1Click(Sender: TObject); // init var n,k,sum0, anzahl, sda:integer; s1,s2:string; begin anzahl:=strtoint(edit1.Text); mdaten:=strtoint(edit2.Text); setlength(???,mdaten); // bezieht sich auf "daten" oben im Record setlength(km,anzahl);
Delphi-Quellcode:
fehlerfrei adressieren.
km[n].daten[k]:=random(2);
Ich bitte um Hilfe. Gruß Kolonius |
AW: verschachtelte dynamische arrays initialisieren
Delphi-Quellcode:
Type
korbinhalt = record daten: array of 0..1; diff: integer; end; Korbmenge = Array of korbinhalt; var km: korbmenge; mdaten: integer; procedure TForm1.Button1Click(Sender: TObject); var n,k,sum0, anzahl, sda:integer; s1,s2:string; i: integer; begin anzahl:=strtoint(edit1.Text); mdaten:=strtoint(edit2.Text); // Länge des km-Array setzen setlength(km,anzahl); // für jeden Record im km-Array for i := Low(km) to High(km) do begin // die Länge des Daten-Arrays setzen setlength(km[i].Daten, mdaten); end; |
AW: verschachtelte dynamische arrays initialisieren
@dummzeuch
Danke, das war's. Ich wär nicht drauf gekommen, dass man es mit ner Schleife machen muss. Dir noch schöne Weihnachten, bye bye. Kolonius |
AW: verschachtelte dynamische arrays initialisieren
Man mag es vielleicht nicht glauben, aber "DAS" SetLength gibt es garnicht,
und Dank ein bissl Compilermagic ....
Delphi-Quellcode:
SetLength(km, anzahl, mdaten);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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