' ***************************************************** ' ** 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