home *** CD-ROM | disk | FTP | other *** search
- *:*********************************************************************
- *:
- *: Program: PROBUILD.PRG
- *:
- *: System: ProDemo Archive Example
- *: Author: Fox Software, Inc.
- *: Copyright (c) 1989, Fox Software, Inc.
- *: Last modified: 10/05/89 12:30
- *:
- *: Procs & Fncts: SAVESWX
- *: : SETSWX
- *:
- *: Calls: SAVESWX (procedure in PROBUILD.PRG)
- *: : SETSWX (procedure in PROBUILD.PRG)
- *:
- *: Uses: PRODEMO.DBF
- *:
- *: Notes: This routine illustrates (1) how to use FLS.EXE
- *: to build a list of files, (2) how convenient
- *: the low-level I/O routines can be, (3) how to
- *: construct database from many different files,
- *: and (4) how very quickly FoxPro can manipulate
- *: memo fields. It constructs a database named
- *: PRODEMO.DBF which contains the various PRG's
- *: of the FoxPro demo application, one program
- *: per record, stored in a memo field.
- *:
- *: Documented 10/05/89 at 13:56 FoxDoc version 2.0
- *:*********************************************************************
- DO saveswx
- CLOSE ALL
- CLEAR
- X = SPACE(40)
- @ 10,10 SAY "ProDemo directory:" GET X
- READ
- CLEAR
- IF READKEY() = 12
- ? "Aborted"
- DO setswx
- RETURN
- ENDIF
- X = ALLTRIM(X)
- IF RIGHT(X,1) # "\"
- X = X + "\"
- ENDIF
- X = X + "*.PRG"
- RUN fls &x >prodemo.lst
- USE prodemo
- ZAP
- X = FOPEN("prodemo.lst")
- IF X<0
- ? "Can't open PRODEMO.LST"
- DO setswx
- RETURN
- ENDIF
- DO WHILE ! FEOF(X)
- FILE = FGETS(X)
- basename = SUBSTR(FILE, RAT("\", FILE)+1)
- APPEND BLANK
- REPLACE name WITH basename
- APPEND MEMO source FROM (FILE)
- ? "=>", basename
- ENDDO
- X = FCLOSE(X)
- CLOSE ALL
- DO setswx
- RETURN
-
-
- *!*********************************************************************
- *!
- *! Procedure: SAVESWX
- *!
- *! Called by: PROBUILD.PRG
- *!
- *!*********************************************************************
- PROCEDURE saveswx
- PUBLIC oldtalk, oldsafety, oldescape, oldins
- IF SET("TALK") = "ON"
- SET TALK OFF
- oldtalk = "ON"
- ELSE
- oldtalk = "OFF"
- ENDIF
- SET TALK OFF
- oldins = INSMODE(.T.)
- oldsafety = SET("SAFETY")
- SET SAFETY OFF
- oldescape = SET("ESCAPE")
- SET ESCAPE OFF
- RETURN
-
-
- *!*********************************************************************
- *!
- *! Procedure: SETSWX
- *!
- *! Called by: PROBUILD.PRG
- *!
- *!*********************************************************************
- PROCEDURE setswx
- SET TALK &oldtalk
- = INSMODE(oldins)
- SET SAFETY &oldsafety
- SET ESCAPE &oldescape
- RETURN
-