home *** CD-ROM | disk | FTP | other *** search
- * animate2.cmd
-
- IF F
-
- Bill Weinman, 10 May 1983
-
- In answer to Michael Cohn's Animate.cmd
-
- It would appear that the problem you were running into was
- dBASE's steadfast refusal to evaluate an expression as an
- argument to @ SAY. Really you can only have a variable or a
- literal as an argument to @ SAY.
-
- The routine that I am presenting here has only been tested under
- dBASE II version 2.4 (yet to be released by Ashton-Tate).
-
- Copyright (c) 1983, by: Bill Weinman, PO Box 60807, Los Angeles,
- CA 90060 pursuant to the following paragraph:
-
- Reserving the right to sell these routines myself in any form
- that I wish, I hereby donate this file in it's origional form as
- of 10 May 1983 to the public domain. You may do with it as you
- wish.
-
- TIP: Try turning of the terminal's cursor! ( ?? chr(27)+'.0' for
- the Televideo 950 and ?? chr(27)+'.2' to turn it back on ).
-
- 10 May 1983
-
- Bill E. Weinman
- Business Computer Services
- P O Box 60807
- Los Angeles, CA 90060
-
- ENDIF F
-
- *****************************************************************
- * initialization section
- set talk off
- set colon off
-
- erase
-
- store ' ' to string
- store 0 to col
- store 0 to colfin
- store 0 to row
-
- @ 10,10 say 'Enter the string to be animated: ' get string
- @ 11,10 say ' Enter the column to start in: ' get col pict '##'
- @ 12,10 say ' Enter the column to finish in: ' get colfin pict '##'
- @ 13,10 say ' Enter the line to animate on: ' get row pict '##'
- read
- clear gets
-
- erase
-
- store col+1 to initcol
- store trim(string) to string
- store len(string) to length
-
- * the "if not firsttime" within the "do while not done" loop
- * is to force dbase to read the entire routine into memory
- * before executing it. this eliminates any disk bound delays
- * in the middle of animation.
- store t to firsttime
- store f to done
- do while .not. done
- if .not. firsttime
- * the animation starts here
- do while (initcol-col) # length
- * first, evaluate the sub-string
- store $(string,1,initcol-col) to partial
- @ row,col say partial
- store col-1 to col
- enddo
-
- do while col > colfin
- @ row,col say string+' '
- store col-1 to col
- enddo
-
- * a little flash
-
- store col+1 to col
- store 0 to wait
- * low is a logical switch used to control the
- * alternation of the flash (only for terminals
- * that support rev video or dual intensity)
- store t to low
- do while wait < 10
- if .not. low
- set inte off
- @ row,col say string
- store t to low
- else
- set inte on
- @ row,col say string
- store f to low
- endif
- store wait+1 to wait
- enddo
-
- store t to done
- endif firsttime
- store f to firsttime
- enddo
-
- * rele firsttime, done, row, col, wait, string, partial, length, low
- set inte on
-
- return