>BannerPrnt  (C) Allan Kelly 14/8/87 % Modified by J.G.Harston, 7/1991 ( 2 chars% 10 < set_up Fepson_codes P Z err d 7 n x  ?0,0);(129);(157);(141);10,0);(131);"Printer Banners" ?0,1);(129);(157);(141);10,1);(131);"Printer Banners" !7,2);"(C) Allan Kelly 1987"  ''(5);"S - Save settings" '(5);"L - Load settings" '(5);"C - Change settings" '(5);"E - Enter message" '(5);"P - Print banner" '(5);"Q - Quit"  *FX21,0  key$= ) "SLCEPQ*",key$) "slcepq*",key$) key=(key$) &DF " , key="S" save 6 key="L" load @ key="C" change J key="E" message T key="P" 3:print:7 ^ key=10 os h key="Q" r test("Are you sure?") |   os:  os$,key  "*"os$:os$  os$=""    change  key  #4,0);(141);"Change Settings" #4,1);(141);"Change Settings" %0,2);"Vertical multiplier:";vm% (0,3);"Horiztontal multiplier:";hm% 0,4);"Left gap:";left% 0,5);"Top gap:";top% & 0,6);"Bottom gap:";bottom% 020,8);"Foregound character:";(out%);" ";out% :40,9);"Backgound character:";(back%);" ";back% D(0,11);"Line spacing n/216:";space% N X b0,20);(38) l v!vm%=get_value(25,2,10,1,vm%) !hm%=get_value(25,3,10,1,hm%) %left%=get_value(25,4,40,0,left%) #top%=get_value(25,5,40,0,top%) )bottom%=get_value(25,6,40,0,bottom%) %out%=get_ascii(25,8,126,32,out%) 'back%=get_ascii(25,9,126,32,back%) )space%=get_value(25,11,216,1,space%) .0,20);"RETURN to repeat, SPACE for menu"  *FX21,0  key=  key=13 key=32  key=32    message  x$   *4,1);(141);"Message" 44,2);(141);"Message" >!''"Current message:"message$ H'';"New message:"x$ R x$<>"" message$=x$ \ f''"Pre message:"pre$ p';"Pre message:"x$ z x$<>"" pre$=x$  ''"Post message:"post$ ';"Post message:"x$  x$<>"" post$=x$    print  print%,key,vh%  print%=test("Printer on?") &"Vertical (V) or Horizontal (H)?"  *FX21,0  key= &DF  key="H" key="V"  key="H" vh%= vh%= + print% 2,1,esc%,1,sp_code%,1,space% $ pre$<>"" pre$' .5 vh% vertical(message$) horizontal(message$) 8 post$<>"" post$' B print% 3 L return V ` jhorizontal(x$) t char,x%,hl%,y%,vl% ~ char=(x$) 1 -1 chr(message$,char,1))  top%>0 lines(top%)  x%=0 7  hl%=1 hm% '(left%);  y%=1 8  vl%=1 vm% ' chars%?y% 2^x% out% back%      bottom%>0 lines(bottom%)     (vertical(x$) 2 char,x%,hl%,y%,vl% < char=1 (x$) Fchr(message$,char,1)) P top%>0 lines(top%) Z x%=1 8 d hl%=1 hm% n'(left%); x y%=7 0 -1  vl%=1 vm% ' chars%?x% 2^y% out% back%      bottom%>0 lines(bottom%)     save  file,file$ cat file$=file_name file=(file$) 6 file<>0 "File exists.": test("Continue?")= " #file ,4file=(file$):file=0 "Can't open "file$:A%=: 6#file,vm%,hm% @#file,left%,top%,bottom% J#file,space%,out%,back% T#file,message$,pre$,post$ ^ #file h r | load  file,file$ cat file$=file_name file=(file$) - file=0 "File does not exist":return:  #file,vm%,hm% #file,left%,top%,bottom% #file,space%,out%,back% #file,message$,pre$,post$  #file    cat  test("Catalogue?") *.  & 0ݤfile_name : x$ D N'"Filename:"x$ X x$<>"" b:=x$ l v set_up  print%=  vm%=1  hm%=1  left%=0  out%="X" back%=" " message$=""  pre$=""  post$=""  top%=0  bottom%=0  space%=36    epson_codes  esc%=27  ! line spacing code for n/216 *sp_code%="3" 4 > H: R chr(A%) \"?chars%=A%:X%=chars%:Y%=X%256 fA%=10:&FFF1: p: z ݤtest(x$)  key 'x$  *FX21,0  key= &DF  key="Y" key="N"  key="Y" := :=   return '(10);"Press RETURN"  *FX21,0  =13   ݤget_value(x,y,max,min,v) $ z$,z . x,y); 8 z$ B z$="" z=v z=(z$) L& z>=min z<=max x,y);z;" " V# z>max x,y);max;" MAX":z=max `# z=min z<=max x,y);(z);" " & z>max x,y);(max);" MAX":z=max & z