home *** CD-ROM | disk | FTP | other *** search
- ********************
-
- FUNCTION Intable
-
- * The infile() function validates that the parameter passed in
- * found in the file indicated
- *
- * Add color parameters...
-
- PARAMETER _tcode, _tarea, _tkey, _mfield, _sfields, ;
- _farray, _atsayr, _atsayc, _req
-
- PRIVATE _retrnval, _newarea, _wrow, _wcol, _return, ;
- _tme, _ok, _pick, _wwhere, _wdown, _wover, _wover, _hold
-
- IF LASTKEY() = 5 && If up arrow was pressed, do not validate
- RETURN(.T.) && the field
- ENDIF
-
- IF PCOUNT() = 5
- _farray = ""
- _atsayr = ROW()
- _atsayc = COL()
- _req = .F.
- ELSEIF PCOUNT() = 6
- _atsayr = ROW()
- _atsayc = COL()
- _req = .F.
- ELSEIF PCOUNT() = 7
- _atsayc = COL()
- _req = .F.
- ELSEIF PCOUNT() = 8
- _req = .F.
- ENDIF
-
- scrpath = IF((TYPE("scrpath") = "U"), "", scrpath)
- scrdata = IF((TYPE("scrdata") = "U"), "", scrdata)
-
- _wrow = ROW() + 1
- _wcol = COL()
- _newarea = 0
- _return = SELECT()
-
- IF EMPTY(_tarea)
- _tarea = LTRIM(TRIM(STR(SELECT())))
- _newarea = SELECT()
- ELSEIF LEN(_tarea) = 1
- SELECT &_tarea
- ELSE
- SELECT 0
- USE ( scrdata + scrpath + _tarea )
- SET INDEX TO ( scrdata + scrpath + _tarea )
- _newarea = SELECT()
- ENDIF
-
- IF "["$_tcode && This tests to see if the variable passed is
- _tme = &_tcode && an array element which is passed by ref. by
- ELSE && being passed to this function as a string;
- _tme = _tcode && rather than as a variable.
- ENDIF
-
- IF ( !_req .AND. EMPTY(_tme) ) .OR. LASTREC() = 0
- SELECT ( _newarea )
- USE
- SELECT ( _return )
- RETURN(!_req)
- ENDIF
-
- _hold = _tme
- _ok = .F.
- SEEK _tkey
- IF FOUND()
- _ok = .T.
- LOCATE REST FOR _tme = &_mfield WHILE key = _tkey
- ENDIF
- IF !_ok
- SELECT ( _newarea )
- USE
- SELECT ( _return )
- RETURN(.T.)
- ENDIF
- _retrnval = FOUND()
-
- IF !_retrnval
- *
- * MPOP should test screen lenght of combined fields...
- *
- _wwhere= IF( (_wcol -12 < 2), 2, _wcol - 12)
- _wdown = IF(_wrow > 15, 23 - _wrow, 7)
- _wover = IF(_wcol > 50, 78 - _wcol, 25)
- _wover = IF(_wover < 12, 12, _wover)
- _pick = Dpop( _wrow, _wwhere , _wdown, _wover, _tarea, _sfields,"key=_tkey",.F.,.T.)
- *
- ELSE
- _pick = RECNO()
- ENDIF
-
- IF _pick > 0 .AND. TYPE("_farray") = "A"
-
- Storarray(_farray, _tarea, _pick)
-
- ENDIF
- IF _pick > 0
- GOTO _pick
- IF "["$_tcode
- &_tcode = &_mfield
- ELSE
- _tcode = &_mfield
- ENDIF
- @ _atsayr, _atsayc SAY &_mfield
- _retrnval = .T.
- ELSE
- IF "["$_tcode
- &_tcode = _hold
- ELSE
- _tcode = _hold
- ENDIF
- _retrnval = .T.
- ENDIF
- IF _newarea > 0
- SELECT (_newarea)
- USE
- SELECT (_return)
- ENDIF
- RETURN(_retrnval)
-
- * End of File