home *** CD-ROM | disk | FTP | other *** search
- * DATE 04/09/85 19:14
- * wsfile.bk
- REST from bdata.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
- @ 16,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,65 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 '+' title,subtitle,author1,author2,author3,year,price,publisher,street,city,state,zip,subject1,subject2,subject3,subject4,subject5,comment'
- ? '.. select only items you need in your report labeling them, for example, as'
- ? '.. &title&,&author1&. Where you will sometimes have blank data fields, use'
- ? '.. the mailmerge option &title/O&, &author1/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
- ?
- IF under = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title)+CHR(34)+','
- ENDI
- IF under1 = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(subtit)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(subtit)+CHR(34)+','
- ENDI
- ?? CHR(34)+TRIM(auth1)+CHR(34)+','
- ?? CHR(34)+TRIM(auth2)+CHR(34)+','
- ?? CHR(34)+TRIM(auth3)+CHR(34)+','
- ?? year+','
- ?? price +','
- ?? CHR(34)+TRIM(publish)+CHR(34)+','
- ?? CHR(34)+TRIM(street)+CHR(34)+','
- ?? CHR(34)+TRIM(city)+CHR(34)+','
- ?? state+','
- ?? zip+','
- ?? CHR(34)+TRIM(subj1)+CHR(34)+','
- ?? CHR(34)+TRIM(subj2)+CHR(34)+','
- ?? CHR(34)+TRIM(subj3)+CHR(34)+','
- ?? CHR(34)+TRIM(subj4)+CHR(34)+','
- ?? CHR(34)+TRIM(subj5)+CHR(34)+','
- ?? CHR(34)+TRIM(comment)+CHR(34)+','
- 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."
- @ 6, 4 SAY "Title:"
- @ 7, 1 SAY "Subtitle:"
- @ 08, 0 SAY "Authors 1:"
- @ 08,44 SAY "2:"
- @ 09, 8 SAY "3:"
- @ 09,41 SAY "Year:"
- @ 09,64 SAY "Price:"
- @ 10, 0 SAY "Publisher:"
- @ 11, 3 SAY "Street:"
- @ 12, 5 SAY "City:"
- @ 12,40 SAY "State:"
- @ 12,66 SAY "Zip:"
- @ 13, 0 SAY "Subject 1:"
- @ 13,44 SAY "2:"
- @ 14, 8 SAY "3:"
- @ 14,44 SAY "4:"
- @ 15, 8 SAY "5:"
- @ 16, 1 SAY "Comments:"
- @ 17,62 SAY "Updated:"
- @ 18, 0 SAY " -------------------------------------------------"
- @ 18,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 mtitle
- STOR blnks+$(blnks,1,20) TO msubtit
- STOR $(blnks,1,20) TO mauth1
- STOR $(blnks,1,20) TO mauth2
- STOR $(blnks,1,20) TO mauth3
- STOR $(blnks,1,4) TO myear
- STOR $(blnks,1,6) to mprice
- STOR $(blnks,1,30) TO mpublish
- STOR $(blnks,1,17) TO mstreet
- STOR $(blnks,1,15) TO mcity
- STOR $(blnks,1,2) TO mstate
- STOR $(blnks,1,10) TO mzip
- STOR $(blnks,1,22) TO msubj1
- STOR $(blnks,1,22) TO msubj1
- STOR $(blnks,1,22) TO msubj2
- STOR $(blnks,1,22) TO msubj3
- STOR $(blnks,1,22) TO msubj4
- STOR $(blnks,1,21) TO msubj5
- STOR blnks+$(blnks,1,20) TO mcomm
- STOR $(blnks,1,8) TO mdayu
- @ 6,12 GET mtitle
- @ 7,12 GET msubtit
- @ 8,12 GET mauth1
- @ 8,47 GET mauth2
- @ 9,12 GET mauth3
- @ 9,47 GET myear PICTURE '9999'
- @ 9,70 GET mprice PICTURE '999999'
- @ 10,12 GET mpublish
- @ 11,12 GET mstreet
- @ 12,12 GET mcity
- @ 12,47 GET mstate PICTURE '!!'
- @ 12,70 GET mzip PICTURE '99999-9999'
- @ 13,12 GET msubj1
- @ 13,47 GET msubj2
- @ 14,12 GET msubj3
- @ 14,47 GET msubj4
- @ 15,12 GET msubj5
- @ 16,12 GET mcomm
- @ 17,71 GET mdayu
- READ
- CLEA GETS
- STOR t TO continue
- STOR f TO toolong
- IF mtitle <> ' '
- STOR TRIM(finder) +".AND.'"+TRIM(!(mtitle))+"'"+'$!(title)' TO finder
- ENDI
- RELE mtitle
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubtit <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubtit))+"'" TO msubtit1
- STOR TRIM(finder) + msubtit1+'$!(subtit)' TO finder
- ENDI
- RELE msubtit, msubtit1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mauth1 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mauth1))+"'" TO mauth11
- STOR TRIM(finder) +mauth11+'$!(auth1)' TO finder
- ENDI
- RELE mauth1, mauth11
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mauth2 <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mauth2))+"'" TO mauth21
- STOR TRIM(finder) + mauth21+'$!(auth2)' TO finder
- ENDI
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- RELE mauth2, mauth21
- IF mauth3 <> ' '.AND. (.NOT. toolong)
- STOR ".AND.'"+TRIM(!(mauth3))+"'" TO mauth31
- STOR TRIM(finder) +mauth31+'$!(auth3)' TO finder
- ENDI
- RELE mauth3, mauth31
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF myear <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(myear))+"'" TO myear1
- STOR TRIM(finder) + myear1+'$!(year)' TO finder
- ENDI
- RELE myear, myear1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mprice <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mprice))+"'" TO mprice1
- STOR TRIM(finder) + mprice1+'$!(price)' TO finder
- ENDI
- RELE mprice, mprice1
- IF LEN(finder) >140
- STOR t TO toolong
- ENDI
- IF mpublish <> ' ' .AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mpublish))+"'" TO mpubl2
- STOR TRIM(finder) +mpubl2+'$!(publish)' TO finder
- ENDI
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- RELE mpublish, mpublish2
- IF mstreet <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mstreet))+"'" TO mstreet1
- STOR TRIM(finder) +mstreet1+'$!(street)' TO finder
- ENDI
- RELE mstreet, mstreet1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mcity <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mcity))+"'" TO mcity1
- STOR TRIM(finder) +mcity1+'$!(city)' TO finder
- ENDI
- RELE mcity, mcity1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mstate <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mstate))+"'" TO mstate1
- STOR TRIM(finder) +mstate1+'$!(state)' TO finder
- ENDI
- RELE mstate, mstate1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mzip <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mzip))+"'" TO mzip1
- STOR TRIM(finder) +mzip1+'$!(zip)' TO finder
- ENDI
- RELE mzip, mzip1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubj1 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubj1))+"'" TO msubj11
- STOR TRIM(finder) +msubj11+'$!(subj1)' TO finder
- ENDI
- RELE msubj1, msubj11
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubj2 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubj2))+"'" TO msubj21
- STOR TRIM(finder) +msubj21+'$!(subj2)' TO finder
- ENDI
- RELE msubj2, msubj21
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubj3 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubj3))+"'" TO msubj31
- STOR TRIM(finder) +msubj31+'$!(subj3)' TO finder
- ENDI
- RELE msubj3, msubj31
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubj4 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubj4))+"'" TO msubj41
- STOR TRIM(finder) +msubj41+'$!(subj4)' TO finder
- ENDI
- RELE msubj4, msubj41
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF msubj5 <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(msubj5))+"'" TO msubj51
- STOR TRIM(finder) +msubj51+'$!(subj5)' TO finder
- ENDI
- RELE msubj5, msubj51
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mcomm <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mcomm))+"'" TO mcomm1
- STOR TRIM(finder) +mcomm1+'$!(comment)' TO finder
- ENDI
- RELE mcomm, mcomm1
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- IF mdayu <> ' '.AND.(.NOT.toolong)
- STOR ".AND.'"+TRIM(!(mdayu))+"'" TO mdayu1
- STOR TRIM(finder) +mdayu1+'$!(dayu)' TO finder
- ENDI
- IF LEN(finder) > 140
- STOR t TO toolong
- ENDI
- RELE mdayu, mdayu1
- 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 '140 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 '+' title,subtitle,author1,author2,author3,year,price,publisher,street,city,state,zip,subject1,subject2,subject3,subject4,subject5,comment'
- ? '.. select only items you need in your report labeling them, for example, as'
- ? '.. &title&,&author1&. Where you will sometimes have blank data fields, use'
- ? '.. the mailmerge option &title/O&, &author1/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
- ?
- IF under = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(title)+CHR(34)+','
- ENDI
- IF under1 = 'Y'
- ?? CHR(34)+CHR(19)+TRIM(subtit)+CHR(19)+CHR(34)+','
- ELSE
- ?? CHR(34)+TRIM(subtit)+CHR(34)+','
- ENDI
- ?? CHR(34)+TRIM(auth1)+CHR(34)+','
- ?? CHR(34)+TRIM(auth2)+CHR(34)+','
- ?? CHR(34)+TRIM(auth3)+CHR(34)+','
- ?? year+','
- ?? price +','
- ?? CHR(34)+TRIM(publish)+CHR(34)+','
- ?? CHR(34)+TRIM(street)+CHR(34)+','
- ?? CHR(34)+TRIM(city)+CHR(34)+','
- ?? state+','
- ?? zip+','
- ?? CHR(34)+TRIM(subj1)+CHR(34)+','
- ?? CHR(34)+TRIM(subj2)+CHR(34)+','
- ?? CHR(34)+TRIM(subj3)+CHR(34)+','
- ?? CHR(34)+TRIM(subj4)+CHR(34)+','
- ?? CHR(34)+TRIM(subj5)+CHR(34)+','
- ?? CHR(34)+TRIM(comment)+CHR(34)+','
- 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