home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
ozwgcp.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-07-16
|
4KB
|
131 lines
/* OZWGCP.CMD by William J. Hinkle [75300,2050] */
/* This Rexx script translates OZCIS/Win address books to GCP USERID.CIS */
/* Just run it from an OS/2 command line or a desktop program object */
/*
Title : Translates OZCIS-Win Address Books to GCP form
Keywords: GCP GOLDEN COMMPASS OZCIS WIN OZARK ADDRESS ADDRESSBOOK TRANSLATE
This OS/2 Rexx program reads your OZCIS-Windows address book and
appends the addresses to your Golden CommPass address book.
If you have problems, I'll be interested to see your OZCIS
ADDRBOOK.AB file. Freeware, uploaded by author.
*/
uppert = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowert = "abcdefghijklmnopqrstuvwxyz"
SIGNAL ON HALT
gcpok = ""
DO UNTIL gcpok = "READY:"
IF gcpok <> "" THEN SAY gcpaddr "could not be found!"
SAY "Please enter the drive:directory to the Golden CommPass addressbook USERID.CIS."
SAY "Just [Enter] for C:\GCP\ or [Ctrl+C][Enter] to quit: ";
PARSE PULL gcppath
gcppath = STRIP(gcppath,"B")
IF gcppath = "" THEN
gcppath = "C:\GCP\"
ELSE DO
IF RIGHT(gcppath,1) <> "\" AND RIGHT(gcppath,1) <> ":" THEN DO
gcppath = gcppath || "\"
END
END
gcpaddr = gcppath || "USERID.CIS"
IF STREAM(gcpaddr,"C","QUERY EXISTS") <> "" THEN DO
SAY "Did you already save" gcpaddr "just in case...? [Y/N][Enter]:"
PARSE UPPER PULL strdat
IF strdat <> "Y" THEN DO
SAY "You'd better do that right now, and try this again later!"
EXIT
END
END
gcpok = STREAM(gcpaddr,"C","OPEN WRITE")
END
ozwok = ""
DO UNTIL ozwok = "READY:"
IF ozwok <> "" THEN SAY ozwaddr "could not be found!"
SAY "Please enter the drive:directory to the OZCIS-Windows addressbook ADDRBOOK.AB."
SAY "Just [Enter] for C:\OZWIN\ or [Ctrl+C][Enter] to quit: ";
PARSE PULL ozwpath
ozwpath = STRIP(ozwpath,"B")
IF ozwpath = "" THEN
ozwpath = "C:\OZWIN\"
ELSE DO
IF RIGHT(ozwpath,1) <> "\" AND RIGHT(ozwpath,1) <> ":" THEN DO
ozwpath = ozwpath || "\"
END
END
ozwaddr = ozwpath || "ADDRBOOK.AB"
ozwok = STREAM(ozwaddr,"C","OPEN READ")
END
IF BITAND(ozwok,gcpok) = "READY:" THEN DO
ncnt = 0
ozpos = 1
DO WHILE CHARS(ozwaddr) > 0
/* get the name */
slen = C2D(CHARIN(ozwaddr,ozpos,1))
strdat = STRIP(CHARIN(ozwaddr,ozpos+1,slen),"B")
/* un-comment to reverse "last, first" to "first last" if req'd */
/*
endsurname = POS(",", strdat)
IF endsurname > 0 THEN DO
strdat = SUBSTR(strdat,endsurname+1) || ,
" " || ,
SUBSTR(strdat,1,endsurname-1)
END
*/
/* build name, fixing case: NAME-> Name */
nametxt = strdat
ozpos = ozpos + 1 + slen
/* get the CIS ID or other address */
slen = C2D(CHARIN(ozwaddr,ozpos,1))
strdat = STRIP(CHARIN(ozwaddr,ozpos+1,slen),"B")
IF LEFT(strdat,1) = "[" THEN strdat = SUBSTR(strdat,2)
IF RIGHT(strdat,1) = "]" THEN strdat = LEFT(strdat,LENGTH(strdat) - 1)
nametxt = nametxt strdat
ozpos = ozpos + 1 + slen
/* get notes */
slen = C2D(REVERSE(CHARIN(ozwaddr,ozpos,2)))
strdat = STRIP(CHARIN(ozwaddr,ozpos+2,slen),"B")
ozpos = ozpos + 2 + slen
IF strdat <> "" THEN DO
nametxt = nametxt '|'
/* remove all CR and LF characters */
slen = 1
lend = -1
DO FOREVER
lend = POS(D2C(13),strdat,slen)
IF lend = 0 THEN DO
nametxt = nametxt SUBSTR(strdat,slen)
LEAVE
END
nametxt = nametxt SUBSTR(strdat,slen,lend - slen)
slen = lend + 1
IF SUBSTR(strdat,slen,1) = D2C(10) THEN slen = slen + 1
END
END
ncnt = ncnt + 1
SAY "#" ncnt "=" nametxt
IF LINEOUT(gcpaddr,nametxt) <> 0 THEN DO
SAY "Gagged writing to" gcpaddr "!"
LEAVE
END
END
END
IF ozwok <> "READY:" THEN SAY "Couldn't find the OZCIS-Windows address book file!"
ELSE CALL STREAM ozwaddr,"C","CLOSE"
IF gcpok <> "READY:" THEN SAY "Couldn't find the GCP address book file!"
ELSE CALL STREAM gcpaddr,"C","CLOSE"
EXIT
HALT:
EXIT