|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4992 (0x1380)
Types: TextFile
Names: »READCMD.DOC«
└─⟦dd59903ef⟧ Bits:30005887 Klub diskette for udveksling af software
└─⟦this⟧ »READCMD.DOC«
Filename: Readcmd.doc Date: 12/20/82
This document is intended to serve as a guide to the use
of the accompanying files:
READCMD.P/REL
GETNUMS.P/REL
TESTCMD.PAS/COM
CTOI.REL
READCMD
The procedure READCMD provides a means of dealing with the
command tail of a program call. The approach taken is to
read in the whole line of up to 80 characters, and then to
extract the arguments; rather than to read in one argument
at a time. The arguments are returned to the calling program
as an array, ARG, of MAXARGS strings.
The need for something of this sort arises when you have a
program that you sometimes want called with one argument,
sometimes with several, or sometimes with no argument at all.
The introductory comment block in READCMD.P outlines the
details necessary to use the procedure effectively. To
further clarify the use of this procedure, the demonstration
program, TESTCMD, has been included.
GETNUMS
Getnums is an accessory procedure for use when some of
the arguments are numeric. It translates all arguments
which start with a digit into integers, and returns them
to the calling program as an array, NMBR, of N integers.
TESTCMD
1. Note that it is here, in the calling program, that the
maximum number, MAXARGS, of arguments is set, and the
maximum number, MAXWORD, of characters in any argument.
2. In this example, the first argument, NAMEÆ1Å, is simply
set equal to "source", as if it were a filename, and then
is written to the console, as a check.
3. Then, the first character of the second argument is made
equal to "key", and also written to the console.
4. The program also always writes out the number of arguments
entered, - NARGS.
5. Other program action is made to depend on the "key". If
the key is:
a The program will list all NARGS of the arguments
entered.
m It will print all MAXARGS arguments, including dummies
if MAXARGS > NARGS. (You will note that I have
arbitrarily set the dummy argument to be a backslash,
"Ø".) In addition, it will print the length of each
argument.
n It calls GETNUMS and prints out the N (NUMCT) numeric
arguments. To show that they are indeed integers, it
also prints their sum.
6. If no arguments are entered, READCMD assumes you forgot
them, and prompts you, unless you enter a double space
after the program call. In that case, all arguments become
dummies. To show this, I have made Testcmd print out
everything if the first argument is a dummy.
7. I suggest you try TESTCMD with:
a. a, m, and n as the first letter of the second
argument.
b. Fewer than and more than MAXARGS (11) arguments,
and with no arguments.
c. Arguments having more than MAXWORD (14) characters.
d. Arguments spread out over more than 77 characters.
e. Strings of digits less than MAXINT and greater than
MAXINT.
f. Tab characters; - But don't expect it to work! It
doesn't on my system. If someone can explain that
to me, I shall be very grateful.
EXTENSIONS
.P READCMD.P and GETNUMS.P are ready to be "included"
into the .PAS file of a calling program. GETNUMS.P
incorporates the subsidiary Function, CTOI.
.REL These files are ready to be linked into a library.
READCMD.REL has been compiled with MAXWORD = 14 and
MAXARGS = 11, and the calling program must declare
them to have the same values. Otherwise, the program
will probably crash.
GETNUMS.REL does not incorporate CTOI. CTOI will
have to be linked into the library separately.
Therefore CTOI.REL is included on the disk also.
Suggestions and comments will be greatly appreciated by:
Clif Kinne 617-444-9055
159 Dedham Ave.
Needham, Mass. 02192
«eof»