home *** CD-ROM | disk | FTP | other *** search
- *******************
-
- FUNCTION Arraysave
-
- * Contributed by Joe Booth / Modified by Steve Straley
-
- PARAMETER _warray, _fname
-
- IF PCOUNT() != 2
- RETURN(.F.)
- ELSEIF TYPE("_warray") + TYPE("_fname") != "AC"
- RETURN(.F.)
- ENDIF
-
- PRIVATE _retval, _tmp, _qaz, _wtype, _addme, _fn, _tmp, _hw
-
- _retval = .F.
- _tmp1 = ""
- _tmp2 = ""
- FOR _qaz = 1 TO LEN(_warray)
- _wtype= TYPE("_warray[_qaz]")
- _addme = ""
- DO CASE
- CASE _wtype = "C"
- _addme = _warray[_qaz]
- CASE _wtype = "D"
- _addme = DTOC(_warray[_qaz])
- CASE _wtype = "N"
- _addme = STR(_warray[_qaz])
- CASE _wtype = "L"
- _addme = IF(_warray[_qaz],"T","F")
- ENDCASE
- _tmp1 = _tmp1+_wtype+STR( LEN(_addme),5)
- _tmp2 = _tmp2+_addme
- NEXT
- _fn = FCREATE(_fname,0)
- IF _fn >= 0
- _tmp = "SJS"+STR( LEN(_warray), 10) + STR( LEN(_tmp1),10)+STR(LEN(_tmp2),10)+_tmp1+_tmp2
- _hw = FWRITE(_fn,_tmp)
- _retval = (_hw = LEN(_tmp))
- fclose(_fn)
- ENDIF
- RETURN(_retval)
-
- * End of File