0 '* FORMAT.BA shareware by H. Veludo * 1 GOTO700 2 D=D+2:I=I-2:RETURN 3 D=D+3:I=I-3:RETURN 4 CLS:LOCATE0,4:PRINTR" "A" "V;:RETURN 5 A="BAD IMPUT........Try again....":GOSUB4:BEEP:FORI=1TO1000:NEXT:RETURN 6 IFRIGHT$(S,1)=" "THENS=LEFT$(S,LEN(S)-1):GOTO6 7 K=LEN(S)-1 8 IFLEN(S)1THENW="":GOTO380:'Printer only 170 IFC=141THENW=CHR$(8):GOSUB2:'Backspace 180 IFC=132THENW=E+"G":GOSUB2:'Bold on 190 IFC=133THENW=E+"H":GOSUB2:'Bold off 200 IFC=151THENW=E+"4":GOSUB2:'Italics on 210 IFC=152THENW=E+"5":GOSUB2:'Italics off 220 IFC=150THENW=E+"-1":GOSUB3:'Underline on 230 IFC=149THENW=E+"-0":GOSUB3:'Underline off 240 IFC=144THENW=E+"x1":GOSUB3:'NLQ on 250 IFC=148THENW=E+"x0":GOSUB3:'NLQ off 260 IFC=136THENW=E+"S1":GOSUB3:'Subscript on 270 IFC=137THENW=E+"S0":GOSUB3:'Superscript on 280 IFC=138THENW=E+"T":GOSUB2:'Scripts off 290 IFC=154THENW=E+"R"+CHR$(0):GOSUB3:'US 300 IFC=155THENW=E+"R"+CHR$(1):GOSUB3:'FR 310 IFC=156THENW=E+"R"+CHR$(2):GOSUB3:'DL 320 IFC=157THENW=E+"R"+CHR$(3):GOSUB3:'GB 330 IFC=158THENW=E+"R"+CHR$(6):GOSUB3:'IT 340 IFC=159THENW=E+"R"+CHR$(7):GOSUB3:'SP 350 IFC=146THENW=CHR$(14):D=D+1:I=I-1:F=1:'Expanded on 360 IFC=145THENW=CHR$(20):D=D+2:I=I-2:F=0:'Expanded off 370 IFF=1THENI=I+1:D=D-1 380 S=S+W:IFW=CHR$(10)THEN450 390 NEXTI 400 IFRIGHT$(S,1)<>" "THEN430 410 W=MID$(S,LEN(S)-1,1):IFINSTR("=]-:;.,?!)",W)THENS=LEFT$(S,LEN(S)-1):T="":GOTO530 430 FORX=LEN(S)-1TO1STEP-1:W=MID$(S,X,1):IFINSTR("=]}.,;: ?!",W)THEN440ELSENEXTX 440 T=RIGHT$(S,LEN(S)-X):S=LEFT$(S,X):GOTO460 450 S=LEFT$(S,LEN(S)-2):T="" 460 IFCTTHENS=SPACE$((LW+D-LEN(S))/2)+S:CT=0:GOTO530 470 IFJT$="N"ORW=CHR$(10)THEN530ELSE6 530 PRINT#2,SPACE$(ML+PA)+S:NL=NL+1:PA=0:IFNL>PLTHENGOSUB600:GOSUB650:GOTO550 540 IFLS>1THENFORI=2TOLS:PRINT#2,"":IFNL>PLTHENGOSUB600:ELSENL=NL+1:NEXTI 550 S="":S=S+T:T="":D=0:GOTO110 560 NEXTCP:CLOSE#1:IFP=1THENLPRINTE;"@":LPRINTE+"j$"; 570 A="Would you like to print another file?":GOSUB4:BEEP:A=INPUT$(1):IFINSTR("Yy",A)THEN720 580 CLEAR0:SCREEN,1:MENU 590 IFNL0THENFORJ=1TOMF:PRINT#2,"":NEXT 610 IFPN$="Y"THENPRINT#2,SPACE$(PW/2-3);"- ";PN;" -" 620 IFMB>0THENFORJ=1TOMB:PRINT#2,"":NEXT 630 IFHP$="Y"THENA="Press  when ready for next page...":GOSUB4:A=INPUT$(1) 640 NL=1:RETURN 650 IFMT>0THENFORJ=1TOMT:PRINT#2,"":NEXT 660 IFHS$="Y"THENPRINT#2,H$ 670 IFMH>0THENFORJ=1TOMH:PRINT#2,"":NEXT 680 RETURN 700 MAXFILES=2:CLEAR400:DEFINTB-D,F-P,X-Y:DEFSTRA,E,Q-W:PI=0:PH=66:PW=80:MH=1:MF=1:MT=1:MB=1:ML=6:MR=6:LS=1:HD=0:CT=0:PG=1:E=CHR$(27):R=E+"p":V=E+"q":HS$="N":HP$="N":JT$="Y":PN$="Y" 710 ONERRORGOTO990:CH$="":FORI=1TO25:READC:CH$=CH$+CHR$(C):NEXT 720 CLS:P=0:SCREEN,0:Z=63633!:PRINTR"Text files in RAM:"V:PRINTSTRING$(40,45);:FORJ=1TO19:IFPEEK(Z)=192THENPRINT" ";:FORK=3TO8:PRINTCHR$(PEEK(Z+K));:NEXTK 730 Z=Z+11:NEXTJ:LOCATE0,6:PRINTSTRING$(40,45)R" File (or CAS:fname) to print->"V;:LINEINPUTFN$ 740 FN$=FN$+".DO":CLOSE#1:IFLEFT$(FN$,4)="CAS:"ORLEFT$(FN$,4)="cas:"THENCLS:LOCATE0,4:PRINT" Press  when cassette is ready...";:A=INPUT$(1) 750 CLOSE#1:OPENFN$FORINPUTAS1 760 CLS:LOCATE5,0:PRINTR" Would you like to print to:"V:LOCATE5,2:PRINT"("R"M"V")emory":LOCATE5,4:PRINT"("R"P"V")rinter":LOCATE5,6:PRINT"("R"R"V")S232";:LOCATE18,4:PRINTR" Enter choice->"V; 770 W=INPUT$(1):IFW="P"ORW="p"THENP=1:CLOSE#2:OPEN"lpt:"FOROUTPUTAS2 780 IFW="M"ORW="m"THENA="Enter output filename":GOSUB4:INPUTDN$:CLOSE2:OPENDN$FOROUTPUTAS2 790 IFW="R"ORW="r"THENCLOSE#2:OPEN"COM:3E71XN"FOROUTPUTAS2 800 IF INSTR("MmRrPp",W)=0THENBEEP:GOTO760 810 IFPTHENA="Please ready the printer then press ":GOSUB4:A=INPUT$(1) 820 GOSUB970:LOCATE0,7:PRINTR"Would you like to change the settings?"V;:A=INPUT$(1):IFA="N"ORA="n"THEN950 830 GOSUB970:LOCATE0,7:A="":PRINTR" Enter item # to change (=OK) "V;:INPUTA:IFA=""THEN950ELSEB=VAL(A):IFB<1ORB>14THEN830ELSEONBGOTO841,842,843,844,845,846,847,848,849,850,851,852,853,854 841 A="Pitch #":GOSUB4:INPUTPI:GOTO830 842 A="Pitch width":GOSUB4:INPUTPW:GOTO830 843 A="Left margin":GOSUB4:INPUTML:GOTO830 844 A="Right margin":GOSUB4:INPUTMR:GOTO830 845 A="Top margin":GOSUB4:INPUTMT:GOTO830 846 A="Bottom margin":GOSUB4:INPUTMB:GOTO830 847 A="# lines/page":GOSUB4:INPUTPH:GOTO830 848 A="Line spacing (1,2...)":GOSUB4:INPUTLS:GOTO830 849 A="Header margin":GOSUB4:INPUTMH:GOTO830 850 A="Footer margin":GOSUB4:INPUTMF:GOTO830 851 A="Number pages (Y/N)?":GOSUB4:PN$=INPUT$(1):IFPN$="Y"THENPG=1:GOTO830:ELSEIFPN$="N"THENPG=0:GOTO830:ELSEGOSUB5:GOTO851 852 H$="":A="Enter the HEADER string":GOSUB4:INPUTH$:IFH$<>""THENIFLEN(H$)3THENGOSUB5:GOTO1020 1030 ONJTGOTO1040,1050,1060 1040 H$=SPACE$((LW-LEN(H$))/2+ML)+H$:RETURN 1050 H$=SPACE$(PW-ML-LEN(H$))+H$:RETURN 1060 H$=SPACE$(ML)+H$:RETURN