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 >
Wrap
Text File
|
1993-01-03
|
3KB
|
110 lines
******************
*** WINDOW.PRG ***
******************
* PROGRAMM ZUR VERÄNDERUNG VON WINDOW-FORMATEN *
SET SAFETY OFF
SET TALK OFF
SET STATUS OFF
SET SCOREBOARD OFF
SET ESCAPE OFF
STORE "" TO Fenster,Fertig
STORE 0 to LOZeile,LOSpalte,RUZeile,RUSpalte
SET MESSAGE TO "ENDE: Esc"
Meldung1 = "Window VERÄNDERN:(F7) - Memory zeigen:(F9) - Adressen (F8) - Ende:(Esc)"
Meldung2 = "WINDOW Vergrößern (F9) - Verschieben (F10) - WINDOW ok (┘) - Abbruch (ESC)"
DEACTIVATE WINDOW ALL
RELEASE SCREEN
@ 22,0 SAY Meldung1
SAVE SCREEN TO Schirm
* Eck-Positionen und Name des Window:
* LO soll LinksOben heißen - RU soviel wie RechtsUnten
Wname = "TEST"
LOZeile = 5
LOSpalte = 10
RUZeile = 15
RUSpalte = 74
DEFINE WINDOW &Wname FROM LOZeile,LOSpalte TO RUZeile,RUSpalte
SAVE SCREEN TO SCHIRM
ACTIVATE WINDOW &Wname
CLEAR
*** HIER IST DIE EIGENTLICHE DO CASE-VERZWEIGUNG, IN DER SIE PROGRAMME
*** ALLER ART INSTALLIEREN KÖNNEN:
DO WHILE .T.
Aufgabe = 0
DO WHILE .T.
Aufgabe = INKEY()
DO CASE
CASE Aufgabe = -7
USE Muster && Beispiel
BROWSE NOEDIT NOMENU && Beispiel
CASE Aufgabe = -8
DISPLAY MEMORY && Beispiel
CASE Aufgabe = -6
DO window
CASE Aufgabe = 27
CLEAR && Beispiel f. Ende
rest screen from schirm
RETURN
ENDCASE
ENDDO
ENDDO
PROCEDURE Window
****************
DEACTIVATE WINDOW &Wname
RESTORE SCREEN FROM SCHIRM
@ LOZeile,LOSpalte TO RUZeile,RUSpalte COLOR GR+/BG
@ 22,0 SAY Meldung2
@ LOZeile,LOSpalte SAY ""
DO WHILE .T.
Inkey = INKEY()
DO CASE
CASE Inkey = 13
EXIT
CASE Inkey = 4 .AND. LOSpalte < 79
LOSpalte = LOSpalte + 1
CASE Inkey = 5 .AND. LOZeile > 0
LOZeile = LOZeile - 1
CASE Inkey = 24 .AND. LOZeile < 22
LOZeile = LOZeile + 1
CASE Inkey = 19 .AND. LOSpalte > 0
LOSpalte = LOSpalte - 1
CASE Inkey = 27
RETURN
ENDCASE
Zeile = ROW()
Spalte = COL()
IF Zeile > RUZeile - 2 .AND. RUZeile < 22
RUZeile = RUZeile + 1
ENDIF
IF Spalte > RUSpalte - 2 .AND. RUSpalte < 79
RUSpalte = RUSpalte + 1
ENDIF
IF Spalte = 0 .AND. RUSpalte > 2 .AND. Inkey = 19
RUSpalte = RUSpalte - 1
ENDIF
IF Zeile = 0 .AND. RUZeile > 2 .AND. Inkey = 5
RUZeile = RUZeile - 1
ENDIF
IF Zeile > RUZeile - 2
Zeile = RUZeile - 2
ENDIF
IF Spalte > RUSpalte - 2
Spalte = RUSpalte - 2
ENDIF
IF Inkey = 4 .OR. Inkey = 5 .OR. Inkey = 19 .OR. Inkey = 24
RESTORE SCREEN FROM Schirm
@ Zeile,Spalte TO RUZeile,RUSpalte COLOR GR+/BG
ENDIF
@ LOZeile,LOSpalte SAY ""
Inkey = 0
ENDDO
RESTORE SCREEN FROM SCHIRM
DEFINE WINDOW &Wname. FROM Zeile,Spalte TO RUZeile,RUSpalte
ACTIVATE WINDOW &Wname.
RETURN