home *** CD-ROM | disk | FTP | other *** search
- ********************
-
- PROCEDURE Thefault
-
- PARAMETERS _fa, _fb, _cproc, _file
-
- IF EMPTY(PCOUNT())
- RETURN
- ELSEIF PCOUNT() = 2
- _cproc = ""
- _file = ""
- ELSEIF PCOUNT() = 3
- _file = ""
- ENDIF
-
- * _cproc is the name of the procedure that the program should
- * immediately go to to start over again, something like
- * an initialization menu.
- * _file is an array of the names of all the databases so
- * that if there are no files over there, they can
- * be copied over.
-
- _fa = IF(_fa > 21, 21, _fa)
- _fb = IF(_fb > 15, 15, _fb)
- _fc = _fa + 3
- _fd = _fb + 60
-
- PRIVATE _indir, _ndrive, _nndir, _curent, _ocolor
-
- scrprog = IF( TYPE("scrprog") = "U", "C:", scrprog)
-
- WINDOWPUSH(_fa, _fb, _fc, _fd)
- _indir = SPACE(50)
- EXTERNAL Show_tree
- SET KEY 63 TO Show_tree
- WSAYGET(1, 3, "Enter new PATH...... ? for Tree!! ")
- WSAYGET(.T.,2,3,"->","_indir", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
- SET KEY 63 TO
- IF UPDATED() .AND. !(LASTKEY() = 27)
- _effflag = .F.
- _ndrive = scrprog
- DO WHILE !FILE(_ndrive + "\COMMAND.COM")
- CLEAR_AREA()
- IF !_effflag
- WSAYGET(1, 3, "Please insert DOS disk in drive => " + SUBSTR(_ndrive,1,1))
- WSAYGET(2, 3, " Any key or Q to Quit .......")
- ELSE
- WSAYGET(1, 3, "COMMAND.COM not found. Enter Drive letter to")
- WSAYGET(.T.,2,3, " look for this file. New Drive is => ", "_ndrive", "!:")
- _effflag = .F.
- LOOP
- ENDIF
- _effflag = .T.
- IF QWAIT("Q")
- WINDOWPOP()
- RETURN
- ENDIF
- ENDDO
- _indir = TRIM(_indir)
- IF !EMPTY(_file)
- FOR _qaz = 1 TO LEN(_file)
- _curent = _file[_qaz]
- CLOSE ALL
- IF !FILE(_indir + _curent)
- USE (_curent)
- COPY STRU TO &_indir.&_curent
- ENDIF
- NEXT
- CLOSE ALL
- ENDIF
- _nndir = "CHDIR " + _indir
- IF FILE("SCREEN.SYS")
- COPY FILE Screen.sys TO &_indir.\Screen.sys
- ENDIF
- IF MEMORY(0) < 44
- CLEAR_AREA()
- WSAYGET(1,3, "Not Enough Memory to perform operation. Please")
- WSAYGET(2,3, " press any key to return to calling program. ")
- INKEY(0)
- WINDOWPOP()
- RETURN
- ENDIF
- RUN &_nndir.
- IF DOSERROR() <> 0
- _ocolor = SETCOLOR()
- SET COLOR TO W+/R
- @ 24,00 SAY "Unable to Chain to Sub-directory. Shall I Make it? "
- SETCOLOR(_ocolor)
- IF PROMPT()
- @ 24,00
- WINDOWPOP()
- RETURN
- ELSE
- IF FILE("SCREEN.SYS")
- RUN MKDIR &_indir.
- COPY FILE Screen.sys TO &_indir.\Screen.sys
- RUN CHDIR &_indir.
- ENDIF
- ENDIF
- ENDIF
- @ 24,00
- SAVE ALL LIKE * TO Carryovr.sys
- IF !EMPTY(_cproc)
- DO &_cproc.
- ENDIF
- RESTORE FROM Carryovr.sys ADDITIVE
- ERASE Carryovr.sys
- ENDIF
- WINDOWPOP()
-
- * End of File