home *** CD-ROM | disk | FTP | other *** search
- * DATE 05/08/85 16:32
- * action.ref
- STOR CHR(peek (063)) TO dr
- REST from rdata additive
- * make sure index is in right order
- STOR 'Y' TO command
- ERAS
- STOR 'A' TO select
- @ 05,10 SAY 'This module print a list of all references in the file which have'
- @ 06,10 SAY "an 'ACTION' notation. You can select a specific ACTION LETTER"
- @ 07,10 SAY 'or all files which have an action notation.'
- STOR 'A' TO selec
- @ 13,10 SAY 'Do you want the report alphabetically by <A>uthor or <T>itle ? '
- @ 13,74 GET selec PICTURE '!'
- READ
- DO WHIL @(selec,'AT')=0
- @ 13,74 GET selec PICTURE '!'
- READ
- ENDD
- CLEA GETS
- IF selec = 'A'
- SET index TO &dr.:&aindex
- ELSE
- SET INDEX TO &dr.:&tindex
- ENDI
- RELE selec
- GO TOP
- STOR 'X' TO act
- @ 15,10 SAY "What ACTION letter shall we report on ('X' for all) ? "
- @ 15,74 GET act PICTURE '!'
- READ
- IF act <> ' '
- REST from printrf.dat additive
- ERAS
- STOR 0 TO pagen
- STOR 0 TO counter
- IF PRINTER = 'Y'
- SET PRINT ON
- SET MARGIN TO 5
- IF SHIFT = 'Y'
- SET CONSOLE OFF
- ? CHR(chr121) + CHR(chr122) + CHR(chr123)
- SET CONSOLE ON
- ENDI shift
- ENDI printer
- IF act = 'X'
- LOCA for action <> ' '
- ELSE
- LOCA for action = '&act'
- ENDI
- IF .NOT. EOF
- STOR t TO more
- ELSE
- STOR f TO more
- ENDI
- DO WHIL more
- * do page counter etc
- IF $(date(),4,1) = '0'
- STOR $(date(),5,1) TO date2
- ELSE
- STOR $(date(),4,2) TO date2
- ENDI
- DO CASE
- CASE $(date(),1,2) = '01'
- STOR 'January ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '02'
- STOR 'February ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '03'
- STOR 'March ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '04'
- STOR 'April ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '05'
- STOR 'May ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '06'
- STOR 'June ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '07'
- STOR 'July ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '08'
- STOR 'August ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '09'
- STOR 'September ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '10'
- STOR 'October ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '11'
- STOR 'November ' + date2 + ', 19' + $(date(),7,2) TO date1
- CASE $(date(),1,2) = '12'
- STOR 'December ' + date2 + ', 19' + $(date(),7,2) TO date1
- ENDC
- STOR pagen+1 TO pagen
- STOR 7 TO lineno
- ERAS
- IF .NOT. EOF
- ? caption
- ? ' '
- ? 'Report of ' +date1 + '. ' + 'PAGE ' + STR(pagen,2)
- ? "--------------------------------------------------------------------------------------------------------------------------"
- ? ' '
- ENDI .NOT. EOF
- * now fill up rest of page to 55 lines with names etc
- DO WHIL lineno < 55
- * now do a page if not end of file
- IF .NOT. EOF
- STOR counter + 1 TO counter
- STOR ' ' TO blnks
- IF author <> ' '
- STOR TRIM(author)+'. ' TO auth
- ENDI
- IF LEN(auth)+LEN(TRIM($(title1,1,60)))+LEN(TRIM($(title1,61,60))) > 125
- ? auth + $(title1,1,60)
- ? $(blnks,1,LEN(auth))+$(title1,61,60)
- STOR lineno+2 TO lineno
- ELSE
- ? auth +TRIM($(title1,1,60))+' '+TRIM($(title1,61,60))
- STOR lineno+1 TO lineno
- ENDI
- IF title2 <> ' '
- ? ' '+title2
- STOR lineno+1 TO lineno
- ENDI title
- IF publdat <> ' '
- ? ' '+TRIM(publdat)+'. '+librdat
- STOR lineno+1 TO lineno
- ENDI
- IF publdat = ' ' .AND. librdat <> ' '
- ? ' '+librdat
- STOR lineno +1 TO lineno
- ENDI
- ? ' '
- STOR lineno+1 TO lineno
- CONT
- * however, skip again if record deleted
- IF *
- CONT
- ENDI
- ELSE
- STOR f TO more
- STOR 60 TO lineno
- ENDI not EOF
- ENDD while lineno < 55
- IF .NOT. EOF
- SET PRINT OFF
- @ 20,00 SAY ' ********************************************************************* '
- @ 21,00
- @ 22,00
- @ 21,10 SAY 'CHANGE PAPER IF NECESSARY AND THEN HIT ANY KEY TO RESTART'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- IF printer = 'Y'
- SET PRINT ON
- ENDI
- ENDI
- ENDD more
- SET PRINT OFF
- @ 20,00 SAY ' ********************************************************************* '
- @ 21,00
- @ 22,00
- @ 21,10 SAY 'CHANGE PAPER IF NECESSARY AND THEN HIT ANY KEY TO RESTART'
- SET CONSOLE OFF
- WAIT
- SET CONSOLE ON
- IF printer = 'Y'
- SET PRINT ON
- ENDI
- ? ' '
- ? "--------------------------------------------------------------------------------------------------------------------------"
- ? ' '
- ? ' THE TOTAL NUMBER OF REFERENCES LISTED WAS ' + STR(counter,3,0)
- * if it was on turn it off
- EJEC
- SET PRINT OFF
- IF PRINTER = 'Y' .AND. SHIFT = 'Y'
- SET PRINT ON
- ? CHR(chrreg1) + CHR(chrreg2) + CHR(chrreg3)
- SET PRINT OFF
- ENDI printer
- ENDI command = 'Y'
- * release local variables
- RELE pagen, lineno, counter
- * restore memory varibles
- SET INDEX TO &dr.:&tindex
- STOR t TO more
- STOR t TO first