home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
pocketbk
/
utilsu
/
wld
/
FDIAL.TXT
< prev
next >
Wrap
Text File
|
1992-05-04
|
2KB
|
43 lines
Some comments on fdial.opl
--------------------------
For more details, see the accompanying file WLD.DOC.
Evidently, WLD.DOC is in a rather rough form, but you may still find
some of its contents useful. NB I do not personally believe all of
the contents of WLD.DOC, but don't presently have the time to sort
the untruth from the truth.
The main steps in fdial.opl are:
IOOPEN(h%,"WLD:",-1)
IOW(h%,11,#adno%,fr%())
while 1
IOW(h%,23,cdata%(),#0)
IOW(h%,13,fr%(),#0)
endwh
The IOW(... 11 ...) is a WR_FIND_COUNTRY to put the i/o channel to
WLD: into "finding country mode", in which the effect of any
subsequent WR_NEXT or WR_BACK is to nudge by country. (The default
is by city.) Since the search string is null (this is the #adno%),
the very first country in the database is found.
The IOW(... 23 ...) is a WR_GET_COUNTRY_DATA to get a WR_COUNTRY_DATA
struct into cdata%(). There is no second parameter to this function
so the final #0 is merely to prevent the translator whinging.
The IOW(... 13 ...) is a WR_NEXT, to nudge to the next country in the
database.
The result of a WR_NEXT (or a WR_FIND_COUNTRY) is a WR_FIND_RES
struct, which (see WLD.DOC) is 42 bytes long (ie 21 Opl integers).
The line of opl
adco%=addr(fr%()+21)
positions the variable adco% to the beginning of where the country
name part of this struct will be written. The (rather laborious)
routine GETZTS: is used to extract a C-style ZTS (zero terminated
string). (I would certainly re-write GETZTS: using OSs or CALLs if I
wanted to improve the speed of fdial.)
The result of a WR_GET_COUNTRY_DATA is a WR_COUNTRY_DATA struct,
which (see WLD.DOC) is 74 bytes long.