home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbu12.zip / DB3UTIL.DOC next >
Text File  |  1987-01-27  |  12KB  |  259 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                               D B 3 U T I L  v 1.2
  7.  
  8.            dBASE III FILE ANALYZER AND QUICKSILVER COMPILER UTILITY
  9.  
  10.                          All Rights Reserved 1986,1987
  11.  
  12.                                John Calvin Thames
  13.                                    PES, Inc.
  14.                            11440 Isaac Newton Square
  15.                                    Suite 209
  16.                             Reston, Virginia 22090
  17.                                  703/471-8383
  18.  
  19.  
  20.     HISTORY
  21.  
  22.          DB3UTIL 1.2, 1/27/87:
  23.  
  24.          Corrected drive specification problem on program startup.  Previously
  25.          the DOS-level command
  26.                                A:> db3util c:\test\test.prg
  27.          would abort the program with an invalid subdirectory error message.
  28.          The Find and Replace feature now rewrites a file to disk only if a
  29.          change has been made to that file.  Also reports the total number of 
  30.          string replacements which have occurred.
  31.  
  32.          DB3UTIL 1.1, 12/10/86:
  33.  
  34.          Changed the program, format, etc. filename search algorithm to be
  35.          case insensitive.  Now the commands <DO test> and <DO TEST> both 
  36.          result in finds if TEST exists.
  37.  
  38.          DB3UTIL 1.0, 10/12/86:
  39.  
  40.          Initial public release.
  41.  
  42.  
  43.     COPYING, DISTRIBUTION, AND CAVEATS:
  44.  
  45.          DB3UTIL may be copied and distributed freely.  However, if you 
  46.          distribute DB3UTIL on BBSes, CompuServe, the Source, GEnie, et al, 
  47.          please include the following files as a set: 
  48.                                  DB3UTIL.EXE
  49.                                  DB3UTIL.DOC
  50.                                  DB3UTIL.NEW
  51.          No fee other than a disk and handling charge (of up to $10) should 
  52.          be charged.
  53.  
  54.          I do not request nor do I expect to receive any payment from the 
  55.          distribution and use of DB3UTIL. Likewise I will not be responsible 
  56.          for any damages caused by use, misuse, or inability to use DB3UTIL.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                      - 1 -
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.     DESCRIPTION
  72.  
  73.          DB3UTIL is a utility program for dBase III programmers especially
  74.     those using WordTech's Quicksilver compiler.  The program provides four
  75.     basic functions:
  76.          1. Lists all nonduplicate program, format, procedure, database,
  77.             index, memory, and report form files called in a dBase system
  78.             tree beginning with the specified file and all subsequent
  79.             files called.  Also can report on a single file only.  Reports
  80.             any files which were called and could not be found.  Lists to
  81.             either the screen or a printer.
  82.  
  83.          2. Provides a detailed analysis for each program in the system tree
  84.             (or one program only) of each program, format, procedure,
  85.             database, index, memory, and report form file called by that
  86.             program.  Also lists each database used and each index file used
  87.             by that database.  Reports on called files which could not be
  88.             found.
  89.  
  90.          3. Creates a list file for use with the Quicksilver compiler.
  91.             Includes files which have been changed since the last compile
  92.             date or a user specified date (ala UNIX MAKE).  Saves time by 
  93.             eliminating the recompilation of files which have not changed.
  94.  
  95.          4. Allows a global find and replace of strings with or without a
  96.             query in one file or all files in a system tree.  For example
  97.             this allows a mass change of a variable name throughout the
  98.             entire system of programs called by a root program.
  99.  
  100.          Typing dB3UTIL ? displays the help screen shown below.
  101.  
  102. ================================================================================
  103.  
  104. dB3UTIL v1.2 Usage : dB3UTIL <filename> [db3util switch] [date]
  105.  
  106.         <filename> : root, main program, or parent dBASE file with extension
  107.  
  108.   [db3util switch] : \A, \C, \L, \R, and \RQ of the following cannot be used
  109.                      together on a command line
  110.            [blank] = List files to screen
  111.                 \A = Print analysis of files
  112.                 \C = Create QUICKSILVER Compiler listfile
  113.          \D<drive> = Object-code files located on specified drive
  114.                 \F = 1st character of filename dropped to form object-code file
  115.                 \L = List files to printer
  116.                 \O = Analyze <filename> only
  117.  \R[<str1>:<str2>] = Find and replace (without query) <str1> with <str2>
  118. \RQ[<str1>:<str2>] = Find and replace (with query) <str1> with <str2>
  119.  
  120.             [date] : specifies file creation or change date (mm/dd/yyyy) for
  121.                      \C option.  [blank] defaults to last compile date.
  122.  
  123. ================================================================================
  124.  
  125.  
  126.  
  127.  
  128.                                      - 2 -
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.       <filename> = Identifies the program file on which the analysis begins.
  136.                    Usually this file will be the first file used when running a
  137.                    program.  Unless the \O option is selected, all subordinate
  138.                    files called by this program file will be analyzed.  The
  139.                    file extension (e.g. .PRG) must be included when specifying
  140.                    the file name.  A path can also be specified.  For example,
  141.                    dB3UTIL B:\ACCOUNT\INVOICE.PRG will change the active
  142.                    directory to B:\ACCOUNT.  At the conclusion of the program,
  143.                    control will be returned to the original directory.
  144.  
  145. <db3util switch> = This option switch selects the type of analysis to be 
  146.                    conducted.  The options \A, \C, \L, \R, and \RQ cannot
  147.                    be used together on the same command line.  If more than
  148.                    one is specified, the first option listed will be the
  149.                    command which is executed.
  150.  
  151.                    [blank] = If there are no options selected, the program
  152.                              default is to list to the screen all of the
  153.                              files by file type (program, format, database,
  154.                              etc.) found during the analysis.
  155.  
  156.                         \A = Prints to a printer an analysis of which files
  157.                              are used by each of the other files.  A list
  158.                              is printed of each database and the index file(s) 
  159.                              used by that database.  Also listed are any files 
  160.                              which are called and cannot found in the active
  161.                              directory.
  162.  
  163.                         \C = Creates a Quicksilver Compiler listfile.  This
  164.                              is an ASCII file which contains the names of the
  165.                              individual program or format files which are to
  166.                              be compiled.  This option is used in conjunction
  167.                              with the [date] specification.  If [date] is
  168.                              listed, all program files found during the
  169.                              dB3UTIL analysis which have file creation dates
  170.                              (as shown when listing a directory) on or after
  171.                              that [date] will be included in the listfile.  If
  172.                              no [date] is specified and a corresponding 
  173.                              object-code file exists (either in the active 
  174.                              directory or as indicated by the \D option), the
  175.                              date for each object-code file determines whether
  176.                              a file is included in the listfile.  If no [date]
  177.                              is specified and no corresponding object-code file
  178.                              is found, that file is included in the listfile.
  179.                              This options allows a recompilation only of files
  180.                              which have been changed since the last compilation.
  181.                              The listfile will be named <filename>.DBU where
  182.                              <filename> is the root file specified on the 
  183.                              command line when dB3UTIL is invoked.
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.                                      - 3 -
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.                  \D<drive> = Identifies the <drive> location of existing object-
  200.                              code files.  This option is used in conjunction 
  201.                              with the \C option.
  202.  
  203.                         \F = Indicates if the first letter of the file name was
  204.                              dropped to form the object-code file.  By default
  205.                              Quicksilver creates an object-code file by adding
  206.                              the "@" character to the beginning of the compiled
  207.                              filename.  If the filename is eight characters
  208.                              long, the last character is dropped to form the
  209.                              object-code name.  An option with Quicksilver is
  210.                              to drop the first rather than the last letter 
  211.                              when forming the object-code filename.  The
  212.                              dB3UTIL \C option needs to know how the name was
  213.                              formed when it looks for the file creation date.
  214.  
  215.                         \L = Performs the same function as using no options
  216.                              (see [blank] above) except the list of files are
  217.                              sent to a printer rather than the screen.
  218.  
  219.                         \O = Analyses only the single <filename>.  This option
  220.                              does not analysis the files called by <filename>.
  221.  
  222.          \R[<str1>:<str2>] = Finds and replaces (without query) <str1> with 
  223.                              <str2>.  This allows a global replacement of a 
  224.                              string with any other string.  If used without
  225.                              the \O option, <str1> will be replaced in the
  226.                              specified file and all called files without
  227.                              waiting for confirmation.  The square brackets
  228.                              must be used as delimiters so that leading and
  229.                              trailing spaces can be included.  For example,
  230.                              [FOR:THE] is not the same as [ FOR : THE ].  The
  231.                              first combination would find every usage of FOR
  232.                              (in the word FORMAT for instance) whereas the
  233.                              second combination would find only the unique word
  234.                              FOR.  The replacement string <str2> does not have
  235.                              to be the same length as <str1>.  The string
  236.                              "INTERNATIONAL BUSINESS MACHINES" could replace the
  237.                              string "IBM".  However line lengths in excess of
  238.                              255 characters could be created which may cause
  239.                              problems with some text editors.
  240.  
  241.         \RQ[<str1>:<str2>] = Performs the same as the \R option except that
  242.                              a confirming query is presented prior to any
  243.                              string replacement.  For example the command
  244.                              \RQ[FOR:THE] will require following question
  245.                                      REPLACE FOR WITH THE? (Y/N)
  246.                              to be answered with a "Y" before a replacement
  247.                              takes place.  The program line containing the
  248.                              found <str1> will be displayed above the query.
  249.                              The \R and \RQ options can be used on any ASCII 
  250.                              file which ends each line with a carriage return 
  251.                              and a line feed.
  252.  
  253.                     [date] = Specifies the last file change or creation date
  254.                              for use with the \C option.  See \C above.
  255.  
  256.                                      - 4 -
  257.  
  258.  
  259.