' *****************************************************
' ** MBASIC-Programm zur Demonstration des Gebrauchs **
' **  externer Unterprogramme als Spracherweiterung  **
' *****************************************************
'
  DEFINT A-Z
  OPTION BASE 1
'
' Array-Definitionen:
'
  DIM BUF(10), SBUF(3), TEMP(10)
'
' Array-Laengen in Bytes:
'
  COUNTB = 20
  COUNTS = 6
'
' Array-Laengen in Worten:
'
  WCOUNTB = COUNTB/2
  WCOUNTS = COUNTS/2
'
' Belegen des Arrays BUF mit Werten:
'
  FOR I = 1 TO WCOUNTB
      BUF(I) =2*I
  NEXT I
'
'  Suchkriterium festlegen:
'
  SBUF(1) = 8 : SBUF(2) = 10 : SBUF(3) = 12
'
' ======================================================
' !                                                    !
'              SBUF in BUF suchen:
'
  CALL BLOC(BUF(1),COUNTB,SBUF(1),COUNTS,POINT)
'
' !                                                    !
' ======================================================
'
' (POINT ist Position in Bytes)
'
  IF POINT = 0 THEN 1000
'
  COUNT = COUNTB - POINT + 1
  WPOINT = (POINT + 1)/2
'
'    ==========================================
'    !
'                 Feld TEMP loeschen:
'
     DEL = 0
     CALL BFILL(TEMP(1),COUNTB,DEL)
'
'    Feld BUF ab WPOINT nach TEMP kopieren:
'
     CALL BMOVE (BUF(WPOINT),TEMP(1),COUNT)
'
'    !
'    ==========================================
     GOTO 2000
'
'    SBUF nicht gefunden:
'
1000 PRINT "SBUF nicht gefunden !"
     PRINT : PRINT
'
'    Felder zur Kontrolle ausgeben:
'
2000 PRINT "BUF : "
     FOR I = 1 TO WCOUNTB
          PRINT BUF(I);"  ";
     NEXT I
     PRINT : PRINT
     PRINT "SBUF : "
     FOR I = 1 TO WCOUNTS
          PRINT SBUF(I);" ";
     NEXT I
     PRINT : PRINT
     PRINT "TEMP : "
     FOR I = 1 TO WCOUNTB
          PRINT TEMP(I);" ";
     NEXT I
'
'    ******************************************
'
'    Bearbeitung eines Strings:
'
     ST$ = "Dies ist ein String"
     CALL UCASE (ST$)
'
     PRINT : PRINT
     PRINT ST$
'
     END
Bild 5. So werden externe Unterprogramme von MBasic aus benutzt
[BASIC source listing]