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 / WINDFORM.PRG < prev    next >
Text File  |  1993-01-03  |  4KB  |  118 lines

  1.                              ******************
  2.                              *** WINDOW.PRG ***
  3.                              ******************
  4.               * PROGRAMM ZUR VERÄNDERUNG VON WINDOW-FORMATEN *
  5.  
  6. Meldung = "In diesem Fenster wird ausgeführt, was Sie im Programm-Code ;
  7. angeben: BROWSE oder eine Meldung oder sonstwas... Mit F10 kann ein ;
  8. Anwender die Größe des Windows nach belieben änderen."
  9. Meldung2 = "Sie können mit den Befehlen »ACTIVATE - DEACTIVATE WINDOW und ;
  10. SAVE RESTORE SCREEN erreichen, daß die Aktion innerhalb des Fensters beim ;
  11. Auf- bzw Zuziehen des Window sich im Fenster erhalten bleibt. - Kostet etwas ;
  12. Überlegung!"
  13. save to zephyr
  14. SET SAFETY OFF
  15. SET TALK OFF
  16. SET STATUS OFF
  17. SET SCOREBOARD OFF
  18. SET ESCAPE OFF
  19. DO FuncLeer
  20. STORE "" TO Fenster,Fertig
  21. STORE 0 to LOZeile,LOSpalte,RUZeile,RUSpalte
  22.  
  23. DEACTIVATE WINDOW ALL
  24. RELEASE SCREEN
  25. SAVE SCREEN TO Schirm
  26.  
  27. * Eck-Positionen und Name des Window:
  28. * LO soll LinksOben heißen - RU soviel wie RechtsUnten
  29. Wname = "VERSUCH"
  30. LOZeile = 5
  31. LOSpalte = 10
  32. RUZeile = 15
  33. RUSpalte = 74
  34.  
  35. @ 23,0 SAY "Name des WINDOW:" GET Wname
  36. @ 23,32 SAY "Links OBEN:" GET LOZeile PICT "99" FUNC "Z" RANGE 0,20
  37. @ 23,46 SAY ","
  38. @ 23,47 GET LOSpalte PICT "99" FUNC "Z" RANGE 0,77
  39. @ 23,50 SAY "Rechts UNTEN:" GET RUZeile PICT "99" FUNC "Z" RANGE LOZeile+2,22
  40. @ 23,67 SAY ","
  41. @ 23,68 GET RUSpalte PICT "99" FUNC "Z" RANGE LOSpalte+2,79
  42. READ
  43. Wname = LTRIM(TRIM(Wname))
  44.   IF LEN(Wname) = 0 .OR. READKEY() = 12 .OR. READKEY() = 127
  45.      RETURN
  46.   ENDIF
  47. @ 24,0 SAY Wname + " VERÄNDERN: (F10)"
  48.  DEFINE WINDOW &Wname FROM LOZeile,LOSpalte TO RUZeile,RUSpalte
  49. ACTIVATE WINDOW &Wname
  50. CLEAR
  51. ? Meldung
  52. ? Meldung2
  53. ? " - F10 drücken!"
  54.   DO WHILE INKEY() # -9
  55.      IF INKEY() = 27
  56.         RETURN
  57.      ENDIF
  58.   ENDDO
  59. DEACTIVATE WINDOW &Wname
  60. @ LOZeile,LOSpalte TO RUZeile,RUSpalte  COLOR GR+/BG
  61. @ 24,0 SAY "WINDOW «" + Wname + "» - WINDOW ok (┘) - Abbruch (ESC)"
  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.                rest screen from schirm
  77.                rest from zephyr addi
  78.                RETURN
  79.        ENDCASE
  80.      Zeile = ROW()
  81.      Spalte = COL()
  82.        IF Zeile > RUZeile - 2 .AND. RUZeile < 22
  83.           RUZeile = RUZeile + 1
  84.        ENDIF
  85.        IF Spalte > RUSpalte - 2 .AND. RUSpalte < 79
  86.           RUSpalte = RUSpalte + 1
  87.        ENDIF
  88.        IF Spalte = 0 .AND. RUSpalte > 2 .AND. Inkey = 19
  89.           RUSpalte = RUSpalte - 1
  90.        ENDIF
  91.        IF Zeile = 0 .AND. RUZeile > 2 .AND. Inkey = 5
  92.           RUZeile = RUZeile - 1
  93.        ENDIF
  94.        IF Zeile > RUZeile - 2
  95.           Zeile = RUZeile - 2
  96.        ENDIF
  97.        IF Spalte > RUSpalte - 2
  98.           Spalte = RUSpalte - 2
  99.        ENDIF
  100.        IF Inkey = 4 .OR. Inkey = 5 .OR. Inkey = 19 .OR. Inkey = 24
  101.           RESTORE SCREEN FROM Schirm
  102.           @ Zeile,Spalte TO RUZeile,RUSpalte COLOR GR+/BG
  103.        ENDIF
  104.      @ LOZeile,LOSpalte SAY ""
  105.      Inkey = 0
  106.   ENDDO
  107. RESTORE SCREEN FROM SCHIRM
  108. DEFINE WINDOW &Wname. FROM Zeile,Spalte TO RUZeile,RUSpalte
  109. ACTIVATE WINDOW &Wname.
  110. CLEAR
  111. ? Meldung
  112. ? Meldung2
  113. ? " ENDE: Taste drücken!"
  114.   DO WHILE INKEY() = 0
  115.   ENDDO
  116. RETURN
  117.  
  118.