![]() |
Variable in Array
Hi,
ich hab eine Landkarte mit Tiles die eine definierbare Größe hat. Standard ist X=10 und Y=10. Nun möchte ich ein Array erstellen, in alle Felder dieser Karte gespeichert werden.
Delphi-Quellcode:
Anstelle von Array [1..100] möchte ich nun eine Variable hineinsetzen, falls der User die Karte auf X=20 und Y=20 erhöht. Dann müsste dort ja Array [1..400] hin. Sobald ich da eine Variable reinschreibe sagt er "Undefinierter Bezeichner". Kennt jemand die Lösung für mein Problem?
type
TFeldDaten = record FeldArt : Integer; end; type TFelder = record FeldX, FeldY : Integer; Felder : Array [1..100] of TFeldDaten; end; Gruß Yheeky [edit=alcaeus]code- durch delphi-Tags ersetzt. In Zukunft bitte die richtigen Tags verwenden, danke. Mfg, alcaeus[/edit] |
Re: Variable in Array
Um die Dimensionen zur Laufzeit zu verändern, musst du ein
![]() [add] Oder TFeldDaten gleich als Klasse und Felder als TObjectList :wink: . |
Re: Variable in Array
SetLength() ist das wes du brauchst. Und obige Link ;).
|
Re: Variable in Array
wenn du die declaration mit einem staatichen Array haben willst geht da nur eine Konstante.
Für deinen Anwendungsbereich wäre ein Dynamiches Array die richtige Lösung.
Delphi-Quellcode:
beachten musst du dabei aber das dein Array jetzt 0 basierend ist (also von 0 bis 399)
type
TFeldDaten = record FeldArt : Integer; end; type TFelder = record FeldX, FeldY : Integer; Felder : Array of TFeldDaten; end; [...] YourVariable := 400; //als Beispiel mal 400 SetLength(YourTFelderRecord.Felder, YourVariable); //Edit wegen rotem kasten: beide vorangegangene Posts zusammengefasst |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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 by Thomas Breitkreuz