home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
rexx
/
library2
/
rxansi10
/
rxansi.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1991-03-03
|
5KB
|
158 lines
/* -------------------------------------------------------------------- */
/* REXX procedure to demonstrate the RXANSI REXX extension */
/* */
/* See documentation for full details */
/* -------------------------------------------------------------------- */
CALL RxFuncAdd 'RXANSIINIT','RXANSI','RXANSIINIT'
CALL RxFuncAdd 'GOTO', 'RXANSI','GOTO'
CALL RxFuncAdd 'GETCHAR', 'RXANSI','GETCHAR'
CALL RxFuncAdd 'PUTCHARS', 'RXANSI','PUTCHARS'
rc = RxAnsiInit() /* Set up ANSI variables */
SAY white on_red cls
CALL Banner
SAY blue on_red cls
CALL Banner
SAY green on_magenta cls
CALL Banner
SAY white on_green cls
CALL Banner
SAY yellow on_green cls
CALL Banner
SAY black on_green cls
CALL Banner
SAY white on_black cls
rc = goto(1,17)
SAY green 'Demonstration of 'yellow'RXANSI' green'Version 1.0'
rc = goto(3,10)
SAY cyan 'A REXX extension which provides the following functions ;'
rc = goto(5,10)
SAY red 'o ' blue 'Set foreground and background to any ANSI colour'
rc = goto(6,10)
SAY red 'o ' blue 'Position cursor anywhere on screen'
rc = goto(7,10)
SAY red 'o ' blue 'Output text without linefeed / carrige return'
rc = goto(8,10)
SAY red 'o ' blue 'Get a character at a time from the keyboard'
rc = goto(23,20)
SAY white 'Hit enter to continue demo'
ch = getchar()
DO j = 11 TO 20
rc = goto(j,11)
SAY on_cyan ' '
END
DO j = 11 TO 20
rc = goto(j,10)
SAY magenta '|'
END
rc = goto(21,10)
SAY magenta '----+----1----+----2----+----3----+----4----+----5----+----6-----'
rc = goto(23,10)
SAY white on_black 'F1 = Plot 1 F2 = Plot 2 F3 = Plot 4 ESC = Quit Demo'
DO FOREVER
ch = getchar()
SELECT
WHEN ch = 'F1' THEN DO
k = 9
DO j = 20 TO 11 BY -1
k = k + j - 11
rc = goto(j,k)
SAY red on_cyan '*'
END
END
WHEN ch = 'F2' THEN DO
k = 20
DO j = 20 TO 11 BY -1
k = k + 4
rc = goto(j,k)
SAY blue on_cyan '+'
END
END
WHEN ch = 'F3' THEN DO
k = 41
DO j = 11 TO 20
k = k - 2
rc = goto(j,k)
SAY green on_cyan '#'
END
END
WHEN ch = 'ESCAPE' THEN DO
rc = goto(24,27)
rc = putchars(green on_yellow 'Sure You want to quit ?' green on_black ' ' )
DO FOREVER
rc = goto(24,51)
ch = getchar()
rc = putchars(green ch ' ')
IF TRANSLATE(ch) = 'Y' THEN DO
SAY white on_black cls
CALL RxFuncDrop 'RXANSIINIT'
CALL RxFuncDrop 'GOTO'
CALL RxFuncDrop 'GETCHAR'
CALL RxFuncDrop 'PUTCHARS'
RETURN
END
IF TRANSLATE(ch) = 'N' THEN DO
rc = goto(24,27)
rc = putchars(' ' )
rc = goto(22,27)
rc = putchars(' ')
LEAVE
END
rc = goto(24,51)
rc = putchars(red ch ' ')
rc = goto(22,27)
SAY red on_black 'Only Y or N allowed - please retry'
END
END
OTHERWISE
rc = goto(24,27)
SAY blue on_black 'Invalid key pressed :' red ch ' '
END
END
Banner: PROCEDURE
SAY ' ████████████'
SAY ' ████ ████'
SAY ' ████ ████'
SAY ' ████ ████ ████ ████'
SAY ' ██████████ ████ ████'
SAY ' ████ ████ ██████'
SAY ' ████ ████ ██████'
SAY ' ████ ████ ████ ████'
SAY ' ██████ ████ ████ ████'
SAY ''
SAY ''
SAY ' ██ ████'
SAY ' ██████ ████'
SAY ' ████ ████'
SAY ' ████ ████ ████ ██████ ██████████ ██████'
SAY ' ████ ████ ████ ████ ████ ████ ████'
SAY ' ██████████████ ████ ████ ██████ ████'
SAY ' ████ ████ ████ ████ ██████ ████'
SAY ' ████ ████ ████ ████ ████ ████ ████'
SAY ' ████ ████ ████ ████ ██████████ ████████'
SAY ''
SAY ' Version 1.0'
CALL Delay;
RETURN
Delay: PROCEDURE
DO Count = 1 TO 500
END
RETURN