home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / AGSPC1B2.ZIP / PRFADE.PPS < prev    next >
Encoding:
Text File  |  1996-07-30  |  1.9 KB  |  72 lines

  1. ;----------------------------------------------------------------------------
  2. ; Copyright(C) 1996, The AEGiS Corporation
  3. ;----------------------------------------------------------------------------
  4. ;
  5. ; PROCEDURE PrintFade()
  6. ;
  7. ; This procedure writes a text in color 15 with a fading effect on every
  8. ; character
  9. ;----------------------------------------------------------------------------
  10. #lib
  11. Declare Procedure PrintFade(String Str)
  12. Declare Procedure PF_RemCursor()
  13. Declare Procedure PF_Synchronize()
  14. Boolean PF_NoRemCursor
  15. Boolean PF_NoSynchro
  16.  
  17. ;----------------------------------------------------------------------------
  18. Procedure PrintFade(String Str)
  19. Integer v_int1, v_int2, v_int3
  20.  
  21. For v_int1 = 1 to len(Str)                 ; for each character
  22.     If (Mid(Str, v_int1, 1) = " ") Then    ; if this is a space, no fade
  23.         Print "@X0F "
  24.         Continue
  25.     Endif
  26.     Print "@X08" + Mid(Str, v_int1, 1)     ; print in color 8
  27.     v_int2 = getX()                          ; backup position
  28.     v_int3 = getY()
  29.     PF_RemCursor()                             ; remove cursor
  30.     Delay 1                                  ; wait one tick
  31.     AnsiPos v_int2, v_int3                   ; restore position
  32.     Backup 1                                 ; move cursor back 1 char
  33.     Print "@X07" + Mid(Str, v_int1, 1)     ; print in color 7
  34.     v_int2 = getX()
  35.     v_int3 = getY()
  36.     PF_RemCursor()
  37.     Delay 1
  38.     AnsiPos v_int2, v_int3
  39.     Backup 1
  40.     Print "@X0F" + Mid(Str, v_int1, 1)     ; print in color 15
  41.     v_int2 = getX()
  42.     v_int3 = getY()
  43.     PF_RemCursor()
  44.     Delay 1
  45.     PF_Synchronize()                            ; wait for other end
  46.     AnsiPos v_int2, v_int3
  47. Next
  48.  
  49. Color @X0F
  50.  
  51. Endproc
  52.  
  53. Procedure PF_RemCursor()
  54.  
  55. If (!PF_NoRemCursor) Then
  56.     AnsiPos 1,23
  57.     Color 0
  58.     Print " "
  59.     Backup 1
  60. Endif
  61.  
  62. EndProc
  63.  
  64. Procedure PF_Synchronize()
  65.  
  66. If (!PF_NoSynchro) Then
  67.     While (Outbytes() > 0) Do
  68.     EndWhile
  69. Endif
  70.  
  71. EndProc
  72.