home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / rexx / library2 / rxansi10 / rxansi.cmd < prev    next >
OS/2 REXX Batch file  |  1991-03-03  |  5KB  |  158 lines

  1. /* -------------------------------------------------------------------- */
  2. /* REXX procedure to demonstrate the RXANSI REXX extension              */
  3. /*                                                                      */
  4. /* See documentation for full details                                   */
  5. /* -------------------------------------------------------------------- */
  6. CALL RxFuncAdd 'RXANSIINIT','RXANSI','RXANSIINIT'
  7. CALL RxFuncAdd 'GOTO',      'RXANSI','GOTO'
  8. CALL RxFuncAdd 'GETCHAR',   'RXANSI','GETCHAR'
  9. CALL RxFuncAdd 'PUTCHARS',  'RXANSI','PUTCHARS'
  10.  
  11. rc = RxAnsiInit()     /* Set up ANSI variables */
  12. SAY white on_red cls
  13. CALL Banner
  14. SAY blue on_red cls
  15. CALL Banner
  16. SAY green on_magenta cls
  17. CALL Banner
  18. SAY white on_green cls
  19. CALL Banner
  20. SAY yellow on_green cls
  21. CALL Banner
  22. SAY black on_green cls
  23. CALL Banner
  24. SAY white on_black cls
  25.  
  26. rc = goto(1,17)
  27. SAY green 'Demonstration of 'yellow'RXANSI' green'Version 1.0'
  28. rc = goto(3,10)
  29. SAY cyan 'A REXX extension which provides the following functions ;'
  30. rc = goto(5,10)
  31. SAY red 'o   ' blue 'Set foreground and background to any ANSI colour'  
  32. rc = goto(6,10)
  33. SAY red 'o   ' blue 'Position cursor anywhere on screen'  
  34. rc = goto(7,10)
  35. SAY red 'o   ' blue 'Output text without linefeed / carrige return'  
  36. rc = goto(8,10)
  37. SAY red 'o   ' blue 'Get a character at a time from the keyboard'  
  38.  
  39. rc = goto(23,20)
  40. SAY white 'Hit enter to continue demo'
  41. ch = getchar()
  42.   
  43. DO j = 11 TO 20
  44.      rc = goto(j,11)
  45.      SAY on_cyan '                                                                 ' 
  46. END
  47.  
  48. DO j = 11 TO 20 
  49.    rc = goto(j,10)
  50.    SAY magenta '|'
  51. END
  52.  
  53. rc = goto(21,10)
  54. SAY magenta '----+----1----+----2----+----3----+----4----+----5----+----6-----'
  55.  
  56. rc = goto(23,10)
  57. SAY white on_black 'F1 = Plot 1      F2 = Plot 2     F3 = Plot 4      ESC = Quit Demo'
  58. DO FOREVER
  59.    ch = getchar()
  60.    SELECT
  61.      WHEN ch = 'F1' THEN DO 
  62.        k = 9
  63.        DO j = 20 TO 11 BY -1
  64.           k = k + j - 11 
  65.           rc = goto(j,k)
  66.           SAY red on_cyan  '*'
  67.        END
  68.      END
  69.     
  70.      WHEN ch = 'F2' THEN DO 
  71.        k = 20
  72.        DO j = 20 TO 11 BY -1
  73.           k = k + 4 
  74.           rc = goto(j,k)
  75.           SAY blue on_cyan '+'
  76.        END
  77.      END
  78.  
  79.      WHEN ch = 'F3' THEN DO 
  80.        k = 41
  81.        DO j = 11 TO 20 
  82.           k = k - 2 
  83.           rc = goto(j,k)
  84.           SAY green on_cyan '#'
  85.        END
  86.      END
  87.  
  88.      WHEN ch = 'ESCAPE' THEN DO 
  89.         rc = goto(24,27)
  90.         rc = putchars(green on_yellow 'Sure You want to quit ?' green on_black '       ' )
  91.         DO FOREVER
  92.            rc = goto(24,51)
  93.            ch = getchar()
  94.            rc = putchars(green ch '           ') 
  95.            IF TRANSLATE(ch) = 'Y'  THEN DO
  96.           SAY white on_black cls 
  97.               CALL RxFuncDrop 'RXANSIINIT'
  98.               CALL RxFuncDrop 'GOTO'
  99.               CALL RxFuncDrop 'GETCHAR'
  100.               CALL RxFuncDrop 'PUTCHARS'
  101.               RETURN
  102.        END
  103.            IF TRANSLATE(ch) = 'N' THEN DO
  104.               rc = goto(24,27)
  105.               rc = putchars('                                    ' )
  106.               rc = goto(22,27)
  107.               rc = putchars('                                    ')
  108.               LEAVE
  109.        END
  110.            rc = goto(24,51)
  111.            rc = putchars(red ch '              ') 
  112.            rc = goto(22,27)
  113.            SAY red on_black 'Only Y or N allowed - please retry'
  114.         END
  115.      END
  116.  
  117.      OTHERWISE
  118.        rc = goto(24,27)
  119.        SAY blue on_black  'Invalid key pressed :' red ch '        '  
  120.    END
  121. END  
  122.  
  123.  
  124. Banner: PROCEDURE
  125.  
  126. SAY '                        ████████████'
  127. SAY '                          ████    ████'
  128. SAY '                          ████    ████'
  129. SAY '                          ████    ████  ████      ████'
  130. SAY '                          ██████████      ████  ████'
  131. SAY '                          ████  ████        ██████'
  132. SAY '                          ████    ████      ██████'
  133. SAY '                          ████    ████    ████  ████'
  134. SAY '                        ██████    ████  ████      ████'
  135. SAY ''
  136. SAY ''
  137. SAY '               ██                                              ████'
  138. SAY '             ██████                                            ████'
  139. SAY '           ████  ████'
  140. SAY '         ████      ████  ████  ██████      ██████████        ██████'
  141. SAY '         ████      ████    ████    ████  ████      ████        ████'
  142. SAY '         ██████████████    ████    ████    ██████              ████'
  143. SAY '         ████      ████    ████    ████        ██████          ████'
  144. SAY '         ████      ████    ████    ████  ████      ████        ████'
  145. SAY '         ████      ████    ████    ████    ██████████        ████████'
  146. SAY ''
  147. SAY '                                 Version 1.0'
  148. CALL Delay;
  149. RETURN
  150.  
  151.  
  152. Delay: PROCEDURE
  153.  
  154. DO Count = 1 TO 500
  155. END
  156.  
  157. RETURN
  158.