home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a075 / 1.img / TOOLKIT1.EXE / SST283.PRG < prev    next >
Encoding:
Text File  |  1989-08-08  |  2.3 KB  |  93 lines

  1. *******************
  2.  
  3. FUNCTION Marque
  4.  
  5.    PARAMETERS _string, _trow, _tcol, _type, _pausing
  6.  
  7.    * _string is the string to display
  8.    * _trow is the row to display the string
  9.    * _tcol is the column to base the string from
  10.    * _type is 1 of 3 types of MARQUEs operations
  11.    * _pausing is the pausing factor
  12.  
  13.    IF PCOUNT() < 3
  14.       RETURN(.F.)
  15.    ELSEIF PCOUNT() = 3
  16.       _type = 1
  17.       _pausing = 1
  18.    ELSEIF PCOUNT() = 4
  19.       _pausing = 1
  20.    ENDIF
  21.  
  22.    IF TYPE("_string")+TYPE("_trow")+TYPE("_tcol")+TYPE("_type")+TYPE("_pausing") != "CNNNN"
  23.       RETURN(.F.)
  24.    ENDIF
  25.  
  26.    SET CURSOR OFF
  27.  
  28.    _pausing = (_pausing * 100)
  29.  
  30.    PRIVATE _qwert, _qaz
  31.  
  32.  
  33.    IF    _type = 2                                && From the Left
  34.       FOR _qaz = 1 TO LEN(_string)
  35.          IF _tcol + LEN(LEFT(_string, _qaz)) >= 80
  36.             EXIT
  37.          ELSE
  38.             @ _trow, _tcol SAY LEFT(_string, _qaz)
  39.          ENDIF
  40.          FOR _qwert = 0 TO _pausing
  41.          NEXT
  42.       NEXT
  43.  
  44.    ELSEIF _type = 3                                && From the Right
  45.       FOR _qaz = 1 TO LEN(_string)
  46.          IF _tcol + LEN(RIGHT(_string, _qaz)) >= 80
  47.             EXIT
  48.          ELSE
  49.             @ _trow, _tcol SAY RIGHT(_string, _qaz)
  50.          ENDIF
  51.          FOR _qwert = 0 TO _pausing
  52.          NEXT
  53.       NEXT
  54.  
  55.    ELSEIF _type = 4
  56.       FOR _qaz = 1 TO LEN(_string)
  57.          IF _tcol + (1-_qaz) <= 0
  58.             EXIT
  59.          ELSE
  60.             @ _trow, _tcol + (1-_qaz) SAY LEFT(_string, _qaz)
  61.          ENDIF
  62.          FOR _qwert = 0 TO _pausing
  63.          NEXT
  64.       NEXT
  65.  
  66.    ELSEIF _type = 5
  67.       FOR _qaz = 1 TO LEN(_string)
  68.          IF _tcol + (1-_qaz) <= 0
  69.             EXIT
  70.          ELSE
  71.             @ _trow, _tcol + (1-_qaz) SAY RIGHT(_string, _qaz)
  72.          ENDIF
  73.          FOR _qwert = 0 TO _pausing
  74.          NEXT
  75.       NEXT
  76.  
  77.    ELSE                                             && From the Center
  78.       FOR _qaz = 1 TO LEN(_string)
  79.          IF _tcol - (INT(_qaz / 2)) <= 0
  80.             EXIT
  81.          ELSE
  82.             @ _trow, _tcol - (INT(_qaz / 2)) SAY SUBSTR(_string, 1, _qaz)
  83.          ENDIF
  84.          FOR _qwert = 0 TO _pausing
  85.          NEXT
  86.       NEXT
  87.  
  88.    ENDIF
  89.    SET CURSOR (IF(TYPE("scrcursor") = "U", .T., scrcursor))
  90.    RETURN(.T.)
  91.  
  92. * End of FIle
  93.