home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktiv 1 / CDA1_96.ISO / clipper / saver.prg < prev    next >
Text File  |  1996-01-06  |  2KB  |  45 lines

  1. *: Placed in the public domain by Dougie Brown, FireCrest Systems Ltd. UK
  2. *: Written at 02.00 hrs 12/12/1995 - God bless her.
  3. *: Written as a modular function, so un-rem the first & last lines if you
  4. *: want to incorporate it into your programs.
  5. *: The effect is a scrolling screen which moves down and to the left.  It
  6. *: eventually fills up with Smiley Faces with their hands behind their heads.
  7. *: If this is plainly inappropriate for your environment, just remove the
  8. *: lines as indicated below.
  9.  
  10. *: Function Screen_Saver
  11.      set cursor off
  12.      keyboard chr(1)
  13.      save screen to org_screen
  14.      setcolor("w+/r")
  15.      @ 22,23 say " SCREEN SAVER ACTIVE - press a key "
  16.      column = 0
  17.      internal_counter = 1
  18.      do while .T.
  19.           if lastkey() > 1
  20.                exit
  21.           endif
  22.           portion1 = savescreen(0,column,24,column)           && 0,0,24,0
  23.           portion2 = savescreen(24,column+1,24,column)        && 24,1,24,0
  24.           portion3 = savescreen(0,0,24,0)
  25.           restscreen(0,column,0,column,portion2)              && 0,1,0,1
  26.           restscreen(1,column,25,column,portion1)             && 1,0,25,0
  27.           restscreen(1,79,25,79,portion3)
  28.           inkey(.034)
  29.           column = iif(column = 79, 0, column+1)
  30.           internal_counter = iif(column = 79, internal_counter+1, internal_counter)
  31.  
  32.           *: If you don't like the Smiley Face with the hands behind the head,
  33.           *: simply delete the next 5 lines....
  34.  
  35.           if internal_counter > 2
  36.                internal_counter = 0
  37.                setcolor("w+/n")
  38.                @ 6,val(subs(time(),7,2)) say "<"+chr(2)+">"
  39.           endif
  40.  
  41.     enddo
  42.     rest scre from org_screen
  43.     set cursor on
  44. *Return .T.
  45.