home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
prt
/
word.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
52 lines
0 'WORD.BA Dave Cloutier
1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
2 CLS:MAXFILES=1:GOSUB17:PN=1
3 PRINTP$:FILES:INPUT"File to Print";F$:IFF$=""THEN3
4 GOSUB 45:OPENF$FORINPUTAS1:ONERRORGOTO15:GOSUB35
5 GOSUB18:IFLEFT$(L$,1)=">"THENGOSUB23
6 LP=-1:IF TM<>0 THEN GOSUB 47
7 IFL$<>"><"THENGOSUB32:LPRINTTAB(LM);L$:LP=LP+1:IFLS<>1THENFORC=1TOLS-1:LPRINTCHR$(10);:LP=LP+1:IFLP=PLTHEN12ELSENEXTC
8 FORP=TMTOBM:GOSUB18:IFLEFT$(L$,1)=">"THENP=P-1:GOSUB23
9 IFL$<>"><"THENGOSUB32:LPRINTTAB(LM);L$:LP=LP+1:IFLS<>1THENFORC=1TOLS-1:LPRINTCHR$(10);:LP=LP+1:IFLP=PLTHEN12ELSENEXTC
10 IFLP=>BMTHENIFLP<>PL-1THENFORC=LPTOPL-2:LPRINTCHR$(10);:NEXTC:GOTO12ELSEGOTOO500
11 NEXTP:IFLP<>PL-1THENFORX=LPTOPL-2:LPRINTCHR$(10);:NEXTX
12 BEEP:INPUT"Press <ENTER> for next page";Q$:PN=PN+1:GOTO5
13 BEEP:BEEP:LPRINTTAB(LM);R$:IFLP<>PL-1THENFORX=LPTOPL-2:LPRINTCHR$(10);:NEXTX
14 PRINT"End of file...":END:MENU
15 IFERL>1549ANDERL<1631THEN BEEP:PRINT"Syntax error in line settings"ELSEPRINT"Error";ERR;"in line";ERL
16 END
17 LM=5:RM=72:TM=6:BM=60:PL=66:LS=1:LN=67:RETURN
18 L$=R$:R$="":X=LEN(L$)
19 IFEOF(1)THEN13
20 A$=INPUT$(1,1):X=X+1:IFA$=CHR$(10)THENRETURN
21 IFA$=CHR$(13)THENA$=" "
22 L$=L$+A$:IFX=LNTHENRETURN:ELSEGOTO19
23 IFLEN(L$)>1THENL$=RIGHT$(L$,LEN(L$)-1)+".."
24 IFLEFT$(L$,1)<>"."THENC$=LEFT$(L$,2)ELSEL$="><":RETURN
25 M$=MID$(L$,4,1):IFASC(M$)>47ANDASC(M$)<58THENN$=M$:N=VAL(N$)
26 IFMID$(L$,5,1)=" "ORMID$(L$,5,1)="."THENL$=RIGHT$(L$,LEN(L$)-5):GOTO28
27 M$=MID$(L$,5,1):N$=N$+M$:N=VAL(N$):L$=RIGHT$(L$,LEN(L$)-6)
28 IFC$="LM"THENLM=NELSEIFC$="RM"THENRM=N
29 IFC$="LS"THENLS=NELSEIFC$="PL"THENPL=N
30 IFC$="TM"THENTM=NELSEIFC$="BM"THENBM=N
31 LN=RM-LM:GOTO24
32 R$=L$:IFLEN(L$)=0THENRETURN
33 IFRIGHT$(L$,1)<>" "THENL$=LEFT$(L$,LEN(L$)-1):IFLEN(L$)<>0THEN33ELSEL$=R$
34 R$=RIGHT$(R$,LEN(R$)-LEN(L$)):RETURN
35 INPUT"Test for errors";Q$:IFLEFT$(Q$,1)<>"Y"ANDLEFT$(Q$,1)<>"y"THENPRINT"No test made.":RETURN
36 PRINT"Testing for errors...":B$=CHR$(10)
37 IFNOTEOF(1)THENA$=INPUT$(1,1)ELSEGOTO43
38 IFA$=">"ANDB$=CHR$(10)THENLINEINPUT#1,L$:L$=">"+L$:GOSUB23:IFLM=>RMTHENPRINT"Error in left or right margin":GOTO44
39 B$=A$:IFBM>PLTHENPRINT"Error in bottom margin or page length":GOTO44
40 IFTM=>BMTHENPRINT"Error in top or bottom margin":GOTO44
41 IFLS>PLTHENPRINT"Line spacing too large":GOTO44
42 GOTO37
43 PRINT"Testing completed":GOSUB17:CLOSE1:OPENF$FORINPUTAS1:RETURN
44 INPUT"Continue";Q$:Q$=LEFT$(Q$,1):IFQ$="Y"ORQ$="y"THEN37ELSEEND
45 CLS:INPUT"Paging";Z$:IF Z$="y"OR Z$="Y" THEN F1=1 ELSE RETURN
46 INPUT"Title";H$:RETURN
47 IF TM<2 THEN FOR X=1 TO TM:LPRINT CHR$(10);:LP=LP+1:NEXT:RETURN
48 IF TM=2 AND F1=1 THEN LPRINT H$:LPRINT CHR$(10);:LP=LP+2:RETURN
49 IF PN>1 AND F1=1 THEN LPRINTTAB(LM)H$:LPRINTTAB(LM)"Page ";PN:LP=LP+2
50 FOR X=2 TO TM:LPRINT CHR$(10);:LP=LP+1:NEXT X:RETURN