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 >
Wrap
Text File
|
1993-01-03
|
4KB
|
118 lines
******************
*** WINDOW.PRG ***
******************
* PROGRAMM ZUR VERÄNDERUNG VON WINDOW-FORMATEN *
Meldung = "In diesem Fenster wird ausgeführt, was Sie im Programm-Code ;
angeben: BROWSE oder eine Meldung oder sonstwas... Mit F10 kann ein ;
Anwender die Größe des Windows nach belieben änderen."
Meldung2 = "Sie können mit den Befehlen »ACTIVATE - DEACTIVATE WINDOW und ;
SAVE RESTORE SCREEN erreichen, daß die Aktion innerhalb des Fensters beim ;
Auf- bzw Zuziehen des Window sich im Fenster erhalten bleibt. - Kostet etwas ;
Überlegung!"
save to zephyr
SET SAFETY OFF
SET TALK OFF
SET STATUS OFF
SET SCOREBOARD OFF
SET ESCAPE OFF
DO FuncLeer
STORE "" TO Fenster,Fertig
STORE 0 to LOZeile,LOSpalte,RUZeile,RUSpalte
DEACTIVATE WINDOW ALL
RELEASE SCREEN
SAVE SCREEN TO Schirm
* Eck-Positionen und Name des Window:
* LO soll LinksOben heißen - RU soviel wie RechtsUnten
Wname = "VERSUCH"
LOZeile = 5
LOSpalte = 10
RUZeile = 15
RUSpalte = 74
@ 23,0 SAY "Name des WINDOW:" GET Wname
@ 23,32 SAY "Links OBEN:" GET LOZeile PICT "99" FUNC "Z" RANGE 0,20
@ 23,46 SAY ","
@ 23,47 GET LOSpalte PICT "99" FUNC "Z" RANGE 0,77
@ 23,50 SAY "Rechts UNTEN:" GET RUZeile PICT "99" FUNC "Z" RANGE LOZeile+2,22
@ 23,67 SAY ","
@ 23,68 GET RUSpalte PICT "99" FUNC "Z" RANGE LOSpalte+2,79
READ
Wname = LTRIM(TRIM(Wname))
IF LEN(Wname) = 0 .OR. READKEY() = 12 .OR. READKEY() = 127
RETURN
ENDIF
@ 24,0 SAY Wname + " VERÄNDERN: (F10)"
DEFINE WINDOW &Wname FROM LOZeile,LOSpalte TO RUZeile,RUSpalte
ACTIVATE WINDOW &Wname
CLEAR
? Meldung
? Meldung2
? " - F10 drücken!"
DO WHILE INKEY() # -9
IF INKEY() = 27
RETURN
ENDIF
ENDDO
DEACTIVATE WINDOW &Wname
@ LOZeile,LOSpalte TO RUZeile,RUSpalte COLOR GR+/BG
@ 24,0 SAY "WINDOW «" + Wname + "» - WINDOW ok (┘) - Abbruch (ESC)"
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
rest screen from schirm
rest from zephyr addi
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.
CLEAR
? Meldung
? Meldung2
? " ENDE: Taste drücken!"
DO WHILE INKEY() = 0
ENDDO
RETURN