Contents of the DIALIT.DOC file
This program is adapted from
DTR and AT
Donavon Kuhn & Jon Niedfeldt
Adaptation for Clipper
In general terms:
Call DIALIT with "Hayes command"
where the hayes command is a character string
without the AT on the front. (Since all commands
start with an AT, the module will supply it).
COM1 is the default unless you specify otherwise.
Call DIALIT with "Com2:DT1234567" && Can use COM1 thru 4
Call DIALIT with "DT1234567" && Dial # 1234567 (default COM1)
Call DIALIT with "H" && Hang up
(Upper or lower case may be used.)
m_PHONE = SPACE(10)
@ 10, 25 SAY "Enter Phone No. " GET m_phone PICTURE "@R (999) 999-9999"
prefix = "DT"
cmd = prefix + m_phone
@ 12, 25 SAY "Dialing - Please wait..."
Errcode = DIALIT(cmd)
prompt1 = "Return Code = " + ltrim(str(errcode))
@ 14, 25 SAY prompt1
@ 23, 25 SAY "Press any key to hang up..."
cmd = "H"
Errcode = DIALIT(cmd) && Must use this form to maintain consis-
&& tency with above function call...
* CALL DIALIT with cmd && This will cause Clipper to generate a
&& compile-time error (see note below).
@ 12, 35 SAY "All Done..."
This module may be called as a procedure or as a function.
If called as a function, an error code will be returned.
Errcode = DIALIT("DT1234567")
Errcode = 0 - No errors detected
1 - Specified Com port > 4
2 - Com port not found
NOTE: If you call it as BOTH a function and as a procedure, Clipper
will give the compile-time error "Symbol Redefinition Error",
so you must be consistent - i.e., use one form or the other!
This is a straight-forward adaptation of the above mentioned set of
programs. A modem which uses the standard hayes command set is
The two sets of modules, DIALIT86.* and DIALIT87.* are for Clipper
versions Autumn '86 and Summer '87 respectively.
The intended purpose of the module is to provide a convenient
interface between a Clipper application and a dialing device. It
should be fully possible to send any of the full set of "AT"
commands to a modem via DIALIT. The full command string would be
Call DIALIT with "COMx:command"
where: 1 <= x <= 4
and 'command' is any modem command. The AT prefix IS SUPPLIED by
DIALIT, so don't use it! Just start with the third character in the
string. So instead of ATDT--------- use DT-----------, get it?
The COM spec. is optional, defaulting to COM1.
Before attempting this adaptation, I searched many of the popular
Clipper/dBase BBS's for such a utility. I did find one in a shareware
library, but then I came upon the two programs, AT.COM and DTR.COM
which were written to function from DOS, and were contributed freely
by the authors for others to use for their own purposes. I likewise am
happy to make a small contribution in that same spirit of sharing
with the user/programmer community.
This is my first (successful) attempt at doing anything with
808x/80x86 assembler, particularly relating to Clipper. I think I
learned a few basics in working in both domains, and hope to do some
more in the future. It is great fun! But I make no claims toward being
an expert in assembler. You are free to make your own adjustments as
you see fit.
When called from Clipper, DIALIT will set DTR before dialing.
For the uninitiated, DTR is a mnemonic for Data
Terminal Ready. It must be set prior to sending the
dial string in order for the modem to dial out.
"Dropping DTR" will effectively hang up the modem, and
can override a frozen connection - i.e., it FORCES the
modem to go on-hook (Hang up).
I thought it best to leave DTR set in order not to disrupt any other
These programs are provided as is. Whomsoever will use these will
assume all responsibility in determining that these programs modules
are suitable for any intended use. Clipper is a trademark of