home *** CD-ROM | disk | FTP | other *** search
- ╗ Titlσ ║ PRINTMAN.TS╦ Las⌠ UpdateΣ ║ Septembe≥ 6¼ 1991
- ; Author : Steve Johnson - FmP. Version : 1.20
- ; Purpose : Selective On-line Taskmaster manual print facility
- ; Notes : discards blank line 22 if present
- ; : Requires IBM Graphics printer emulation to print
- ; : Form names were captured from SCR output into a file
- ; : The data command understands ^x and sends a control
- ; : character ^ has to be sent as ^^
- ; version 1.20
- ╗ ║ Caε no≈ translatσ ou⌠ 'non-printablσ characters'
- ; version 1.10
- ; : Optional use of form feeds.
-
- define pages,1
-
- hexvar crlf,0d0a
- hexvar esc,1b
- hexvar line_23,c8cd
- hexvar vbar,ba
- hexva≥ unprin_table,18191b1a11
-
- int count
- int line
- int lines_this_page
- int saftey
- int toapage
- int xcount
-
- logical form_feeds
- logical suppress
- logical proceed
- logical last_was_spaces
- logical quit
- logical skip
- logical next_menu
- logica∞ no_translate
- logical partial
-
- var formname,2
- var formindex,2,occurs 200,
- '1 2 X MGG1G2G3G4G5G6G7G8G9GAGBGCMHH1H2H3H4H5H6H7H8H9HA'
- 'HBHCHDI1I2I3I4MEE1E2E3E4E5E6E7E8E9EAEBECEDMFF1F2F3F4F5F6F7'
- 'F8F9FAFBFCFDFEFFFGFHFIM1111213141516M22122232425262728292A'
- '2B2CM3313233M44142434445464748494A4B4C4D4E4FM5515253M66162'
- '6364M771727374757677M88182M9919293949596979899MAA1A2A3A4A5'
- 'A6A7MBB1B2B3B4B5B6B7B8B9BAMCC1C2C3C4C5C6C7C8MDD1D2D3'
-
- var act_space,12
- var min_space,12,' 262144' ;disc space warning limit 256k
- var work_space,12,' 2500';disc space warning limit 2500bytes
-
- var char,1
- var last_line,80èvar lines_per_page,2
- var name,8,'PRINTMAN'
- var null,1
- var s_line,90
- var screen,80,occurs24
- var space_line,80
- var spaces_78,78
- va≥ translations,1,occur≤ 5
- va≥ unprintable,1,occur≤ 5
-
- vconst cls,11 ;Clear screen
- vconst attn,79
- vconst brite,41
-
- end
-
- combine vbar 78 vbar into space_line
- clear spaces_78
- forms logon.ovr
- lookfor printman.ovr
- if not found
- insert name name
- put "NO_FORMS"
- stop
- fi
- movσ unprin_tablσ t∩ unprintable
- forms printman.ovr
- dspace
- move display to act_space
- if act_space < min_space
- put space_warn
- get proceed
- if not proceed
- stop
- fi
- fi
- put manprint noclear
- if anyfk
- stop
- fi
- get suppress lines_per_page form_feeds
- put graph
- iµ funke∙ ╜ 10
- stop
- fi
- movσ fk▓ t∩ no_translate
- if no⌠ fk2
- unti∞ xcoun⌠ ╜ 6
- get entr∙ xcoun⌠ oµ translations
- fΘ xcount
- clea≥ xcount
- fi
- move lines_per_page to saftey
- move lines_per_page to toapage
- subtract 24 from saftey
- lookfor tmman.ovr
- if not found
- put 'NO_TMMAN'
- stop
- fi
- forms tmman.ovr
- behave 3 'TMMAN.MAN'
- until count = 200
- move entry count of formindex to formname
- trim formname
- inkey
- if key
- forms printman.ovr
- put break-in
- get char
- forms tmman.ovr
- upper char
- if char = 'Y'
- move true to quit
- move true to partial
- fi
- fi
- if formname = null or quit
- behave 0
- display cls
- cursor 12 25 'Your manual is called TMMAN.MAN'
- cursor 13 25 'View with LIST? Answer Y or N '
- inkey char
- upper char
- if char = 'Y'
- move true to hide
- run 'LIST TMMAN.MAN'
- fi
- display cls
- cursor 12 15 'Your manual is ready for printing in TMMAN.MAN'
- if partial
- cursor 13 15 'Length ' pages ' pages (Extract only)'
- else
- cursor 13 15 'Length ' pages ' pages (Contains full listing)'
- fi
- stop
- fi
- clear skip
- if formname sw 'M' or formname = '1 ' or formname sw 'X'
- move 8000h to bbmask
- put formname nodata noclear
- userline brite attn 'Press <return> (or wait 5 seconds) to print this section, <esc> to skip'
- wait 5
- clear next_menu
- if key and keyval = esc
- move true to partialè increment count
- until next_menu or formname = null
- move entry count of formindex to formname
- trim formname
- if formname sw 'M' or formname = '1' or formname sw 'X'
- move true to next_menu
- fi
- fi count
- decrement count count
- move true to skip
- fi
- else
- put formname nowait
- userline brite attn 'Printing ' formname '... Press any key to break-in'
- fi
- if not skip
- clear line
- until line = 24
- clear s_line
- scanvid line giving s_line
- move s_line to entry line of screen
- fi line
- clear line last_was_spaces
- until line = 24
- move entry line of screen to s_line
- if s_line ct '^'
- replace all '^' of s_line with '^^'
- fi
- iµ no⌠ no_translate
- clea≥ xcount
- unti∞ xcoun⌠ ╜ 5
- if s_line ct entr∙ xcoun⌠ oµ unprintable
- replacσ al∞ entr∙ xcoun⌠ oµ unprintablσ oµ s_linσ witΦ entr∙ xcoun⌠ oµ translations
- fi
- fΘ xcount
- fi
- if suppress
- if line = 23
- data s_line crlf
- increment lines_this_page
- else
- if s_line ct spaces_78
- move true to last_was_spaces
- else
- if last_was_spaces
- data space_line crlf
- increment lines_this_page
- fi
- data s_line crlf
- increment lines_this_page
- clear last_was_spaces
- fi
- fi
- else
- data s_line crlfè increment lines_this_page
- fi
- fi line
- if lines_this_page > saftey
- if form_feeds
- data ^l crlf
- else
- until lines_this_page = toapage
- data crlf
- fi lines_this_page
- fi
- increment pages
- clear lines_this_page
- fi
- dspace
- move display to act_space
- if act_space < work_space
- put
- move true to quit
- move true to partial
- fi
- fi
- fi count
-
- endtask
-
-
- @video
- @nf manprint
- @acceptfk f10
- @dim
- @logical
- @num min40,max99
- @logical
- @head left,PRINTMAN.TSK
- @head right,'Taskmaster (c) FmP 1991'
- @head centre,'Taskmaster Manual Extraction'
- @colour page,cyan,blue
- @banner
- @border
-
- This task takes forms from TMMAN.OVR and displays them on the screen
- then reads the screen and writes the contents to TMMAN.MAN. The
- output file is ~256k in size.
-
- In order to save space consecutive blank lines can be supressed:
- Do you wish to suppress blank lines? [Y]
-
- The task paginates the output:
- How many lines do you want on each page? [66] 40-99
- Use form feed characters to eject pages? [N]
-
- The pagination is not very sophisticated and may throw pages in places
- where it doesn't need to. It may be worth looking at the output file
- with your wordprocessor (or the supplied utility LIST) before printing. è
- Please note that the printer will need to be able to print the IBM
- graphics character set to print the file successfully.
-
- @translate
- @MAP #,9C
- Please note that the documentation produced is not as comprehensive or
- as readable as that in the printed manual which costs #20.
- @bright
- @use 'Press F10 to abandon'
- @end
- @nf no_tmman
- @colour char,white,red
- @dim
- @win line4,column20,depth16,width42
- @out white
- PRINTMAN-Error:
- PRINTMAN requires access to the forms
- file for the on-line manual. This file
- is called TMMAN.OVR. It is not
- currently available. The file is
- normally created either during
- installation or via OVERVIEW.TSK (you
- can of course also create it manually
- with SCR).
-
- To create the file from OVERVIEW select
- TMMAN from the main menu, this will
- create the file and enter the
- application. You may then exit and re-
- run PRINTMAN.
- @end
- @nf break-in
- @logical
- @bright
- @colour char,white,red
- @window line10,column15,depth6,width21
- @drop
- @out cyan
- PRINTMAN
- Break-in detected.
- Abandon processing?
- [N] enter Y or N
- and press
- @col char,white,red
- @end
- @nf no-space
- @bright
- @colour char,white,red
- @window line10,column15,depth10,width21
- @drop
- @out cyan
- PRINTMAN
- I need more space.
- Unable to proceed.
- The amount of free
- space is now less
- than 2500 bytes. è Please make more
- space and re-run.
- Press any key...
- @col char,cyan,blue
- @end
- @nf space_warn
- @head centre,'Free Space'
- @log
- @colour page,cyan,blue
- @banner
- @border
-
-
-
-
-
-
-
- This task creates an output file of upto 256k in size.
-
- Your logged drive has less space than this.
-
- Do you wish to proceed? [N]
- @end
- @nf graph
- @acceptfδ esc,f2
- @head centre,'Graphic≤ characters'
- @colour page,cyan,blue
- @banner
- @border
- @strámin1
- @strámin1
- @strámin1
- @strámin1
- @strámin1
-
- áááááThσ printou⌠ wil∞ contaiε somσ character≤ tha⌠ you≥ printe≥ ma∙ no⌠ ábσ ì
- áááááablσ t∩ easil∙ prin⌠ (notabl∙ ò ä û ù anΣ ⌐ fo≥ thi≤ reasoε yo⌡ ma∙
- wisΦ át∩ usσ othe≥ character≤ t∩ represen⌠ these« Pleasσ áspecif∙ áthσ ì
- ááááácharacter≤ t∩ bσ useΣ (elsσ pres≤ f▓ t∩ leavσ theφ a≤ the∙ are).
-
- áááááfo≥ ò usσ [U▌
- áááááfo≥ ä usσ [D▌
- áááááfo≥ usσ [L▌
- áááááfo≥ usσ [R▌
- áááááfo≥ usσ [<▌
-
- Pres≤ ü t∩ translatσ a≤ pe≥ thσ entrie≤ above;
- Pre≤≤ f▓ t∩ preven⌠ translation;
- Pres≤ f1░ t∩ qui⌠ PRINTSCR
-
- áááááPleasσ notσ tha⌠ thσ printe≥ wil∞ neeΣ t∩ bσ ablσ t∩ prin⌠ thσ IB═ ì
- ááááágraphic≤ characte≥ se⌠ t∩ prin⌠ thσ filσ successfully«
- @end
- @eofè