home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a070 / 3.ddi / FOXPRO / GOODIES / PROBUILD.PRG < prev    next >
Encoding:
Text File  |  1989-10-08  |  2.6 KB  |  107 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: PROBUILD.PRG
  4. *:
  5. *:         System: ProDemo Archive Example
  6. *:         Author: Fox Software, Inc.
  7. *:      Copyright (c) 1989, Fox Software, Inc.
  8. *:  Last modified: 10/05/89     12:30
  9. *:
  10. *:  Procs & Fncts: SAVESWX
  11. *:               : SETSWX
  12. *:
  13. *:          Calls: SAVESWX        (procedure in PROBUILD.PRG)
  14. *:               : SETSWX         (procedure in PROBUILD.PRG)
  15. *:
  16. *:           Uses: PRODEMO.DBF    
  17. *:
  18. *:            Notes:    This routine illustrates (1) how to use FLS.EXE
  19. *:                    to build a list of files, (2) how convenient
  20. *:                    the low-level I/O routines can be, (3) how to
  21. *:                    construct database from many different files,
  22. *:                    and (4) how very quickly FoxPro can manipulate
  23. *:                    memo fields.  It constructs a database named
  24. *:                    PRODEMO.DBF which contains the various PRG's
  25. *:                    of the FoxPro demo application, one program
  26. *:                    per record, stored in a memo field.
  27. *:
  28. *:      Documented 10/05/89 at 13:56               FoxDoc  version 2.0
  29. *:*********************************************************************
  30. DO saveswx
  31. CLOSE ALL
  32. CLEAR
  33. X = SPACE(40)
  34. @ 10,10 SAY "ProDemo directory:" GET X
  35. READ
  36. CLEAR
  37. IF READKEY() = 12
  38.    ? "Aborted"
  39.    DO setswx
  40.    RETURN
  41. ENDIF
  42. X = ALLTRIM(X)
  43. IF RIGHT(X,1) # "\"
  44.    X = X + "\"
  45. ENDIF
  46. X = X + "*.PRG"
  47. RUN fls &x >prodemo.lst
  48. USE prodemo
  49. ZAP
  50. X = FOPEN("prodemo.lst")
  51. IF X<0
  52.    ? "Can't open PRODEMO.LST"
  53.    DO setswx
  54.    RETURN
  55. ENDIF
  56. DO WHILE ! FEOF(X)
  57.    FILE = FGETS(X)
  58.    basename = SUBSTR(FILE, RAT("\", FILE)+1)
  59.    APPEND BLANK
  60.    REPLACE name WITH basename
  61.    APPEND MEMO source FROM (FILE)
  62.    ? "=>", basename
  63. ENDDO
  64. X = FCLOSE(X)
  65. CLOSE ALL
  66. DO setswx
  67. RETURN
  68.  
  69.  
  70. *!*********************************************************************
  71. *!
  72. *!      Procedure: SAVESWX
  73. *!
  74. *!      Called by: PROBUILD.PRG                  
  75. *!
  76. *!*********************************************************************
  77. PROCEDURE saveswx
  78. PUBLIC oldtalk, oldsafety, oldescape, oldins
  79. IF SET("TALK") = "ON"
  80.    SET TALK OFF
  81.    oldtalk = "ON"
  82. ELSE
  83.    oldtalk = "OFF"
  84. ENDIF
  85. SET TALK OFF
  86. oldins = INSMODE(.T.)
  87. oldsafety = SET("SAFETY")
  88. SET SAFETY OFF
  89. oldescape = SET("ESCAPE")
  90. SET ESCAPE OFF
  91. RETURN
  92.  
  93.  
  94. *!*********************************************************************
  95. *!
  96. *!      Procedure: SETSWX
  97. *!
  98. *!      Called by: PROBUILD.PRG                  
  99. *!
  100. *!*********************************************************************
  101. PROCEDURE setswx
  102. SET TALK &oldtalk
  103. = INSMODE(oldins)
  104. SET SAFETY &oldsafety
  105. SET ESCAPE &oldescape
  106. RETURN
  107.