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

  1. ********************
  2.  
  3. PROCEDURE Blankarray
  4.  
  5.    PARAMETERS _tarray, _tfile, _tfield, _length
  6.  
  7.    PRIVATE _retto, _start, _blanka, b_fields, _ngo, _inc, _tempb
  8.  
  9.    IF PCOUNT() = 1
  10.       _tfile = ""
  11.    ENDIF
  12.  
  13.    _start = 1
  14.    _blanka = 1
  15.    IF !EMPTY(_tfile)
  16.       _retto = STR(SELECT())
  17.       IF LEN(_tfile) = 1
  18.          SELECT &_tfile
  19.       ELSE
  20.          SELECT 0
  21.          USE (_tfile)
  22.       ENDIF
  23.    ENDIF
  24.  
  25.    IF PCOUNT() < 4
  26.       _length = LEN(_tarray)
  27.    ELSE
  28.       IF _length > LEN(_tarray)
  29.          _length = LEN(_tarray)
  30.       ENDIF
  31.    ENDIF
  32.  
  33.    IF PCOUNT() > 2
  34.       b_fields = ""
  35.       FOR _ngo = 1 TO FCOUNT()
  36.          b_fields = b_fields + FILL_OUT(FIELDNAME(_ngo), 10)
  37.       NEXT
  38.       _start = (AT(UPPER(Fill_out(_tfield, 10)), b_fields) + 9) / 10
  39.       _length = INT(_length + _start - 1)
  40.    ELSE
  41.       _start = 1
  42.    ENDIF
  43.  
  44.    IF _start <= 1
  45.       _start = 1
  46.    ENDIF
  47.  
  48.    _start = INT(IF(_start <= 1, 1, _start))
  49.    _inc = 1
  50.    *
  51.    * In case a field name is given, the array subscript must point
  52.    * to a different area than the FIELDNAME() subscript.  Therefore,
  53.    * as I scran through the fields using the variable '_blanka' as
  54.    * the subscript value, I will use '_inc' as the array sub-
  55.    * script value.
  56.    *
  57.  
  58.    FOR _blanka = _start TO _length STEP 1
  59.       _tempb = FIELDNAME(_blanka)
  60.       _tarray[_inc] = Make_empty(&_tempb.)
  61.       _inc = _inc + 1
  62.    NEXT
  63.  
  64.    IF !EMPTY(_tfile)
  65.       IF LEN(_tfile) > 1
  66.          CLOSE DATABASE
  67.       ENDIF
  68.       SELECT &_retto.
  69.    ENDIF
  70.  
  71. * End of File
  72.