home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
dbu12.zip
/
DB3UTIL.DOC
next >
Wrap
Text File
|
1987-01-27
|
12KB
|
259 lines
D B 3 U T I L v 1.2
dBASE III FILE ANALYZER AND QUICKSILVER COMPILER UTILITY
All Rights Reserved 1986,1987
John Calvin Thames
PES, Inc.
11440 Isaac Newton Square
Suite 209
Reston, Virginia 22090
703/471-8383
HISTORY
DB3UTIL 1.2, 1/27/87:
Corrected drive specification problem on program startup. Previously
the DOS-level command
A:> db3util c:\test\test.prg
would abort the program with an invalid subdirectory error message.
The Find and Replace feature now rewrites a file to disk only if a
change has been made to that file. Also reports the total number of
string replacements which have occurred.
DB3UTIL 1.1, 12/10/86:
Changed the program, format, etc. filename search algorithm to be
case insensitive. Now the commands <DO test> and <DO TEST> both
result in finds if TEST exists.
DB3UTIL 1.0, 10/12/86:
Initial public release.
COPYING, DISTRIBUTION, AND CAVEATS:
DB3UTIL may be copied and distributed freely. However, if you
distribute DB3UTIL on BBSes, CompuServe, the Source, GEnie, et al,
please include the following files as a set:
DB3UTIL.EXE
DB3UTIL.DOC
DB3UTIL.NEW
No fee other than a disk and handling charge (of up to $10) should
be charged.
I do not request nor do I expect to receive any payment from the
distribution and use of DB3UTIL. Likewise I will not be responsible
for any damages caused by use, misuse, or inability to use DB3UTIL.
- 1 -
DESCRIPTION
DB3UTIL is a utility program for dBase III programmers especially
those using WordTech's Quicksilver compiler. The program provides four
basic functions:
1. Lists all nonduplicate program, format, procedure, database,
index, memory, and report form files called in a dBase system
tree beginning with the specified file and all subsequent
files called. Also can report on a single file only. Reports
any files which were called and could not be found. Lists to
either the screen or a printer.
2. Provides a detailed analysis for each program in the system tree
(or one program only) of each program, format, procedure,
database, index, memory, and report form file called by that
program. Also lists each database used and each index file used
by that database. Reports on called files which could not be
found.
3. Creates a list file for use with the Quicksilver compiler.
Includes files which have been changed since the last compile
date or a user specified date (ala UNIX MAKE). Saves time by
eliminating the recompilation of files which have not changed.
4. Allows a global find and replace of strings with or without a
query in one file or all files in a system tree. For example
this allows a mass change of a variable name throughout the
entire system of programs called by a root program.
Typing dB3UTIL ? displays the help screen shown below.
================================================================================
dB3UTIL v1.2 Usage : dB3UTIL <filename> [db3util switch] [date]
<filename> : root, main program, or parent dBASE file with extension
[db3util switch] : \A, \C, \L, \R, and \RQ of the following cannot be used
together on a command line
[blank] = List files to screen
\A = Print analysis of files
\C = Create QUICKSILVER Compiler listfile
\D<drive> = Object-code files located on specified drive
\F = 1st character of filename dropped to form object-code file
\L = List files to printer
\O = Analyze <filename> only
\R[<str1>:<str2>] = Find and replace (without query) <str1> with <str2>
\RQ[<str1>:<str2>] = Find and replace (with query) <str1> with <str2>
[date] : specifies file creation or change date (mm/dd/yyyy) for
\C option. [blank] defaults to last compile date.
================================================================================
- 2 -
<filename> = Identifies the program file on which the analysis begins.
Usually this file will be the first file used when running a
program. Unless the \O option is selected, all subordinate
files called by this program file will be analyzed. The
file extension (e.g. .PRG) must be included when specifying
the file name. A path can also be specified. For example,
dB3UTIL B:\ACCOUNT\INVOICE.PRG will change the active
directory to B:\ACCOUNT. At the conclusion of the program,
control will be returned to the original directory.
<db3util switch> = This option switch selects the type of analysis to be
conducted. The options \A, \C, \L, \R, and \RQ cannot
be used together on the same command line. If more than
one is specified, the first option listed will be the
command which is executed.
[blank] = If there are no options selected, the program
default is to list to the screen all of the
files by file type (program, format, database,
etc.) found during the analysis.
\A = Prints to a printer an analysis of which files
are used by each of the other files. A list
is printed of each database and the index file(s)
used by that database. Also listed are any files
which are called and cannot found in the active
directory.
\C = Creates a Quicksilver Compiler listfile. This
is an ASCII file which contains the names of the
individual program or format files which are to
be compiled. This option is used in conjunction
with the [date] specification. If [date] is
listed, all program files found during the
dB3UTIL analysis which have file creation dates
(as shown when listing a directory) on or after
that [date] will be included in the listfile. If
no [date] is specified and a corresponding
object-code file exists (either in the active
directory or as indicated by the \D option), the
date for each object-code file determines whether
a file is included in the listfile. If no [date]
is specified and no corresponding object-code file
is found, that file is included in the listfile.
This options allows a recompilation only of files
which have been changed since the last compilation.
The listfile will be named <filename>.DBU where
<filename> is the root file specified on the
command line when dB3UTIL is invoked.
- 3 -
\D<drive> = Identifies the <drive> location of existing object-
code files. This option is used in conjunction
with the \C option.
\F = Indicates if the first letter of the file name was
dropped to form the object-code file. By default
Quicksilver creates an object-code file by adding
the "@" character to the beginning of the compiled
filename. If the filename is eight characters
long, the last character is dropped to form the
object-code name. An option with Quicksilver is
to drop the first rather than the last letter
when forming the object-code filename. The
dB3UTIL \C option needs to know how the name was
formed when it looks for the file creation date.
\L = Performs the same function as using no options
(see [blank] above) except the list of files are
sent to a printer rather than the screen.
\O = Analyses only the single <filename>. This option
does not analysis the files called by <filename>.
\R[<str1>:<str2>] = Finds and replaces (without query) <str1> with
<str2>. This allows a global replacement of a
string with any other string. If used without
the \O option, <str1> will be replaced in the
specified file and all called files without
waiting for confirmation. The square brackets
must be used as delimiters so that leading and
trailing spaces can be included. For example,
[FOR:THE] is not the same as [ FOR : THE ]. The
first combination would find every usage of FOR
(in the word FORMAT for instance) whereas the
second combination would find only the unique word
FOR. The replacement string <str2> does not have
to be the same length as <str1>. The string
"INTERNATIONAL BUSINESS MACHINES" could replace the
string "IBM". However line lengths in excess of
255 characters could be created which may cause
problems with some text editors.
\RQ[<str1>:<str2>] = Performs the same as the \R option except that
a confirming query is presented prior to any
string replacement. For example the command
\RQ[FOR:THE] will require following question
REPLACE FOR WITH THE? (Y/N)
to be answered with a "Y" before a replacement
takes place. The program line containing the
found <str1> will be displayed above the query.
The \R and \RQ options can be used on any ASCII
file which ends each line with a carriage return
and a line feed.
[date] = Specifies the last file change or creation date
for use with the \C option. See \C above.
- 4 -