home *** CD-ROM | disk | FTP | other *** search
/ Best of German Only 1 / romside_best_of_german_only_1.iso / anwender / zephyr / zephyr4s.2 / BEISPIEL.EXE / lha / WINDTEST.PRG < prev    next >
Text File  |  1993-01-03  |  3KB  |  110 lines

  1. ******************
  2. *** WINDOW.PRG ***
  3. ******************
  4. * PROGRAMM ZUR VERÄNDERUNG VON WINDOW-FORMATEN *
  5.  
  6. SET SAFETY OFF
  7. SET TALK OFF
  8. SET STATUS OFF
  9. SET SCOREBOARD OFF
  10. SET ESCAPE OFF
  11. STORE "" TO Fenster,Fertig
  12. STORE 0 to LOZeile,LOSpalte,RUZeile,RUSpalte
  13. SET MESSAGE TO "ENDE: Esc"
  14. Meldung1 = "Window VERÄNDERN:(F7) - Memory zeigen:(F9) - Adressen (F8) - Ende:(Esc)"
  15. Meldung2 = "WINDOW Vergrößern (F9) - Verschieben (F10) - WINDOW ok (┘) - Abbruch (ESC)"
  16. DEACTIVATE WINDOW ALL
  17. RELEASE SCREEN
  18. @ 22,0 SAY Meldung1
  19. SAVE SCREEN TO Schirm
  20.  
  21. * Eck-Positionen und Name des Window:
  22. * LO soll LinksOben heißen - RU soviel wie RechtsUnten
  23. Wname = "TEST"
  24. LOZeile = 5
  25. LOSpalte = 10
  26. RUZeile = 15
  27. RUSpalte = 74
  28. DEFINE WINDOW &Wname FROM LOZeile,LOSpalte TO RUZeile,RUSpalte
  29. SAVE SCREEN TO SCHIRM
  30. ACTIVATE WINDOW &Wname
  31. CLEAR
  32.  
  33. *** HIER IST DIE EIGENTLICHE DO CASE-VERZWEIGUNG, IN DER SIE PROGRAMME
  34. *** ALLER ART INSTALLIEREN KÖNNEN:
  35. DO WHILE .T.
  36.    Aufgabe = 0
  37.      DO WHILE .T.
  38.         Aufgabe = INKEY()
  39.         DO CASE
  40.            CASE Aufgabe = -7
  41.                 USE Muster             && Beispiel
  42.                 BROWSE NOEDIT NOMENU   && Beispiel
  43.            CASE Aufgabe = -8
  44.                 DISPLAY MEMORY         && Beispiel
  45.            CASE Aufgabe = -6
  46.                 DO window
  47.            CASE Aufgabe = 27
  48.                 CLEAR               && Beispiel f. Ende
  49.                 rest screen from schirm
  50.                 RETURN
  51.         ENDCASE
  52.      ENDDO
  53. ENDDO
  54.  
  55. PROCEDURE Window
  56. ****************
  57. DEACTIVATE WINDOW &Wname
  58. RESTORE SCREEN FROM SCHIRM
  59. @ LOZeile,LOSpalte TO RUZeile,RUSpalte  COLOR GR+/BG
  60. @ 22,0 SAY Meldung2
  61. @ LOZeile,LOSpalte SAY ""
  62.   DO WHILE .T.
  63.      Inkey = INKEY()
  64.        DO CASE
  65.           CASE Inkey = 13
  66.                EXIT
  67.           CASE Inkey = 4 .AND. LOSpalte < 79
  68.                LOSpalte = LOSpalte + 1
  69.           CASE Inkey = 5 .AND. LOZeile > 0
  70.                LOZeile = LOZeile - 1
  71.           CASE Inkey = 24 .AND. LOZeile < 22
  72.                LOZeile = LOZeile + 1
  73.           CASE Inkey = 19 .AND. LOSpalte > 0
  74.                LOSpalte = LOSpalte - 1
  75.           CASE Inkey = 27
  76.                RETURN
  77.        ENDCASE
  78.      Zeile = ROW()
  79.      Spalte = COL()
  80.        IF Zeile > RUZeile - 2 .AND. RUZeile < 22
  81.           RUZeile = RUZeile + 1
  82.        ENDIF
  83.        IF Spalte > RUSpalte - 2 .AND. RUSpalte < 79
  84.           RUSpalte = RUSpalte + 1
  85.        ENDIF
  86.        IF Spalte = 0 .AND. RUSpalte > 2 .AND. Inkey = 19
  87.           RUSpalte = RUSpalte - 1
  88.        ENDIF
  89.        IF Zeile = 0 .AND. RUZeile > 2 .AND. Inkey = 5
  90.           RUZeile = RUZeile - 1
  91.        ENDIF
  92.        IF Zeile > RUZeile - 2
  93.           Zeile = RUZeile - 2
  94.        ENDIF
  95.        IF Spalte > RUSpalte - 2
  96.           Spalte = RUSpalte - 2
  97.        ENDIF
  98.        IF Inkey = 4 .OR. Inkey = 5 .OR. Inkey = 19 .OR. Inkey = 24
  99.           RESTORE SCREEN FROM Schirm
  100.           @ Zeile,Spalte TO RUZeile,RUSpalte COLOR GR+/BG
  101.        ENDIF
  102.      @ LOZeile,LOSpalte SAY ""
  103.      Inkey = 0
  104.   ENDDO
  105. RESTORE SCREEN FROM SCHIRM
  106. DEFINE WINDOW &Wname. FROM Zeile,Spalte TO RUZeile,RUSpalte
  107. ACTIVATE WINDOW &Wname.
  108. RETURN
  109.  
  110.