BlitzArray Größe ändern

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Producer

Betreff: BlitzArray Größe ändern

BeitragDi, Jul 01, 2008 0:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin hier grad mal wieder am verzweifeln mit BlitzMax...
Und zwar hab ich ein 2-dimensionales Array, z.b.:
Code: [AUSKLAPPEN]
Global MeinArray:Int[2,2]

So... Nun möchte ich aber zur Laufzeit gerne die Größe ändern - dabei kann der Inhalt des Arrays gerne verloren gehen - und zwar soll das Array dann z.B. Eine Größe von MeinArray:Int[4,7] haben - aber wie soll ich das bei Blitzmax anstellen...
Code: [AUSKLAPPEN]
Global MeinArray:Int[4,7]

lässt sich zwar ausführen, aber ich bekomme dann nen MAV sobald ich ein Element von MeinArray anspreche das es vor der Neudeklaration nicht gab. Ich Hab hier zwar auch einen Thread zu dem Thema gefunden - aber da wird das ja mittels Dim gelöst - was es ja bei BM nicht gibt...

Das einzige was ich "nicht" möchte ist den Array gleich mit [4,7] zu deklarieren - Hintergrund: Ich lese die Anzahl der Arrayelemente aus einer Datei aus - würde ich den Array also gleich mit z.B. [4,7] deklarieren könnte es auch sein das der Array stattdessen auf [600,2] erweitert werden soll. Und da sich verschiedene Dateien zur Laufzeit einlesen lassen sollen lässt sich das auch nicht vor die Deklaration packen....

Ich hoffe ihr könnt mir helfen.
Vielen Dank schonmal...
in this world, all i got is my word and my balls, and i don't break em for nobody
 

Dreamora

BeitragDi, Jul 01, 2008 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt in BM keine "Blitz Arrays", nur Arrays.

Multidimensionale Arrays kannst du nicht vergrössern / verkleinern. Wenn du jedoch den Inhalt nimmer brauchst kannst du hier zb einfach new Int[4,7] nutzen.

Wenn du vergrössern / verkleinern willst musst du Array of Array nutzen sowie Slices. Slices sind in der Dokumentation sehr gut beschrieben.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Producer

BeitragDi, Jul 01, 2008 1:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Es gibt in BM keine "Blitz Arrays", nur Arrays.

Multidimensionale Arrays kannst du nicht vergrössern / verkleinern. Wenn du jedoch den Inhalt nimmer brauchst kannst du hier zb einfach new Int[4,7] nutzen.

Wenn du vergrössern / verkleinern willst musst du Array of Array nutzen sowie Slices. Slices sind in der Dokumentation sehr gut beschrieben.

Oh, ja stimmt... "Arrays" - mein ich ja... Embarassed

Vielen Dank für deine Hilfe - funktioniert super! Very Happy
(mit "new Int[4,7]")
in this world, all i got is my word and my balls, and i don't break em for nobody
 

Ascendic

BeitragMo, Sep 08, 2008 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Global map:Int[2,2]

sry, habs noch nicht ganz verstanden. Wie muss die array-zeile dann aussehen (in bb: Dim map(4,7))

map = New Int[4,7]
???

mfg,
Padde
mail: info@ascendic.com
icq: 413434626
VFX: http://youtube.com/watch?v=TBPZ40y0VB8
User posted image

Jolinah

BeitragMo, Sep 08, 2008 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst eine Array-Variable auch ohne Grössenangabe deklarieren, und sie muss auch nicht Global sein wie bei BB:


Code: [AUSKLAPPEN]
Local map:Int[,] = new Int [2,2]

...

map = new Int[4,7]
 

Ascendic

BeitragMi, Sep 10, 2008 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert, vielen Dank Smile
mail: info@ascendic.com
icq: 413434626
VFX: http://youtube.com/watch?v=TBPZ40y0VB8
User posted image

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group