![]() |
dynamisches Array in einem Record?
Hallo zusammen,
ich habe ein kleines Problem mit variablen Arraygrößen. Zunächst einmal habe ich ein statisches Array mit 100 Elementen. Z.B.
Delphi-Quellcode:
Jetzt kommt das Problem:
MyTable:array[1..100] of MyElement;
MyElement ist ein Record, der ein Array enthalten soll, bei dem ich nicht vorher weiß, wie groß es werden soll, also etwa
Delphi-Quellcode:
Das Array im Record enthält mindestens 2 Werte und maximal 256 Werte. Der Wert n soll während der Laufzeit geändert werden können, also größer oder kleiner werden (Minimum=2; Maximum=256).MyElement = record n:Integer; // Größe des folgenden Arrays MyArray:array[1..n] of Extended; end; Geht das? Ich habe dazu leider gar keine Idee. Kann mir bitte jemand helfen. Ich bin auch für andere Lösungen dankbar, sie müssen nur die beschriebenen Anforderungen erfüllen. Vielen Dank, em-sigma |
Re: dynamisches Array in einem Record?
Welche Delphi-Version benutzt du? Klappen bei dir schon Dynamische Arrays:
Delphi-Quellcode:
Ansonsten das Ganze über Listen realisieren.
var
MyTable: array of MyElement; [...] SetLength(MyTable, 32); /* --> MyTable[0] bis MyTable[31] |
Re: dynamisches Array in einem Record?
Delphi-Quellcode:
Das müsste funktionieren :)
MyElement = record
n:Integer; // Größe des folgenden Arrays MyArray:array of Extended; end; var x : MyElement; begin SetLength(x.MyArray, x.n); end; |
Re: dynamisches Array in einem Record?
@Grishnak:
das übergeordnete Array war nicht das Problem, sondern das Array innerhalb des Records. @SubData: Deine Lösung sieht interessant aus. Aber kann ich damit jedem Element (also jedem Record) des übergeordneten Arrays ein Array geben, das eine andere Größe hat? Also z. B. so:
Delphi-Quellcode:
Ich werde das mal ausprobieren.
type
MyElement = record n:Integer; MyArray:array[1..n] of Extended; end; var MyTable:array[1..1000] of MyElement; [...] SetLength(MyTable[78].MyArray,MyTable[78].n); // Das funktioniert??? SetLength(MyTable[79].MyArray,MyTable[79].n); // Hab ich dadurch zwei verschieden große Arrays? Vielen Dank, em-sigma |
Re: dynamisches Array in einem Record?
Jap kannst du ^^
|
Re: dynamisches Array in einem Record?
Danke für die tolle Hilfe.
Es hat wunderbar geklappt. Vielen Dank, em-sigma |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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