home *** CD-ROM | disk | FTP | other *** search
- * DATE 04/24/85 22:00
- * wsfile.ref
- REST from rdata.mem additive
- ERAS
- STOR 'T' TO select
- STOR 'N' TO under
- STOR 'N' TO under1
- STOR 'Y' TO ans
- @ 02,10 SAY 'This Module will make a special MailMerge file for WordStar'
- @ 04,10 SAY 'Some people prefer to underline the title or subtitle (or both).'
- @ 05,10 SAY 'Do you want to underline the main title (Y/N) ? '
- @ 05,60 GET under PICTURE '!'
- READ
- @ 06,10 SAY 'Do you want to underline the subtitle (Y/N) ? '
- @ 06,60 GET under1 PICTURE '!'
- READ
- @ 08,10 SAY 'Do you want the list alphabetically by <A>uthor or <T>itle ? '
- @ 08,74 GET select PICTURE '!'
- READ
- DO WHIL @(select,'AT')=0
- @ 08,74 GET select PICTURE '!'
- READ
- ENDD
- CLEA GETS
- IF select = 'A'
- SET index TO &dr.:&aindex
- ELSE
- SET INDEX TO &dr.:&tindex
- ENDI
- RELE select
- CLEA GETS
- GO TOP
- @ 10,10 SAY 'Do you want to prepare a WordStar file using the entire database ?'
- @ 10,75 GET ans PICTURE '!'
- READ
- DO WHIL @(ans,'YN')=0
- @ 10,75 GET ans PICTURE '!'
- READ
- ENDD
- IF ans = 'Y'
- STOR 1 TO counter
- ACCE 'Enter Name of the WordStar-MailMerge file ' TO file:dat
- DO WHIL file:dat = ' '
- ACCE 'Enter Name of the WordStar-MailMerge file ' TO file:dat
- ENDD
- STOR !(file:dat) TO file:dat
- STOR $(file:dat,1,8) TO file:dat
- STOR file:dat+'.DOC' TO file:doc
- STOR file:dat+'.DAT' TO file:dat
- ERAS
- @ 03,10 SAY 'Creating WordStar-MailMerge Document file: '+file:doc
- SET CONSOLE OFF
- SET ALTERNATE TO &file:doc
- SET ALTERNATE ON
- ? '.OP'
- ? '.DF '+file:dat
- ? '.RV author,title1,title2,jrnlcite,edition,pageno,edtrans,publdata,librdata,chron,type,worksdis,comments'
- ? '.. select only items you need in your report labeling them, for example, as'
- ? '.. &author&,&title1&. Where you will sometimes have blank data fields, use'
- ? '.. the mailmerge option &title2/O&, &author/O&'
- SET ALTERNATE OFF
- SET CONSOLE ON
- @ 05,10 SAY ' Creating WordStar-MailMerge Data file: '+file:dat
- ?
- ?
- ?? 'Writing record # '
- SET CONSOLE OFF
- SET ALTERNATE TO &file:dat
- DO WHIL .NOT. EOF
- SET CONSOLE OFF
- SET ALTERNATE ON
- STOR $(title1,1,60) TO tit1
- STOR $(title1,61,60) TO tit2
- IF tit2 = ' '
- STOR TRIM(tit1) TO title
- ELSE
- STOR TRIM(tit1)+' '+TRIM(tit2) TO title
- ENDIF
- STOR $(worksdis,1,60) TO work1
- STOR $(worksdis,61,60) TO work2
- IF work2 = ' '
- STOR TRIM(work1) TO work
- ELSE
- STOR TRIM(work1)+' '+TRIM(work2) TO work
- ENDI
- STOR $(comments,1,60) TO com1
- STOR $(comments,61,60) TO com2
- STOR $(comments,121,40) TO com3
- IF com3 = ' '
- STOR com2 TO comm
- ELSE
- STOR TRIM(com2) + ' ' + TRIM(com3) TO comm
- ENDI
- IF comm = ' '
- STOR TRIM(com1) TO com
- ELSE
- STOR TRIM(com1)+' '+TRIM(comm) TO com
- ENDIF
- ?
- IF author = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(author)+CHR(34)+','
- ENDI
- IF title = ' '
- ?? ','
- ELSE
- IF under = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title)+CHR(34)+','
- ENDI
- ENDI
- IF title2 = ' '
- ?? ','
- ELSE
- IF under1 = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title2)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title2)+CHR(34)+','
- ENDI
- ENDI
- IF journal = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(journal)+CHR(34)+','
- ENDI
- IF edition = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(edition)+CHR(34)+','
- ENDI
- IF pageno = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(pageno)+CHR(34)+','
- ENDI
- IF edtrans = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(edtrans)+CHR(34)+','
- ENDI
- IF publdat = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(publdat)+CHR(34)+','
- ENDI
- IF librdat = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(librdat)+CHR(34)+','
- ENDI
- IF chron = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(chron)+CHR(34)+','
- ENDI
- IF type = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(type)+CHR(34)+','
- ENDI
- IF work = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(work)+CHR(34)+','
- ENDI
- IF com = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(com)+CHR(34)+','
- ENDI
- SET ALTERNATE OFF
- SKIP
- SET CONSOLE ON
- ?? CHR(8) + CHR(8)+CHR(8)+CHR(8)+CHR(8)+CHR(8)+STR(COUNTER,5)
- STOR COUNTER + 1 TO COUNTER
- ENDD while not EOF
- ELSE
- ERAS
- SET COLON OFF
- STOR 'Selective WordStar MailMerge Module' TO mode
- @ 0,26 SAY mode
- @ 1, 0 SAY "+---------------------------------------"
- @ 1,39 SAY "---------------------------------------+"
- @ 2,10 SAY "To perform selective file preparation input only information"
- @ 3,10 SAY "which is required for the search. Where more than one selection"
- @ 4,10 SAY "in a field, you must perform multiple searches."
- @ 7, 6 SAY "Author:"
- @ 8, 5 SAY "Title 1:"
- @ 9, 5 SAY "Title 2:"
- @ 10, 3 SAY "Jrnl Cite:"
- @ 11, 5 SAY "Edition:"
- @ 11,47 SAY "Page No:"
- @ 12, 4 SAY "Ed/Trans:"
- @ 13, 0 SAY "Publish data:"
- @ 14, 0 SAY "Library data:"
- @ 15, 7 SAY "Chron:"
- @ 16, 8 SAY "Type:"
- @ 17, 2 SAY "Works disc:"
- @ 18, 4 SAY "Comments:"
- @ 19,47 SAY "Updated:"
- @ 20, 0 SAY " -------------------------------------------------"
- @ 20,50 SAY "-----------------------------"
- STOR ' ' TO extra
- STOR 0 TO count
- STOR '.NOT.*' TO finder
- STOR f TO first
- STOR ' ' TO blnks
- STOR blnks+$(blnks,1,20) TO mauthor
- STOR blnks+$(blnks,1,20) TO mtitle1
- STOR $(blnks,1,20) TO mtitle2
- STOR $(blnks,1,20) TO mjournal
- STOR $(blnks,1,18) TO medition
- STOR $(blnks,1,18) TO mpageno
- STOR $(blnks,1,20) TO medtran
- STOR $(blnks,1,20) TO mpubldat
- STOR $(blnks,1,20) TO mlibrdat
- STOR $(blnks,1,20) TO mchron
- STOR $(blnks,1,18) TO mtype
- STOR $(blnks,1,20) TO mworks
- STOR $(blnks,1,20) TO mcomment
- STOR $(blnks,1,8) TO mdayu
- @ 7,14 GET mauthor
- @ 8,14 GET mtitle1
- @ 9,14 GET mtitle2
- @ 10,14 GET mjournal
- @ 11,14 GET medition
- @ 11,56 GET mpageno
- @ 12,14 GET medtran
- @ 13,14 GET mpubldat
- @ 14,14 GET mlibrdat
- @ 15,14 GET mchron
- @ 16,14 GET mtype
- @ 17,14 GET mworks
- @ 18,14 GET mcomment
- @ 19,56 GET mdayu
- READ
- CLEA GETS
- STOR t TO continue
- STOR f TO toolong
- IF mauthor <> ' '
- STOR TRIM(finder) +".AND.'"+TRIM(!(mauthor))+"'"+'$!(author)' TO finder
- ENDI
- RELE mauthor
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mtitle1 <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mtitle1))+"'" TO mtitle11
- STOR TRIM(finder) + mtitle11+'$!(title1)' TO finder
- ENDI
- RELE mtitle1, mtitle11
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mtitle2 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mtitle2))+"'" TO mtitle21
- STOR TRIM(finder) +mtitle21+'$!(title2)' TO finder
- ENDI
- RELE mtitle2, mtitle21
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mjournal <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mjournal))+"'" TO mjourna1
- STOR TRIM(finder) + mjourna1+'$!(journal)' TO finder
- ENDI
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- RELE mjournal, mjourna1
- IF medition <> ' '.AND. (.NOT. toolong)
- STOR ".AND.'"+TRIM(!(medition))+"'" TO medit1
- STOR TRIM(finder) +medit1+'$!(edition)' TO finder
- ENDI
- RELE medition, medit1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mpubldat <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mpubldat))+"'" TO mpubl1
- STOR TRIM(finder) + mpubl1+'$!(publdat)' TO finder
- ENDI
- RELE mpubldat, mpubl1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mlibrdat <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mlibrdat))+"'" TO mlibrd1
- STOR TRIM(finder) + mlibrd1+'$!(librdat)' TO finder
- ENDI
- RELE mlibrdat, mlibrd1
- IF LEN(finder) >140
- STOR t TO toolong
- ENDI
- IF mchron <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mchron))+"'" TO mchron1
- STOR TRIM(finder) +mchron1+'$!(chron)' TO finder
- ENDI
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- RELE mchron, mchron1
- IF mtype <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mtype))+"'" TO mtype1
- STOR TRIM(finder) +mtype1+'$!(type)' TO finder
- ENDI
- RELE mtype, mtype1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mworks <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mworks))+"'" TO mworkd1
- STOR TRIM(finder) +mworkd1+'$!(worksdis)' TO finder
- ENDI
- RELE mworks, mworkd1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mcomment <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mcomment))+"'" TO mcomm1
- STOR TRIM(finder) +mcomm1+'$!(comments)' TO finder
- ENDI
- RELE mcomment, mcomm1
- IF LEN(finder) > 200
- STOR t TO toolong
- ENDI
- IF mdayu <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mdayu))+"'" TO mdayu1
- STOR TRIM(finder) +mdayu1+'$!(dayu)' TO finder
- ENDI
- RELE mdayu, mayu1
- IF LEN(finder) > 200
- STOR t TO toolong
- ENDI
- SET COLON ON
- IF LEN(finder) < 12
- STOR "*" TO finder
- STOR ' STANDARD = deleted files ' TO extra
- ENDI
- IF toolong
- ERAS
- @ 10,10 SAY 'The search string is too long - you can have no more than'
- @ 11,10 SAY '200 characters in the string and the field names. Please'
- @ 12,10 SAY 'try again'
- @ 13,30 SAY 'Hit any key to continue'
- STOR f TO continue
- SET CONSOL OFF
- WAIT
- SET CONSOL ON
- ENDI
- RELE toolong
- ERAS
- IF continue
- STOR 1 TO counter
- ACCE 'Enter Name of the WordStar-MailMerge file ' TO file:dat
- DO WHIL file:dat = ' '
- ACCE 'Enter Name of the WordStar-MailMerge file ' TO file:dat
- ENDD
- STOR !(file:dat) TO file:dat
- STOR $(file:dat,1,8) TO file:dat
- STOR file:dat+'.DOC' TO file:doc
- STOR file:dat+'.DAT' TO file:dat
- ERAS
- @ 03,10 SAY 'Creating WordStar-MailMerge Document file: '+file:doc
- SET CONSOLE OFF
- SET ALTERNATE TO &file:doc
- SET ALTERNATE ON
- ? '.OP'
- ? '.DF '+file:dat
- ? '.RV author,title1,title2,jrnlcite,edition,pageno,edtrans,publdata,librdata,chron,type,worksdis,comments'
- ? '.. select only items you need in your report labeling them, for example, as'
- ? '.. &author&,&title1&. Where you will sometimes have blank data fields, use'
- ? '.. the mailmerge option &title2/O&, &author/O&'
- SET ALTERNATE OFF
- SET CONSOLE ON
- @ 05,10 SAY ' Creating WordStar-MailMerge Data file: '+file:dat
- ?
- ?
- ?? 'Writing record # '
- SET CONSOLE OFF
- SET ALTERNATE TO &file:dat
- LOCA for &finder
- DO WHIL .NOT. EOF
- SET CONSOLE OFF
- SET ALTERNATE ON
- STOR $(title1,1,60) TO tit1
- STOR $(title1,61,60) TO tit2
- IF tit2 = ' '
- STOR TRIM(tit1) TO title
- ELSE
- STOR TRIM(tit1)+' '+TRIM(tit2) TO title
- ENDIF
- STOR $(worksdis,1,60) TO work1
- STOR $(worksdis,61,60) TO work2
- IF work2 = ' '
- STOR TRIM(work1) TO work
- ELSE
- STOR TRIM(work1)+' '+TRIM(work2) TO work
- ENDI
- STOR $(comments,1,60) TO com1
- STOR $(comments,61,60) TO com2
- STOR $(comments,121,40) TO com3
- IF com3 = ' '
- STOR com2 TO comm
- ELSE
- STOR TRIM(com2) + ' ' + TRIM(com3) TO comm
- ENDI
- IF comm = ' '
- STOR TRIM(com1) TO com
- ELSE
- STOR TRIM(com1)+' '+TRIM(comm) TO com
- ENDIF
- ?
- IF author = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(author)+CHR(34)+','
- ENDI
- IF title = ' '
- ?? ','
- ELSE
- IF under = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title)+CHR(34)+','
- ENDI
- ENDI
- IF title2 = ' '
- ?? ','
- ELSE
- IF under1 = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title2)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title2)+CHR(34)+','
- ENDI
- ENDI
- IF journal = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(journal)+CHR(34)+','
- ENDI
- IF edition = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(edition)+CHR(34)+','
- ENDI
- IF pageno = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(pageno)+CHR(34)+','
- ENDI
- IF edtrans = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(edtrans)+CHR(34)+','
- ENDI
- IF publdat = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(publdat)+CHR(34)+','
- ENDI
- IF librdat = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(librdat)+CHR(34)+','
- ENDI
- IF chron = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(chron)+CHR(34)+','
- ENDI
- IF type = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(type)+CHR(34)+','
- ENDI
- IF work = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(work)+CHR(34)+','
- ENDI
- IF com = ' '
- ?? ','
- ELSE
- ?? CHR(34)+TRIM(com)+CHR(34)+','
- ENDI
- SET ALTERNATE OFF
- CONT
- SET CONSOLE ON
- ?? CHR(8) + CHR(8)+CHR(8)+CHR(8)+CHR(8)+CHR(8)+STR(COUNTER,5)
- STOR COUNTER + 1 TO COUNTER
- ENDD while not EOF
- ENDI
- ENDI
- SET INDEX TO &dr.:&tindex