home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 03 / mrquee.prg < prev    next >
Text File  |  1991-09-30  |  2KB  |  65 lines

  1. ***********************************************************************
  2. * MRQUEE.PRG                                      Clipper 5.01
  3. * Demo use of the frame function for special effects
  4. ***********************************************************************
  5. CLEAR
  6. pcmag="PC Magazine PC Magazine PC Magazine PC Magazine PC Magazine "+;
  7.       "PC Magazine PC Mag"
  8. single = CHR(218)+CHR(196)+CHR(191)+;
  9. CHR(179)+CHR(217)+CHR(196)+CHR(192)+;
  10. CHR(179)
  11. @ 0,0,24,79 BOX single
  12. i = 1
  13. DO WHILE i <=23
  14.    @ i,1 SAY pcmag
  15.    i = i + 1
  16. ENDDO
  17. oclr = SETCOLOR("B/W")           && Save and set color
  18. @ 9,26 CLEAR TO 13,53
  19. @11,30 SAY 'Moving Frame Example'
  20. x = FRAME(9, 26, 13, 53, 2)
  21. SETCOLOR(oclr)                   && Restore color
  22. RETURN
  23.  
  24. ***********************************************************************
  25. * FRAME function - Display a box with flashing borders.
  26. * Located in MRQUEE.ZIP on PC-MagNet
  27. ***********************************************************************
  28. FUNCTION FRAME
  29. PARAMETER ulrow, ulcol, lrrow, lrcol, speed
  30. PRIVATE i, x, scr1, scr2, oldc
  31. oldc = SETCURSOR(0)              && Save and set cursor
  32. x = 0
  33. @ ulrow, ulcol TO lrrow, lrcol DOUBLE
  34. FOR I = ulcol + 2 TO lrcol - 1 STEP 3
  35.    @ ulrow,I SAY ' '
  36.    @ lrrow,I SAY ' '
  37. NEXT I
  38. FOR I = ulrow TO lrrow STEP 2
  39.    @ I, ulcol SAY ' '
  40.    @ I, lrcol SAY ' '
  41. NEXT I
  42. SCR1 = SAVESCREEN( ulrow, ulcol, lrrow, lrcol)
  43. @ ulrow, ulcol TO lrrow, lrcol DOUBLE
  44. FOR I = ulcol + 1 TO lrcol - 1 STEP 3
  45.    @ ulrow,I SAY ' '
  46.    @ lrrow,I SAY ' '
  47. NEXT I
  48. FOR I = ulrow + 1 TO lrrow - 1 STEP 2
  49.    @ I, ulcol SAY ' '
  50.    @ I, lrcol SAY ' '
  51. NEXT I
  52. SCR2 = SAVESCREEN( ulrow, ulcol, lrrow, lrcol)
  53. DO WHILE .T.
  54.    x = INKEY()
  55.    IF X <> 0                     && If any key was pressed
  56.       EXIT
  57.    ENDIF
  58.    DELAY(speed)                  && Delay
  59.    RESTSCREEN( ulrow, ulcol, lrrow, lrcol, scr1)
  60.    DELAY(speed)                  && Delay
  61.    RESTSCREEN( ulrow, ulcol, lrrow, lrcol, scr2)
  62.    ENDDO
  63. SETCURSOR(oldc)                  && Restore cursor
  64. RETURN x
  65.