home *** CD-ROM | disk | FTP | other *** search
- '* ------------------------------------------------------- *
- '* GEMISCH2.BAS *
- '* 2. Beispiel für gemischtsprachiges Programmieren *
- '* unter Verwendung von Funktionen der Window-Verwaltung *
- '* in "C" *
- '* "SCREEN" von G. Rühwald aus Pascal Int. 2/88 *
- '* (c) 1989 Michael Rother & TOOLBOX *
- '* ------------------------------------------------------- *
-
- '* Deklarieren der C-Funktionen für den Gebrauch aus Basic
- '* heraus, mit ALIAS-Verwendung, da Unterstriche in Basic
- '* nicht erlaubt sind.
- '* ------------------------------------------------------- *
-
- DECLARE SUB openwindow CDECL ALIAS "_open_window" (BYVAL x1%, BYVAL y1%, BYVAL x2%, BYVAL y2%, BYVAL rand%)
- DECLARE SUB closewindow CDECL ALIAS "_close_window" ()
- DECLARE SUB setattribut CDECL ALIAS "_set_attribut" (BYVAL att%)
-
- '*-------------------------------------------------------- *
- '* BASIC-Hauptprogramm
- CLS
- PRINT "Der freie Far Heap beträgt nun ";
- PRINT SETMEM(0); " Bytes (Taste drücken)"
-
- SLEEP 0: REM bei QuickBASIC < 4.00b: WHILE INKEY$ ="" : WEND
-
- '* Vermindern des BASIC-Far Heaps, damit die allokierenden
- '* C-Funktionen auch Platz vorfinden.
-
- HeapWegnehmen = SETMEM(-40000)
- PRINT "Vermindern des Far Heap um 40000 Bytes"
- PRINT "Der freie Far Heap beträgt nun ";
- PRINT SETMEM(0); " Bytes (Taste drücken)"
- SLEEP 0
-
- '* Aufruf der C-Funktionen durch Öffnen und Schließen von
- '* drei Fenstern
-
- CALL setattribut(10)
- CALL openwindow(15, 13, 65, 19, 1)
- LOCATE 15, 17
- PRINT "das ist ein String aus BASIC, Window 1"
- LOCATE 17, 17
- PRINT "(Taste drücken)"
- SLEEP 0
-
- CALL setattribut(11)
- CALL openwindow(10, 11, 70, 20, 2)
- LOCATE 13, 12
- PRINT "Das ist das zweite Fenster"
- LOCATE 15, 12
- PRINT "(Taste drücken)"
- SLEEP 0
-
- CALL setattribut(12)
- CALL openwindow(1, 1, 80, 25, 1)
- LOCATE 12, 3
- PRINT "Nun ist hier ein ganz großes, drittes Fenster"
- LOCATE 13, 3
- PRINT "(Taste drücken)"
- SLEEP 0
-
- CALL closewindow
- SLEEP 0
- CALL closewindow
- SLEEP 0
- CALL closewindow
- SLEEP 0
-
- CALL setattribut(7)
- END
- '* ------------------------------------------------------- *
- '* Ende von GEMISCH2.BAS *