home *** CD-ROM | disk | FTP | other *** search
- *******************
-
- FUNCTION Marque
-
- PARAMETERS _string, _trow, _tcol, _type, _pausing
-
- * _string is the string to display
- * _trow is the row to display the string
- * _tcol is the column to base the string from
- * _type is 1 of 3 types of MARQUEs operations
- * _pausing is the pausing factor
-
- IF PCOUNT() < 3
- RETURN(.F.)
- ELSEIF PCOUNT() = 3
- _type = 1
- _pausing = 1
- ELSEIF PCOUNT() = 4
- _pausing = 1
- ENDIF
-
- IF TYPE("_string")+TYPE("_trow")+TYPE("_tcol")+TYPE("_type")+TYPE("_pausing") != "CNNNN"
- RETURN(.F.)
- ENDIF
-
- SET CURSOR OFF
-
- _pausing = (_pausing * 100)
-
- PRIVATE _qwert, _qaz
-
-
- IF _type = 2 && From the Left
- FOR _qaz = 1 TO LEN(_string)
- IF _tcol + LEN(LEFT(_string, _qaz)) >= 80
- EXIT
- ELSE
- @ _trow, _tcol SAY LEFT(_string, _qaz)
- ENDIF
- FOR _qwert = 0 TO _pausing
- NEXT
- NEXT
-
- ELSEIF _type = 3 && From the Right
- FOR _qaz = 1 TO LEN(_string)
- IF _tcol + LEN(RIGHT(_string, _qaz)) >= 80
- EXIT
- ELSE
- @ _trow, _tcol SAY RIGHT(_string, _qaz)
- ENDIF
- FOR _qwert = 0 TO _pausing
- NEXT
- NEXT
-
- ELSEIF _type = 4
- FOR _qaz = 1 TO LEN(_string)
- IF _tcol + (1-_qaz) <= 0
- EXIT
- ELSE
- @ _trow, _tcol + (1-_qaz) SAY LEFT(_string, _qaz)
- ENDIF
- FOR _qwert = 0 TO _pausing
- NEXT
- NEXT
-
- ELSEIF _type = 5
- FOR _qaz = 1 TO LEN(_string)
- IF _tcol + (1-_qaz) <= 0
- EXIT
- ELSE
- @ _trow, _tcol + (1-_qaz) SAY RIGHT(_string, _qaz)
- ENDIF
- FOR _qwert = 0 TO _pausing
- NEXT
- NEXT
-
- ELSE && From the Center
- FOR _qaz = 1 TO LEN(_string)
- IF _tcol - (INT(_qaz / 2)) <= 0
- EXIT
- ELSE
- @ _trow, _tcol - (INT(_qaz / 2)) SAY SUBSTR(_string, 1, _qaz)
- ENDIF
- FOR _qwert = 0 TO _pausing
- NEXT
- NEXT
-
- ENDIF
- SET CURSOR (IF(TYPE("scrcursor") = "U", .T., scrcursor))
- RETURN(.T.)
-
- * End of FIle