Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/config.php on line 36 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/config.php on line 37 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/lang.php on line 55 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/lang.php on line 55 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/lang.php on line 110 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/lang.php on line 110 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 201 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 201 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 216 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 216 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 231 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 232 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 232 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 233 Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /mnt/web218/a3/28/510129628/htdocs/border_html5.php on line 233 GLBasic User Manual

GLBasic User Manual

Main sections

REDIM

REDIM feld#$[a1] | [a2][a3]...



Weist einem Feld eine neue Größe zu (kleiner oder größer ist egal) und erhält dabei alle Einträge, die sowohl in der alten als auch in der neuen Größe vertreten waren.

Wenn man REDIM a[0] macht, wird der Speicher nicht freigegeben. Damit kann man ein bereits dimensioniertes Feld schnell wiederverwenden.
Der Befehl REDIM ruft intern zuerst DIM auf. DIM versucht bereits alloziierten Speicher zu verwenden und alloziiert meistens etwas mehr um beim nächsten Vergrößern des Feldes noch Platz in der Hinterhand zu haben. Die Grße hängt vom erforderlichen Speicherbedarf und der aktuellen Platform ab.
Um Speicher wirklich freizugeben muss DIM feld[0] gemacht werden.

// --------------------------------- //
// Project: REDIM
DIM a[5][4]
    Fill(a[])
    view(a[], 0)

REDIM a[6][3]
    view(a[], 256)

SHOWSCREEN
MOUSEWAIT


// ------------------------------------------------------------- //
// -=# FILL #=-
// ------------------------------------------------------------- //
FUNCTION Fill: f[]
    FOR x=0 TO BOUNDS(f[],0)-1
        FOR y = 0 TO BOUNDS(f[],1)-1
            f[x][y] = x+10*(y+1)
        NEXT
    NEXT
ENDFUNCTION // FILL

// ------------------------------------------------------------- //
// -=# VIEW #=-
// ------------------------------------------------------------- //
FUNCTION view: f[], dy
    FOR x=0 TO BOUNDS(f[],0)-1
        FOR y = 0 TO BOUNDS(f[],1)-1
            PRINT f[x][y], x*80, y*20 + dy
        NEXT
    NEXT
ENDFUNCTION // VIEW

See also...