// pressHardcopy.sr
// last modified September 16, 1977 5:55 PM
// RML November 4, 1977 2:53 PM fix PrintedBy problem
// RML January 4, 1978 1:20 PM defer PrintedBy processing
// Last modified October 25, 1979 12:25 PM by Taft
get "BRAVO1.DF";
get "ALTOFILESYS.D";
get "Q.DF";
get "PRESS.DF";
get "ST.DF";
get "DISPLAY.DF";
get "HO.DF"
// Incoming Procedures
external [
createsbtime
PutWds
sbToDl
vsbToDl
ReadCalendar
readsel
WritePressBufs
];
// Incoming Statics
external [
Dl
UserName
fillInDA
rgmaccp
mpWwWwd
dnbp
dcpendofdoc
vpep
vslPrintBy
];
// Outgoing Procedures
external [
pressDocumentDirectory
]
// statics - outgoing
external [
macfsn
]
// local statics - obscure !
static [
macfsn
]
// P R E S S D O C U M E N T D I R E C T O R Y
//
let pressDocumentDirectory(pages,ho,
noTrunc,beginPd,nRecsPd,ww) be
[
PutWds(pressPassWord,Dl)
// next, total # records -- not record number !
PutWds((lv vpep>>PRESS.acfaCur)>>CFA.fa.pageNumber,Dl)
PutWds(pages+1,Dl)
PutWds(beginPd,Dl) // beginning record, Part Directory
PutWds(nRecsPd,Dl) // # records in Pd
PutWds(0,Dl)
let now = vec 2; ReadCalendar(now)
PutWds(now!0,Dl)
PutWds(now!1,Dl)
PutWds(1,Dl) // first copy
PutWds(ho>>HO.ccopy,Dl) // last copy
for i = 10 to 177b do PutWds(-1,Dl) // not used
pressPageBreak(ww, ho)
// That should do it !
WritePressBufs(Dl,vpep,noTrunc)
]
// P R E S S P A G E B R E A K
//
and pressPageBreak(ww, ho) be
[
let todcur = vec lntod;
ReadCalendar(todcur);
//get filename from black window
let wwgroup= (mpWwWwd!ww)>>WWD.wwgroup
let doc= (mpWwWwd!wwgroup)>>WWD.doc
let cpfirst= 0
let cplast= rgmaccp!doc - dcpendofdoc
let sbfname= vec maxLengthFnInWords
readsel(sbfname,doc,cpfirst,cplast,maxLengthFn)
test sbfname ne 0 ifso // File Name
[ // doctor cch to strip off control-A !
sbfname>>SB.cch = sbfname>>SB.cch-1
sbToDl(sbfname,52)
]
ifnot sbToDl("Unknown",52)
let tsl = vec 50
ExpandPrintby(tsl, lv ho>>HO.aslPrintBy)
vsbToDl(tsl, 32)
test todcur ne 0 ifso
[
let tsbtime = vec maxsbtime;
tsbtime ! 0 = 0;
createsbtime(tsbtime, todcur);
sbToDl(tsbtime,40);
]
ifnot sbToDl("Unknown",40)
]
// E X P A N D P R I N T B Y
//
and ExpandPrintby(slDest, slSrc) be
[
slDest>>SL.cch = 0;
for tichSrc = 0 to slSrc>>SL.cch-1 do
[ let tch = slSrc>>SL.ch↑tichSrc;
test tch eq $$ ifso
for tichUser = 0 to UserName>>SB.cch-1 do
[ slDest>>SL.ch↑(slDest>>SL.cch) = UserName>>SB.ch↑tichUser;
slDest>>SL.cch = slDest>>SL.cch+1;
]
ifnot
[ slDest>>SL.ch↑(slDest>>SL.cch) = tch;
slDest>>SL.cch = slDest>>SL.cch+1;
];
];
]
// The END of pressHardcopy.sr