home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 12 / mixed / gemisch2.bas < prev    next >
Encoding:
BASIC Source File  |  1989-08-18  |  2.2 KB  |  74 lines

  1. '* ------------------------------------------------------- *
  2. '*                     GEMISCH2.BAS                        *
  3. '*     2. Beispiel für gemischtsprachiges Programmieren    *
  4. '*  unter Verwendung von Funktionen der Window-Verwaltung  *
  5. '*  in "C"                                                 *
  6. '*  "SCREEN" von G. Rühwald aus Pascal Int. 2/88           *
  7. '*        (c) 1989 Michael Rother  &  TOOLBOX              *
  8. '* ------------------------------------------------------- *
  9.  
  10. '* Deklarieren der C-Funktionen für den Gebrauch aus Basic
  11. '* heraus, mit ALIAS-Verwendung, da Unterstriche in Basic
  12. '* nicht erlaubt sind.
  13. '* ------------------------------------------------------- *
  14.  
  15. DECLARE SUB openwindow CDECL ALIAS "_open_window" (BYVAL x1%, BYVAL y1%, BYVAL x2%, BYVAL y2%, BYVAL rand%)
  16. DECLARE SUB closewindow CDECL ALIAS "_close_window" ()
  17. DECLARE SUB setattribut CDECL ALIAS "_set_attribut" (BYVAL att%)
  18.  
  19. '*-------------------------------------------------------- *
  20. '*  BASIC-Hauptprogramm
  21. CLS
  22. PRINT "Der freie Far Heap beträgt nun ";
  23. PRINT SETMEM(0); " Bytes (Taste drücken)"
  24.  
  25. SLEEP 0: REM bei QuickBASIC < 4.00b: WHILE INKEY$ ="" : WEND
  26.  
  27. '* Vermindern des BASIC-Far Heaps, damit die allokierenden
  28. '* C-Funktionen auch Platz vorfinden.
  29.  
  30. HeapWegnehmen = SETMEM(-40000)
  31. PRINT "Vermindern des Far Heap um 40000 Bytes"
  32. PRINT "Der freie Far Heap beträgt nun ";
  33. PRINT SETMEM(0); " Bytes (Taste drücken)"
  34. SLEEP 0
  35.  
  36. '* Aufruf der C-Funktionen durch Öffnen und Schließen von
  37. '* drei Fenstern
  38.  
  39. CALL setattribut(10)
  40. CALL openwindow(15, 13, 65, 19, 1)
  41. LOCATE 15, 17
  42. PRINT "das ist ein String aus BASIC, Window 1"
  43. LOCATE 17, 17
  44. PRINT "(Taste drücken)"
  45. SLEEP 0
  46.  
  47. CALL setattribut(11)
  48. CALL openwindow(10, 11, 70, 20, 2)
  49. LOCATE 13, 12
  50. PRINT "Das ist das zweite Fenster"
  51. LOCATE 15, 12
  52. PRINT "(Taste drücken)"
  53. SLEEP 0
  54.  
  55. CALL setattribut(12)
  56. CALL openwindow(1, 1, 80, 25, 1)
  57. LOCATE 12, 3
  58. PRINT "Nun ist hier ein ganz großes, drittes Fenster"
  59. LOCATE 13, 3
  60. PRINT "(Taste drücken)"
  61. SLEEP 0
  62.  
  63. CALL closewindow
  64. SLEEP 0
  65. CALL closewindow
  66. SLEEP 0
  67. CALL closewindow
  68. SLEEP 0
  69.  
  70. CALL setattribut(7)
  71. END
  72. '* ------------------------------------------------------- *
  73. '*                 Ende von GEMISCH2.BAS                   *
  74.