Der FoxPro-Kompatible Skriptinterpreter
🔎
Newsletter
Der FoxPro-Kompatible Skriptinterpreter

dimension

Erstellt ein Array mit der gewünschten Anzahl an Elementen (1) oder ein Array mit der gewünschten Anzahl an Zeilen und Spalten (2).

(1) DIMENSION <ArrayName>[NumElements]

(2) DIMENSION <ArrayName>[NumRows, NumColumns]

Der Befehl kann entweder ein eindimensionales Array mit NumElements Elementen erstellen(1) oder ein zweidimensionales Array, mit der angegebenen Anzahl an Zeilen und Spalten.

  1
  2
  3
  4
  5
  6
  7
  8
DIMENSION array[22]
STORE 0 TO array

FOR a= 1 TO 2
  FOR b= 1 TO 2
    ? "array[", a, ",", b,"] =", array[a, b]
  ENDFOR
ENDFOR

array[ 1 , 1 ] = 0
array[ 1 , 2 ] = 0
array[ 2 , 1 ] = 0
array[ 2 , 2 ] = 0

Größe von Arrays ändern

Mit dem DIMENSION-Befehl kann die Größe eines bereits vorhandenen Arrays verändert werden, ohne dass dessen Inhalt verloren geht.

  1
  2
  3
  4
  5
  6
DIMENSION array[1]
STORE 0 TO array
DIMENSION array[3]
FOR EACH item IN array
  ? item
ENDFOR

0
false
false

Kompatiblität mit FoxPro

In DO werden Arrays vollständig an Funktionen übergeben, wenn diese als Parameter verwendet werden. In FoxPro hingegen wird nur das erste Array-Element übergeben.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
* Der folgende Code funktioniert in FoxPro nicht:
DIMENSION array[3]
STORE 11 TO array
printArray(array)

FUNCTION printArray(arr)
  FOR EACH item IN arr
    ? item
  ENDFOR
ENDFUNC

11
11
11