1 'COLUMN.BAS Copyright 23 Nov 1987 by William Stauffer 2 ' Revisions to COLUMN.BAS with W. Stauffers permission 3 'by Ralph D. Walthall 4 ' COLCRD.BAS Copyright 11/01/90 by Ralph D. Walthall [74016,1660] 5 CLS:PRINT@13,"COLCRD.BAS (c)":PRINT@58,"by" 6 PRINT@91,"Ralph D. Walthall" 7 PRINT@169,"For 8 1/2 x 11 Output" 8 PRINT@244,"[M] for Menu - [ENT] to continue" 9 Q$=INKEY$:IFQ$=""THEN9ELSEIFQ$="M"ORQ$="m"THENMENU 10 CLEAR4000:MAXFILES=2:DEFINTA-N::DEFSTRO-X:DIMV(300) 15 S=CHR$(27):R=S+"p":U=S+"q" 20 ' ENTER DATA 25 CLS:YI$="":YO$="":J=0 30 PRINT@10,"Input File: ";:INPUTYI$ 35 IFYI$=""THENPRINT:PRINT@40,R;" File MUST be entered! ";U:GOTO30 40 YI$=YI$+".DO" 45 PRINT@90,"Output File:";:INPUTYO$ 50 IFYO$=""THENPRINT:PRINT@130,R;" File MUST be entered! ";U:GOTO45 55 IFYO$="CRT:"ORYO$="LCD:"THENJ=1 60 IFYO$="LPT:"THENJ=2 65 IFJ=0THENYO$=YO$+".DO" 70 PRINT@170,"Input Title:";:INPUTTL$ 75 IFTL=""THENL1=0ELSE L1=1 80 GOSUB585 85 Q=INKEY$:IFQ=""THEN85ELSEIFQ="C"ORQ="c"THEN25 90 ' COUNTING 95 CLS:PRINT@100-(LEN(YI$)/2),YI$ 100 SS="Counting Lines":GOSUB475 105 OPENYI$FORINPUTAS1:C=0:CC=0:ML=0:L=0 110 L=L+1:GOSUB480:LINEINPUT#1,V(L):LL=LEN(V(L)):IFLL>MLTHENML=LL 115 IFEOF(1)THEN120ELSE110 120 CLOSE 125 C=L:CLS:P=STR$(C)+" Lines - Maximum"+STR$(ML)+" Characters/Line" 130 PRINT@1,P 135 '- OUTPUT FILE FORMAT - 140 PRINT@40,"Type of Output:(Normal,Elite,Condensed)" 145 PRINT@128, " 8 1/2 x 11 Paper (1,2,3) ?" 170 PRINT:INPUT"TYPE(1-3):";K1 175 ONK1 GOSUB 1001,1002,1003 180 PC="":WW="":UC="":VM="" 185 CLS:PRINT@246,"Press ENTER for NO change" 190 PRINT@2,YO$;" Char/Line(DEFAULT:"; EC")";:INPUTPC 195 IFVAL(PC)>ECTHENPRINT:PRINTR;"Cannot exceed default value";U:FORI=1TO900:NEXT:GOTO180 200 IFPC=""THENEC=ECELSEEC=VAL(PC) 205 PRINT@42,"Column Width (Default:";ML+1;")";:INPUTWW 210 IFWW=""THENCW=ML+1ELSECW=VAL(WW) 215 IFCW=>ECTHEN220 ELSE230 220 PRINT:BEEP:PRINTR;" ";YI$;" Column width > than page width";U 225 FORI=1TO900:NEXT:GOTO125 230 MC=INT(EC/CW) 235 PRINT@82,YO$;" Columns (Default:";MC;")";:INPUTUC 240 IFUC=""THENNC=MCELSENC=VAL(UC) 245 M=EC-(NC*CW) 250 PRINT@122,"Maximum Left Margin: ";M;" Spaces" 255 IFM<0THEN260ELSE270 260 PRINT:BEEP:PRINTR;" NO WAY (- LEFT MARGIN)";U 265 FOR I=1TO900:NEXT:GOTO180 270 PRINT@162,"Left Margin (Default: ";INT(M/2);")";:INPUTVM 275 IFVM=""THENLM=INT(M/2)ELSELM=VAL(VM) 280 IFLM>MTHEN270 285 Z=C/NC:IFZ=INT(C/NC)THEN295 290 C=C+1:V(C)=" ":GOTO285 295 B=INT(Z/N) 300 PRINT@202,"Lines on this form:";(Z+L1) 310 GOSUB585 315 Q=INKEY$:IFQ=""THEN315ELSEIFQ="C"ORQ="c"THEN125 320 IFQ=STHEN MENU 325 ' WRITING OUTPUT 330 IFYO$="LPT:"THENGOSUB490 335 IFJ=1THENGOTO350 340 IFYO$="LPT:"THENO="PRINTING "+YI$ELSEO="WRITING "+YO$ 345 CLS:SS=O:GOSUB475 350 D=1 355 OPENYO$FOROUTPUTASD:CC=0:A=1:CB=0 360 IF(Z/N-B)>0THENCD=B+1ELSECD=B 365 FOR K=1 TO CD 370 IFCD=1ORK=CDTHENCB=CB+(Z-(K-1)*N)ELSECB=CB+N 375 IFL1>0THENGOSUB545 380 FORH=ATOCB:FORG=1TONC 385 IFCD=1ORCD=KTHENCA=(Z-N*(K-1))ELSECA=N 390 C1=H+GG+((G-1)*CA) 395 IFG=1THENPRINT#D,SPACE$(LM); 400 IFG=NCTHENPRINT#D,V(C1):GOTO410 405 PRINT#D,V(C1);SPACE$(CW-LEN(V(C1))); 410 IF J=1THEN415 ELSEGOSUB480 415 NEXTG:A=A+1:NEXTH 420 GG=GG+(NC-1)*N 425 IFYO$="LPT:"THENGOSUB525 430 NEXTK 435 CLOSE 440 BEEP:IFJ=1THEN445 ELSE CLS 445 PRINT@7,R;" Conversion Complete ";U 450 PRINT@87," Press ENTER for MENU " 455 PRINT@167," PRESS [R] FOR NEW FILE " 460 Q=INKEY$:IFQ=""THEN460ELSEIFQ="R"ORQ="r" THENGOTO10 465 MENU 470 ' SUBROUTINES 475 PRINT@180-(LEN(SS)/2),SS:RETURN 480 CC=CC+1:PRINT@257,R;" ";CC;" ";U:RETURN 485 ' PRINTER SET-UP 490 CLS:BEEP:PRINT@127,R;" Set PRINTER to TOP of form 495 PRINT@212,"and Press [ENTER] ";U 500 Q=INKEY$:IFQ=""THEN500 512 W=S+CHR$(66)+CHR$(F) 518 LPRINTW 520 RETURN 525 LPRINTCHR$(12) 530 RETURN 535 ' PRINT TITLE 545 PRINT#D,SPACE$(LM+(((CW*NC)-LEN(TL))/2));TL:RETURN 585 PRINT@240,"[C] to correct data - [ENT] to continue":RETURN 700 FOR I=1TO(N1-(CA+L1)):PRINT#D," ":NEXT:RETURN 1000 ' FORMAT DATA 1001 EC=80:N=60:N1=66:F=1:RETURN 1002 EC=96:N=60:N1=66:F=2:RETURN 1003 EC=132:N=60:N1=66:F=3:RETURN