AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Variable in Array

Ein Thema von Yheeky · begonnen am 9. Jul 2005 · letzter Beitrag vom 9. Jul 2005
Antwort Antwort
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

Variable in Array

  Alt 9. Jul 2005, 16:44
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:
type
    TFeldDaten = record
      FeldArt : Integer;
    end;

type
    TFelder = record
      FeldX, FeldY : Integer;
      Felder : Array [1..100] of TFeldDaten;
    end;
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?

Gruß Yheeky

[edit=alcaeus]code- durch delphi-Tags ersetzt. In Zukunft bitte die richtigen Tags verwenden, danke. Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Variable in Array

  Alt 9. Jul 2005, 16:48
Um die Dimensionen zur Laufzeit zu verändern, musst du ein Delphi-Referenz durchsuchendynamisches Array benutzen.

[add] Oder TFeldDaten gleich als Klasse und Felder als TObjectList .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Variable in Array

  Alt 9. Jul 2005, 16:50
SetLength() ist das wes du brauchst. Und obige Link .
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Variable in Array

  Alt 9. Jul 2005, 16:51
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:
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);
beachten musst du dabei aber das dein Array jetzt 0 basierend ist (also von 0 bis 399)

//Edit wegen rotem kasten: beide vorangegangene Posts zusammengefasst
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz