home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG107.ARC / REFERENC.LBR / WSFILE.RQF / WSFILE.REF
Text File  |  1979-12-31  |  13KB  |  498 lines

  1. * DATE 04/24/85  22:00
  2. * wsfile.ref
  3. REST from rdata.mem additive
  4. ERAS
  5. STOR 'T' TO select
  6. STOR 'N' TO under
  7. STOR 'N' TO under1
  8. STOR 'Y' TO ans
  9. @ 02,10 SAY 'This Module will make a special MailMerge file for WordStar'
  10. @ 04,10 SAY 'Some people prefer to underline the title or subtitle (or both).'
  11. @ 05,10 SAY 'Do you want to underline the main title (Y/N) ? '
  12. @ 05,60 GET under PICTURE '!'
  13. READ
  14. @ 06,10 SAY 'Do you want to underline the subtitle (Y/N) ? '
  15. @ 06,60 GET under1 PICTURE '!'
  16. READ
  17. @ 08,10 SAY 'Do you want the list alphabetically by <A>uthor or <T>itle ? '
  18. @ 08,74 GET select PICTURE '!'
  19. READ
  20. DO WHIL @(select,'AT')=0
  21.  @ 08,74 GET select PICTURE '!'
  22.  READ
  23. ENDD
  24. CLEA GETS
  25. IF select = 'A'
  26.  SET index TO &dr.:&aindex
  27. ELSE
  28.  SET INDEX TO &dr.:&tindex
  29. ENDI
  30. RELE select
  31. CLEA GETS
  32. GO TOP
  33. @ 10,10 SAY 'Do you want to prepare a WordStar file using the entire database ?'
  34. @ 10,75 GET ans PICTURE '!'
  35. READ
  36. DO WHIL @(ans,'YN')=0
  37.  @ 10,75 GET ans PICTURE '!'
  38.  READ
  39. ENDD
  40. IF ans = 'Y'
  41.  STOR 1 TO counter
  42.  ACCE 'Enter Name of the WordStar-MailMerge file  ' TO file:dat
  43.  DO WHIL file:dat = ' '
  44.   ACCE 'Enter Name of the WordStar-MailMerge file  ' TO file:dat
  45.  ENDD
  46.  STOR !(file:dat) TO file:dat
  47.  STOR $(file:dat,1,8) TO file:dat
  48.  STOR file:dat+'.DOC'  TO file:doc
  49.  STOR file:dat+'.DAT'  TO file:dat
  50.  ERAS
  51.  @ 03,10 SAY  'Creating WordStar-MailMerge Document file:  '+file:doc
  52.  SET CONSOLE OFF
  53.  SET ALTERNATE TO &file:doc
  54.  SET ALTERNATE ON
  55.  ? '.OP'
  56.  ? '.DF '+file:dat
  57.  ? '.RV author,title1,title2,jrnlcite,edition,pageno,edtrans,publdata,librdata,chron,type,worksdis,comments'
  58.  ? '.. select only items you need in your report labeling them, for example, as'
  59.  ? '.. &author&,&title1&. Where you will sometimes have blank data fields, use'
  60.  ? '.. the mailmerge option &title2/O&, &author/O&'
  61.  SET ALTERNATE OFF
  62.  SET CONSOLE ON
  63.  @ 05,10 SAY  ' Creating WordStar-MailMerge Data file:  '+file:dat
  64.  ?
  65.  ?
  66.  ?? 'Writing record #     '
  67.  SET CONSOLE OFF
  68.  SET ALTERNATE TO &file:dat
  69.  DO WHIL .NOT. EOF
  70.   SET CONSOLE OFF
  71.   SET ALTERNATE ON
  72.   STOR $(title1,1,60) TO tit1
  73.   STOR $(title1,61,60) TO tit2
  74.   IF tit2 = ' '
  75.   STOR TRIM(tit1) TO title
  76.   ELSE
  77.   STOR TRIM(tit1)+' '+TRIM(tit2) TO title
  78.   ENDIF
  79.   STOR $(worksdis,1,60) TO work1
  80.   STOR $(worksdis,61,60) TO work2
  81.   IF work2 = ' '
  82.   STOR TRIM(work1) TO work
  83.   ELSE
  84.   STOR TRIM(work1)+' '+TRIM(work2) TO work
  85.   ENDI
  86.   STOR $(comments,1,60) TO com1
  87.   STOR $(comments,61,60) TO com2
  88.   STOR $(comments,121,40) TO com3
  89.   IF com3 = ' '
  90.   STOR com2 TO comm
  91.   ELSE
  92.   STOR TRIM(com2) + ' ' + TRIM(com3) TO comm
  93.   ENDI
  94.   IF comm = ' '
  95.   STOR TRIM(com1) TO com
  96.   ELSE
  97.   STOR TRIM(com1)+' '+TRIM(comm) TO com
  98.   ENDIF
  99.   ?
  100.   IF author = ' '
  101.    ?? ','
  102.   ELSE
  103.    ?? CHR(34)+TRIM(author)+CHR(34)+','
  104.   ENDI
  105.   IF title = ' '
  106.    ?? ','
  107.   ELSE
  108.    IF under = 'Y'
  109.     ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
  110.    ELSE
  111.     ?? CHR(34)+TRIM(title)+CHR(34)+','
  112.    ENDI
  113.   ENDI
  114.   IF title2 = ' '
  115.    ?? ','
  116.   ELSE
  117.    IF under1 = 'Y'
  118.     ?? CHR(34)+CHR(19)+TRIM(title2)+CHR(19)+CHR(34)+','
  119.    ELSE
  120.     ?? CHR(34)+TRIM(title2)+CHR(34)+','
  121.    ENDI
  122.   ENDI
  123.   IF journal = ' '
  124.    ?? ','
  125.   ELSE
  126.    ?? CHR(34)+TRIM(journal)+CHR(34)+','
  127.   ENDI
  128.   IF edition = ' '
  129.    ?? ','
  130.   ELSE
  131.    ?? CHR(34)+TRIM(edition)+CHR(34)+','
  132.   ENDI
  133.   IF pageno = ' '
  134.    ?? ','
  135.   ELSE
  136.    ?? CHR(34)+TRIM(pageno)+CHR(34)+','
  137.   ENDI
  138.   IF edtrans = ' '
  139.    ?? ','
  140.   ELSE
  141.    ?? CHR(34)+TRIM(edtrans)+CHR(34)+','
  142.   ENDI
  143.   IF publdat = ' '
  144.    ?? ','
  145.   ELSE
  146.    ?? CHR(34)+TRIM(publdat)+CHR(34)+','
  147.   ENDI
  148.   IF librdat = ' '
  149.    ?? ','
  150.   ELSE
  151.    ?? CHR(34)+TRIM(librdat)+CHR(34)+','
  152.   ENDI
  153.   IF chron = ' '
  154.    ?? ','
  155.   ELSE
  156.    ?? CHR(34)+TRIM(chron)+CHR(34)+','
  157.   ENDI
  158.   IF type = ' '
  159.    ?? ','
  160.   ELSE
  161.    ?? CHR(34)+TRIM(type)+CHR(34)+','
  162.   ENDI
  163.   IF work = ' '
  164.    ?? ','
  165.   ELSE
  166.    ?? CHR(34)+TRIM(work)+CHR(34)+','
  167.   ENDI
  168.   IF com = ' '
  169.    ?? ','
  170.   ELSE
  171.    ?? CHR(34)+TRIM(com)+CHR(34)+','
  172.   ENDI
  173.   SET ALTERNATE OFF
  174.   SKIP
  175.   SET CONSOLE ON
  176.   ?? CHR(8) + CHR(8)+CHR(8)+CHR(8)+CHR(8)+CHR(8)+STR(COUNTER,5)
  177.   STOR COUNTER + 1 TO COUNTER
  178.  ENDD while not EOF
  179. ELSE
  180.  ERAS
  181.  SET COLON OFF
  182.  STOR 'Selective WordStar MailMerge Module' TO mode
  183.  @ 0,26 SAY mode
  184.  @ 1, 0 SAY "+---------------------------------------"
  185.  @ 1,39 SAY "---------------------------------------+"
  186.  @ 2,10 SAY "To perform selective file preparation input only information"
  187.  @ 3,10 SAY "which is required for the search.  Where more than one selection"
  188.  @ 4,10 SAY "in a field, you must perform multiple searches."
  189.  @ 7, 6 SAY "Author:"
  190.  @ 8, 5 SAY "Title 1:"
  191.  @ 9, 5 SAY "Title 2:"
  192.  @ 10, 3 SAY "Jrnl Cite:"
  193.  @ 11, 5 SAY "Edition:"
  194.  @ 11,47 SAY "Page No:"
  195.  @ 12, 4 SAY "Ed/Trans:"
  196.  @ 13, 0 SAY "Publish data:"
  197.  @ 14, 0 SAY "Library data:"
  198.  @ 15, 7 SAY "Chron:"
  199.  @ 16, 8 SAY "Type:"
  200.  @ 17, 2 SAY "Works disc:"
  201.  @ 18, 4 SAY "Comments:"
  202.  @ 19,47 SAY "Updated:"
  203.  @ 20, 0 SAY " -------------------------------------------------"
  204.  @ 20,50 SAY "-----------------------------"
  205.  STOR '   ' TO extra
  206.  STOR 0 TO count
  207.  STOR '.NOT.*' TO finder
  208.  STOR f TO first
  209.  STOR '                                        ' TO blnks
  210.  STOR blnks+$(blnks,1,20) TO mauthor
  211.  STOR blnks+$(blnks,1,20) TO mtitle1
  212.  STOR $(blnks,1,20) TO mtitle2
  213.  STOR $(blnks,1,20) TO mjournal
  214.  STOR $(blnks,1,18) TO medition
  215.  STOR $(blnks,1,18) TO mpageno
  216.  STOR $(blnks,1,20) TO medtran
  217.  STOR $(blnks,1,20) TO mpubldat
  218.  STOR $(blnks,1,20) TO mlibrdat
  219.  STOR $(blnks,1,20) TO mchron
  220.  STOR $(blnks,1,18) TO mtype
  221.  STOR $(blnks,1,20) TO mworks
  222.  STOR $(blnks,1,20) TO mcomment
  223.  STOR $(blnks,1,8) TO mdayu
  224.  @ 7,14 GET mauthor
  225.  @ 8,14 GET mtitle1
  226.  @ 9,14 GET mtitle2
  227.  @ 10,14 GET mjournal
  228.  @ 11,14 GET medition
  229.  @ 11,56 GET mpageno
  230.  @ 12,14 GET medtran
  231.  @ 13,14 GET mpubldat
  232.  @ 14,14 GET mlibrdat
  233.  @ 15,14 GET mchron
  234.  @ 16,14 GET mtype
  235.  @ 17,14 GET mworks
  236.  @ 18,14 GET mcomment
  237.  @ 19,56 GET mdayu
  238.  READ
  239.  CLEA GETS
  240.  STOR t TO continue
  241.  STOR f TO toolong
  242.  IF mauthor <> ' '
  243.   STOR TRIM(finder) +".AND.'"+TRIM(!(mauthor))+"'"+'$!(author)'  TO finder
  244.  ENDI
  245.  RELE mauthor
  246.  IF LEN(finder) > 140
  247.   STOR t TO toolong
  248.  ENDI
  249.  IF mtitle1 <> ' ' .AND.(.NOT.toolong)
  250.   STOR ".AND.'"+TRIM(!(mtitle1))+"'" TO mtitle11
  251.   STOR TRIM(finder) + mtitle11+'$!(title1)'  TO finder
  252.  ENDI
  253.  RELE mtitle1, mtitle11
  254.  IF LEN(finder) > 140
  255.   STOR t TO toolong
  256.  ENDI
  257.  IF mtitle2 <> ' '.AND.(.NOT.toolong)
  258.   STOR ".AND.'"+TRIM(!(mtitle2))+"'" TO mtitle21
  259.   STOR TRIM(finder) +mtitle21+'$!(title2)'  TO finder
  260.  ENDI
  261.  RELE mtitle2, mtitle21
  262.  IF LEN(finder) > 140
  263.   STOR t TO toolong
  264.  ENDI
  265.  IF mjournal <> ' ' .AND.(.NOT.toolong)
  266.   STOR ".AND.'"+TRIM(!(mjournal))+"'" TO mjourna1
  267.   STOR TRIM(finder) + mjourna1+'$!(journal)'  TO finder
  268.  ENDI
  269.  IF LEN(finder) > 140
  270.   STOR t TO toolong
  271.  ENDI
  272.  RELE mjournal, mjourna1
  273.  IF medition <> ' '.AND. (.NOT. toolong)
  274.   STOR ".AND.'"+TRIM(!(medition))+"'" TO medit1
  275.   STOR TRIM(finder) +medit1+'$!(edition)'  TO finder
  276.  ENDI
  277.  RELE medition, medit1
  278.  IF LEN(finder) > 140
  279.   STOR t TO toolong
  280.  ENDI
  281.  IF mpubldat <> ' '.AND.(.NOT.toolong)
  282.   STOR ".AND.'"+TRIM(!(mpubldat))+"'" TO mpubl1
  283.   STOR TRIM(finder) + mpubl1+'$!(publdat)'  TO finder
  284.  ENDI
  285.  RELE mpubldat, mpubl1
  286.  IF LEN(finder) > 140
  287.   STOR t TO toolong
  288.  ENDI
  289.  IF mlibrdat <> ' '.AND.(.NOT.toolong)
  290.   STOR ".AND.'"+TRIM(!(mlibrdat))+"'" TO mlibrd1
  291.   STOR TRIM(finder) + mlibrd1+'$!(librdat)'  TO finder
  292.  ENDI
  293.  RELE mlibrdat, mlibrd1
  294.  IF LEN(finder) >140
  295.   STOR t TO toolong
  296.  ENDI
  297.  IF mchron <> ' ' .AND.(.NOT.toolong)
  298.   STOR ".AND.'"+TRIM(!(mchron))+"'" TO mchron1
  299.   STOR TRIM(finder) +mchron1+'$!(chron)'  TO finder
  300.  ENDI
  301.  IF LEN(finder) > 140
  302.   STOR t TO toolong
  303.  ENDI
  304.  RELE mchron, mchron1
  305.  IF mtype <> ' '.AND.(.NOT.toolong)
  306.   STOR ".AND.'"+TRIM(!(mtype))+"'" TO mtype1
  307.   STOR TRIM(finder) +mtype1+'$!(type)'  TO finder
  308.  ENDI
  309.  RELE mtype, mtype1
  310.  IF LEN(finder) > 140
  311.   STOR t TO toolong
  312.  ENDI
  313.  IF mworks <> ' '.AND.(.NOT.toolong)
  314.   STOR ".AND.'"+TRIM(!(mworks))+"'" TO mworkd1
  315.   STOR TRIM(finder) +mworkd1+'$!(worksdis)'  TO finder
  316.  ENDI
  317.  RELE mworks, mworkd1
  318.  IF LEN(finder) > 140
  319.   STOR t TO toolong
  320.  ENDI
  321.  IF mcomment <> ' '.AND.(.NOT.toolong)
  322.   STOR ".AND.'"+TRIM(!(mcomment))+"'" TO mcomm1
  323.   STOR TRIM(finder) +mcomm1+'$!(comments)'  TO finder
  324.  ENDI
  325.  RELE mcomment, mcomm1
  326.  IF LEN(finder) > 200
  327.   STOR t TO toolong
  328.  ENDI
  329.  IF mdayu <> ' '.AND.(.NOT.toolong)
  330.   STOR ".AND.'"+TRIM(!(mdayu))+"'" TO mdayu1
  331.   STOR TRIM(finder) +mdayu1+'$!(dayu)'  TO finder
  332.  ENDI
  333.  RELE mdayu, mayu1
  334.  IF LEN(finder) > 200
  335.   STOR t TO toolong
  336.  ENDI
  337.  SET COLON ON
  338.  IF LEN(finder) < 12
  339.   STOR "*" TO finder
  340.   STOR '              STANDARD = deleted files ' TO extra
  341.  ENDI
  342.  IF toolong
  343.   ERAS
  344.   @ 10,10 SAY 'The search string is too long - you can have no more than'
  345.   @ 11,10 SAY '200 characters in the string and the field names. Please'
  346.   @ 12,10 SAY 'try again'
  347.   @ 13,30 SAY 'Hit any key to continue'
  348.   STOR f TO continue
  349.   SET CONSOL OFF
  350.   WAIT
  351.   SET CONSOL ON
  352.  ENDI
  353.  RELE toolong
  354.  ERAS
  355.  IF continue
  356.   STOR 1 TO counter
  357.   ACCE 'Enter Name of the WordStar-MailMerge file  ' TO file:dat
  358.   DO WHIL file:dat = ' '
  359.    ACCE 'Enter Name of the WordStar-MailMerge file  ' TO file:dat
  360.   ENDD
  361.   STOR !(file:dat) TO file:dat
  362.   STOR $(file:dat,1,8) TO file:dat
  363.   STOR file:dat+'.DOC'  TO file:doc
  364.   STOR file:dat+'.DAT'  TO file:dat
  365.   ERAS
  366.   @ 03,10 SAY  'Creating WordStar-MailMerge Document file:  '+file:doc
  367.   SET CONSOLE OFF
  368.   SET ALTERNATE TO &file:doc
  369.   SET ALTERNATE ON
  370.   ? '.OP'
  371.   ? '.DF '+file:dat
  372.   ? '.RV author,title1,title2,jrnlcite,edition,pageno,edtrans,publdata,librdata,chron,type,worksdis,comments'
  373.   ? '.. select only items you need in your report labeling them, for example, as'
  374.   ? '.. &author&,&title1&. Where you will sometimes have blank data fields, use'
  375.   ? '.. the mailmerge option &title2/O&, &author/O&'
  376.   SET ALTERNATE OFF
  377.   SET CONSOLE ON
  378.   @ 05,10 SAY  ' Creating WordStar-MailMerge Data file:  '+file:dat
  379.   ?
  380.   ?
  381.   ?? 'Writing record #     '
  382.   SET CONSOLE OFF
  383.   SET ALTERNATE TO &file:dat
  384.   LOCA for &finder
  385.   DO WHIL .NOT. EOF
  386.    SET CONSOLE OFF
  387.    SET ALTERNATE ON
  388.   STOR $(title1,1,60) TO tit1
  389.   STOR $(title1,61,60) TO tit2
  390.   IF tit2 = ' '
  391.   STOR TRIM(tit1) TO title
  392.   ELSE
  393.   STOR TRIM(tit1)+' '+TRIM(tit2) TO title
  394.   ENDIF
  395.   STOR $(worksdis,1,60) TO work1
  396.   STOR $(worksdis,61,60) TO work2
  397.   IF work2 = ' '
  398.   STOR TRIM(work1) TO work
  399.   ELSE
  400.   STOR TRIM(work1)+' '+TRIM(work2) TO work
  401.   ENDI
  402.   STOR $(comments,1,60) TO com1
  403.   STOR $(comments,61,60) TO com2
  404.   STOR $(comments,121,40) TO com3
  405.   IF com3 = ' '
  406.   STOR com2 TO comm
  407.   ELSE
  408.   STOR TRIM(com2) + ' ' + TRIM(com3) TO comm
  409.   ENDI
  410.   IF comm = ' '
  411.   STOR TRIM(com1) TO com
  412.   ELSE
  413.   STOR TRIM(com1)+' '+TRIM(comm) TO com
  414.   ENDIF
  415.    ?
  416.    IF author = ' '
  417.     ?? ','
  418.    ELSE
  419.     ?? CHR(34)+TRIM(author)+CHR(34)+','
  420.    ENDI
  421.    IF title = ' '
  422.     ?? ','
  423.    ELSE
  424.     IF under = 'Y'
  425.      ?? CHR(34)+CHR(19)+TRIM(title)+CHR(19)+CHR(34)+','
  426.     ELSE
  427.      ?? CHR(34)+TRIM(title)+CHR(34)+','
  428.     ENDI
  429.    ENDI
  430.    IF title2 = ' '
  431.     ?? ','
  432.    ELSE
  433.     IF under1 = 'Y'
  434.      ?? CHR(34)+CHR(19)+TRIM(title2)+CHR(19)+CHR(34)+','
  435.     ELSE
  436.      ?? CHR(34)+TRIM(title2)+CHR(34)+','
  437.     ENDI
  438.    ENDI
  439.    IF journal = ' '
  440.     ?? ','
  441.    ELSE
  442.     ?? CHR(34)+TRIM(journal)+CHR(34)+','
  443.    ENDI
  444.    IF edition = ' '
  445.     ?? ','
  446.    ELSE
  447.     ?? CHR(34)+TRIM(edition)+CHR(34)+','
  448.    ENDI
  449.    IF pageno = ' '
  450.     ?? ','
  451.    ELSE
  452.     ?? CHR(34)+TRIM(pageno)+CHR(34)+','
  453.    ENDI
  454.    IF edtrans = ' '
  455.     ?? ','
  456.    ELSE
  457.     ?? CHR(34)+TRIM(edtrans)+CHR(34)+','
  458.    ENDI
  459.    IF publdat = ' '
  460.     ?? ','
  461.    ELSE
  462.     ?? CHR(34)+TRIM(publdat)+CHR(34)+','
  463.    ENDI
  464.    IF librdat = ' '
  465.     ?? ','
  466.    ELSE
  467.     ?? CHR(34)+TRIM(librdat)+CHR(34)+','
  468.    ENDI
  469.    IF chron = ' '
  470.     ?? ','
  471.    ELSE
  472.     ?? CHR(34)+TRIM(chron)+CHR(34)+','
  473.    ENDI
  474.    IF type = ' '
  475.     ?? ','
  476.    ELSE
  477.     ?? CHR(34)+TRIM(type)+CHR(34)+','
  478.    ENDI
  479.    IF work = ' '
  480.     ?? ','
  481.    ELSE
  482.     ?? CHR(34)+TRIM(work)+CHR(34)+','
  483.    ENDI
  484.    IF com = ' '
  485.     ?? ','
  486.    ELSE
  487.     ?? CHR(34)+TRIM(com)+CHR(34)+','
  488.    ENDI
  489.    SET ALTERNATE OFF
  490.    CONT
  491.    SET CONSOLE ON
  492.    ?? CHR(8) + CHR(8)+CHR(8)+CHR(8)+CHR(8)+CHR(8)+STR(COUNTER,5)
  493.    STOR COUNTER + 1 TO COUNTER
  494.   ENDD while not EOF
  495.  ENDI
  496. ENDI
  497. SET INDEX TO &dr.:&tindex
  498.