home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / 9510ls02.cmd < prev    next >
OS/2 REXX Batch file  |  1995-08-17  |  4KB  |  53 lines

  1. /* 9510LS02.CMD - Color & spinning character */                   /* 01 */
  2.                                                                   /* 02 */
  3. /*-------------------*\                                           /* 03 */
  4. |  Register REXXUTIL  |                                           /* 04 */
  5. \*-------------------*/                                           /* 05 */
  6. call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'         /* 06 */
  7. call SysLoadFuncs                                                 /* 07 */
  8.                                                                   /* 08 */
  9. /*-----------*\                                                   /* 09 */
  10. |  Constants  |                                                   /* 10 */
  11. \*-----------*/                                                   /* 11 */
  12. bksp               = '08'x                                        /* 12 */
  13. crlf               = '0D0A'x                                      /* 13 */
  14. progress_list      = 'A\|/'         /* 'C45C7C2F'x */             /* 14 */
  15. progress_subscript = 1                                            /* 15 */
  16. white_on_cyan      = '1B'x || '[1;37;45m' /* bright white on cyan */
  17. ansi_off           = '1B'x || '[0m'       /* reset to normal      */
  18.                                                                   /* 18 */
  19. /*----------------------------------*\                            /* 19 */
  20. |  Write string and turn off cursor  |                            /* 20 */
  21. \*----------------------------------*/                            /* 21 */
  22. output_string =,                                                  /* 22 */
  23.    COPIES( ' ', 25 )       ||,                                    /* 23 */
  24.    white_on_cyan           ||,                                    /* 24 */
  25.    'Watch the spinner!   ' ||,                                    /* 25 */
  26.    ansi_off                                                       /* 26 */
  27. call CHAROUT 'CON:', output_string                                /* 27 */
  28. call SysCurState 'OFF'                                            /* 28 */
  29.                                                                   /* 29 */
  30. /*------------------------------*\                                /* 30 */
  31. |  Loop writing spin characters  |                                /* 31 */
  32. \*------------------------------*/                                /* 32 */
  33. call TIME 'E'                       /* reset elapsed timer */     /* 33 */
  34. do until TIME( 'E' ) > 10           /* run for n seconds  */      /* 34 */
  35.    call CHAROUT 'CON:', bksp ||,                                  /* 35 */
  36.                         SUBSTR( progress_list,,                   /* 36 */
  37.                                 progress_subscript,,              /* 37 */
  38.                                 1 )                               /* 38 */
  39.    progress_subscript = progress_subscript + 1                    /* 39 */
  40.    if progress_subscript > LENGTH( progress_list ) then           /* 40 */
  41.       do                                                          /* 41 */
  42.          progress_subscript = 1                                   /* 42 */
  43.       end                                                         /* 43 */
  44. end                                                               /* 44 */
  45.                                                                   /* 45 */
  46. /*----------------------------------*\                            /* 46 */
  47. |  Close CON to release file handle  |                            /* 47 */
  48. \*----------------------------------*/                            /* 48 */
  49. call LINEOUT 'CON:', bksp || ' '    /* clear spinner character */ /* 49 */
  50. call STREAM 'CON:', 'C', 'CLOSE'                                  /* 50 */
  51. call SysCurState 'ON'               /* turn cursor back on */     /* 51 */
  52. exit                                                              /* 52 */
  53.