Main sections
FUNCTION
FUNCTION name#$ : arg1#$, arg2#$...
 ...
ENDFUNCTION
Mit FUNCTION erstellt man Funktionsdefinitonen. name#$ ist der Name der Funktion. argx#$ sind die Argumente, die die Funktion als Übergabeparameter benötigt. Diese Variablen sind im Bereich der Funktionsdefinition LOKAL.
Der Rückgabewert der Funktion wird duch den Parameter des Befehls: RETURN angegeben.
Ein Funktionsaufruf geschieht durch den Namen der Funktion mit einer Klammer:
a=name(3,4)
Eine Funktion muss nicht immer einen Wert zurückgeben. Das erreicht man, indem man nur RETURN ohne Wert verwendet. Der Rückgabewert wird dann '0' sein.
Sample:
 
// Function
  a$=Right$("123456",  2); // 56
  PRINT a$, 100, 80
LOCAL a
  a=7; b=12; GLOBAL a=15
  c=Max(a, b) // 7, 12
  Center("c="+c, 100) // 12
  Center ("a="+a, 140) // 7
  Center("b="+b, 180) // 12
  Center("GLOBAL a="+GLOBAL a, 220) // 0 (function: Max)
  SHOWSCREEN
MOUSEWAIT
// ------------------------------------------------------------- //
// -=#  MAX - größere Zahl(a, b) / bigger number(a, b) #=-
// ------------------------------------------------------------- //
FUNCTION Max: a, b
  // Diese Variablen sind als LOCAL definiert:
  // a, b
LOCAL ret
  IF a>b 
    ret=a
  ELSE
    ret=b
  ENDIF
  // Das hat keinen Einfluss auf die globalen Variablen
  a=0
  // Das schonl
  GLOBAL a=0
  RETURN ret
ENDFUNCTION // MAX
// ------------------------------------------------------------- //
// -=#  CENTER  #=-
// ------------------------------------------------------------- //
FUNCTION Center: text$, y
  // Diese Variablen sind als LOCAL definiert:
  // text$, y
  PRINT text$, (640-LEN(text$)*16)/2, y
ENDFUNCTION // CENTER
// Eine Funktion mit Wort als Rückgabewert
// ------------------------------------------------------------- //
// -=#  RIGHT$  #=-
// ------------------------------------------------------------- //
FUNCTION Right$: word$, size
  // Diese Variablen sind als LOCAL definiert:
  // These values are defined LOCAL:
  // word$, size
  RETURN MID$(word$, LEN(word$)-size, size)
ENDFUNCTION // RIGHT$

