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 Benutzerhandbuch

GLBasic Benutzerhandbuch

Main sections

FOREACH

FOREACH ref IN feld[]
...
NEXT



Mit dem FOREACH Befehl kann man schnell und einfach ein Feld durchlaufen und daraus Werte lesen und zurückschreiben.
Dabei wird "ref" je Schleifendurchlauf ein Zeiger (BYREF) auf das nächste Element im Feld zugewiesen.
Man muss "ref" nicht als LOCAL definieren. Das passiert automatisch. Jedoch ist "ref" nach dem zugehörigem "NEXT" nicht mehr gültig.

Mit anderen Befehlen ausgedrückt bedeutet FOREACH in etwa:

FOR i = 0 to BOUNDS(feld[],0)-1
ref = feld[i]
...
feld[i] = ref
NEXT


Beispiel:
// --------------------------------- //
// Project: ForEach

// Make an array of numbers
// Ein Feld von Zahlen
DIMDATA a[], 12,14,15,17

// Enumerate the numbers
// Die Zahlen durchlaufen
FOREACH num IN a[]
    a$=a$ + num + ", "
NEXT
PRINT a$, 0,0

// a simple TYPE
// ein einfacher TYPE
TYPE SHOP
    milk$
ENDTYPE

// An array-instance of it
// Eine Feld-Instanz davon
LOCAL kmart[] AS SHOP

// Fill with values
// Mit Werten füllen
DIM kmart[3]
    kmart[0].milk$ = "fat free"
    kmart[1].milk$ = "fatty"
    kmart[2].milk$ = "butter"

    a$=""
    // Enumerate all shops
    // Alle shops durchlaufen
    FOREACH item IN kmart[]
        a$ = a$ + item.milk$ + ", "
    NEXT
    PRINT a$, 0, 40


    SHOWSCREEN
    MOUSEWAIT

See also...