10 IFFL=0THENFL=1:LOAD"DP] DOS5.1",8,1 11 IFFL=1THENFL=2:SYS52224:REM(C)COMMODORE 600 FORE=0TO24:POKE54272+E,0:NEXT:POKE54296,15:GOTO1500 602 POKE54277,58:POKE54278,16:POKE54273,35:POKE54272,134 604 POKE54276,33:FORE=1TO100:NEXT:POKE54276,16:RETURN 1500 REM DFPRINT 1.7 FOR DATAFILE (C)1983-1986 BY MIKE KONSHAK 1502 CLR:PRINT"[147][158]":POKE53281,0:POKE53280,0:OPEN4,4:OPEN3,3 1504 D$="":B$=CHR$(32):FORJ=1TO80:S$=S$+B$:NEXTJ:PF=4:MF$=D$:RF$=D$:P=0 1506 NC=0:NL=0:PL=0:F1=0:F2=0:F3=0:L$=D$:RL=0:SB$=D$:CR$=CHR$(13) 1508 A$=D$:C$=D$:T%=6:I=0:J=0:K=0:M=0:N=0:RW=5:SF=0:Z=0:E$="EOF" 1510 EN=0:EM$=D$:ET=0:ES=0:A1$=D$:A2$=D$:A3$=D$:RW=5:LW=34:LT=1:L=0 1512 REM-ARRAYS 1514 DIM ML$(17,4),PC(18),TT$(5),HC$(17),RP$(17,4),LP(5),R$(5) 1516 DIM F$(31),T%(31),L%(31),REC$(31) 1518 LP(1)=1:LP(2)=37:LP(3)=73:LP(4)=109:GOTO1530 1520 REM-GET 1521 PRINT"[158]  PRESS THE APPROPRIATE KEY ":RETURN 1522 GETA$:IFA$=""THEN1522 1524 RETURN 1526 REM-START 1528 PRINT"[147]  DATAFILE FAST PRINT PROGRAM ":GOTO1548 1530 PRINT"[147]  DATAFILE FAST PRINT REV 1.7 " 1532 PRINT"  BY MIKE KONSHAK (C)1986 " 1534 PRINT"[153] THIS PROGRAM WILL FORMAT AND PRINT A" 1536 PRINT" SEQ[146] FILE, WHICH WAS PREVIOUSLY CREATED" 1539 PRINT" BY [158]DATAFILE[153][146], DIRECTLY FROM THE DISK" 1540 PRINT" TO THE PRINTER. THE ORDER OF THE" 1542 PRINT" RECORDS WILL BE THE SAME AS THE MOST" 1544 PRINT" RECENT SORT AS WRITTEN IN THE CURRENT" 1546 PRINT" FILE.":PRINT"[158] PRESS ANY KEY[146][158] TO CONTINUE" 1547 GOSUB1522:GOSUB2856:GOTO1528 1548 PRINTTAB(5)"O[153][146]PEN RECORD FILE ON DISK" 1550 IFFL>0THENPRINTTAB(5)"R[153][146]EPEAT RECORD FILE: [146]"NF$"[158][146]" 1551 PRINTTAB(5)"$[153][146] DISK DIRECTORY 4[153][146]" 1552 PRINTTAB(5)"Q[153][146]UIT PROGRAM" 1553 PRINT" TRANSFER TO:" 1554 PRINTTAB(5)"D[153][146] DATAFILE DBMS" 1555 PRINTTAB(5)"C[153][146] DFCALC CALCULATED REPORTS" 1556 GOSUB1521 1558 GOSUB1522:IFA$="$"ORA$="4"THENGOSUB1628:GOTO1528 1559 IFA$="D"THENPRINT"[147][144]LOAD"CHR$(34)"DATAFILE 3.6"CHR$(34)",8":GOTO1565 1560 IFA$="O"THENFL=1:GOTO1572 1561 IFA$="C"THENPRINT"[147][144]LOAD"CHR$(34)"DFCALC"CHR$(34)",8":GOTO1565 1562 IFA$="R"THEN1584 1563 IFA$="Q"THENCLOSE5:CLOSE15:CLOSE3:CLOSE4:END 1564 GOSUB602:GOTO1558 1565 PRINT:PRINT:PRINT:PRINT:PRINT"RUN[158]" 1566 POKE631,19:POKE632,13:POKE633,13:POKE634,13:POKE635,13:POKE636,13 1568 POKE198,6:NEW:END 1570 REM-FILE NAME 1572 PRINT"[153][147] AVAILABLE RECORD FILES ARE:[158]":@"$0:DF]*" 1573 PRINT"[153]NAME OF RECORD FILE TO BE PRINTED[158]" 1574 PRINT"  ";NF$:INPUT"[145] ";NF$:IFNF$=""THENFL=0:GOTO1528 1576 OPEN15,8,15 1578 OPEN5,8,5,"0:DF] "+NF$+",S,R":GOSUB1618:IFEN=62THENGOSUB1620:FL=0:GOTO1528 1579 INPUT#5,R,F,X:GOSUB1618:IFET=8THEN1528 1580 FORN=1TOF:INPUT#5,F$(N),L%(N):NEXTN:GOSUB1618:IFET=8THEN1528 1582 CLOSE5:CLOSE15 1583 REM-PRINT MENU 1584 PRINT"[158][147]  RECORD PRINTOUT MENU " 1585 PRINT"[153] PRINT OPTIONS:";:IFK<>0THENPRINT:GOTO1587 1586 PRINT"[150]NO FORMATS PRESENT[158]" 1587 PRINTTAB(4)"U[153][146]NFORMATTED LIST" 1588 PRINTTAB(4)"R[153][146]EPORT FORMAT [158]"RF$ 1590 PRINTTAB(4)"M[153][146]AILING LABELS [158]"MF$ 1591 PRINT"[153] CONFIGURE:" 1592 PRINTTAB(4)"L[153][146]ABELS:[158]"RW"[153]ROWS,[158]"LW"[153]CHRS,[158]"LT"[153]ACROSS" 1594 PRINTTAB(4)"P[153][146]RINTER: OPTION[158]"P;:IFP=4THENPRINT"[157][157]SCREEN[146]"; 1595 PRINT:PRINTTAB(4)"$[153][146] DISK DIRECTORY 4[153][146]" 1596 PRINTTAB(4)"E[153][146]XIT TO RESTART" 1598 GOSUB1521 1600 GOSUB1522:IFA$="" THEN1600 1602 IFA$="U"THENK=1:GOTO1730 1604 IFA$="R"THENK=2:GOTO3118 1605 IFA$="$"ORA$="4"THENGOSUB1628:GOTO1584 1606 IFA$="E"THEN1528 1608 IFA$="M"THENK=3:GOTO3118 1610 IFA$="L"THEN1940 1612 IFA$="P"THENGOSUB2856:GOTO1584 1614 GOSUB602:GOTO1600 1616 REM-DISK ERROR 1618 INPUT#15,EN,EM$,ET,ES:IF(EN<20)OR(EN=62)THENET=0:RETURN 1620 PRINT" [150]DISK ERROR[146]"EN"[157], "EM$","ET"[157],"ES"[158]":ET=8 1622 PRINT"[153] PRESS ANY KEY[153][146] TO RESTART PROGRAM[158]" 1624 GOSUB1522:CLOSE5:CLOSE15:RETURN 1626 REM-DIRECTORY 1628 PRINT"[147][158]";:@"$":PRINTTAB(25)"[153]PRESS ANY KEY[158][146]":GOSUB1522:RETURN 1666 REM-LOAD REPORT 1668 PRINT"[153][147] AVAILABLE REPORT FILES ARE[158]:":@"$0:RP]*" 1669 PRINT"[153] NAME OF REPORT FORMAT FILE?[158]" 1670 PRINT"  [158]";NF$:INPUT"[145] ";RF$:IFRF$=""THEN1528 1672 OPEN15,8,15:OPEN5,8,5,"0:RP] "+RF$+",S,R":GOSUB1618:IFET=8THEN1528 1674 IFEN=62THENGOSUB1620:GOTO1528 1676 INPUT#5,PW,NL,NC:GOSUB1618:IFET=8THEN1528 1678 FORJ=1TONL 1680 INPUT#5,TT$(J):GOSUB1618:IFET=8THEN1528 1682 NEXTJ 1684 FORI=1TONC 1686 INPUT#5,PC(I),HC$(I):GOSUB1618:IFET=8THEN1528 1688 FORN=1TO3 1690 INPUT#5,RP$(I,N):GOSUB1618:IFET=8THEN1528 1692 NEXTN:NEXTI:INPUT#5,A1$:Z=VAL(A1$) 1694 S=ST:IFS<>0THEN1698 1696 INPUT#5,E$ 1698 CLOSE5:CLOSE15 1700 GOTO2980 1702 REM-LOAD LABEL 1704 PRINT"[153][147] AVAILABLE LABEL FILES ARE:[158]":@"$0:ML]*" 1705 PRINT"[153] NAME OF MAILING LABEL FORMAT FILE?" 1706 PRINT"  [158]";NF$:INPUT"[145] ";MF$:IFMF$=""THEN1528 1708 OPEN15,8,15:OPEN5,8,5,"0:ML] "+MF$+",S,R":GOSUB1618:IFET=8THEN1528 1710 IFEN=62THENGOSUB1620:GOTO1528 1712 INPUT#5,RW 1714 FORI=1TORW:FORN=1TO3 1716 INPUT#5,ML$(I,N):GOSUB1618:IFET=8THEN1528 1718 NEXTN 1720 NEXTI 1722 S=ST:IFS<>0THEN1726 1724 INPUT#5,E$ 1726 CLOSE5:CLOSE15:GOTO3068 1728 REM-OPEN FILE 1730 PRINT"[147] POSITIONING DRIVE..." 1731 OPEN15,8,15:OPEN5,8,5,"0:DF] "+NF$+",S,R":GOSUB1618:IFET=8THEN1528 1732 IFEN=62THENGOSUB1620:GOTO1528 1734 INPUT#5,R,F,X:GOSUB1618:IFET=8THEN1528 1738 FORN=1TOF:INPUT#5,F$(N),L%(N):NEXTN:GOSUB1618:IFET=8THEN1528 1740 REM-OPTIONS 1742 A0=0:PG=1:PL=0:L=0:PRINT"[147] [158] PRINT OPTIONS MENU " 1743 PRINT"[153] THERE ARE [158]"X"[146][153]RECORDS IN [158]"NF$ 1744 PRINTTAB(4)"A[153][146]LL RECORDS IN FILE 1746 [153][163]4)"FPRINTWAITIND RECORDS WITH COMMON FIELDS 1748 IFK=3ANDPF=4THENPRINTTAB(4)"T[153][146]EST LABEL(S)" 1750 PRINTTAB(4)"E[153][146]XIT BACK TO START" 1752 IFK=2THENPRINT"[153]POSITION PAPER IN PRINTER AT TOP OF PAGE" 1754 GOSUB1521 1756 GOSUB1522 1758 IFA$="A"THEN1806 1762 IFA$="T"THEN1918 1764 IFA$="F"THEN1772 1766 IFA$="E"THENCLOSE5:CLOSE15:GOTO3118 1768 GOSUB602:GOTO1756 1770 REM-FIND 1772 PRINT"[158][147]  FIND RECORDS WITH COMMON ITEMS " 1774 FORN=1TOF:PRINT" ";N;"[153][146] ";F$(N):NEXTN 1776 INPUT" WHICH FIELD IS TO BE SEARCHED";SF 1778 IFSF<0ORSF>FTHENPRINT"[145][145][145]":GOTO1776 1780 PRINT"[153] ENTER COMMON ITEM[153][146] ":PRINT" (THE ENTIRE STRING IS NOT REQUIRED)" 1782 PRINT" ";F$(SF);"[158][146] ";:INPUTT$ 1784 PRINT"[147]":IFK=2THENGOSUB1838:GOSUB1852 1786 FORI=1TOX 1788 IFP<>4THENPRINT" SEARCHING RECORD";I;"[145][145]" 1790 FORN=1TOF:INPUT#5,REC$(N):IFREC$(N)=">"THENREC$(N)=" " 1791 NEXTN:GOSUB1618:IFET=8THEN1528 1792 IFT$=LEFT$(REC$(SF),LEN(T$))THENONKGOSUB1826,1870,1928:IFK=2THENGOSUB1904 1796 NEXTI 1797 IFL>0ANDK=3THENGOSUB1936 1798 CLOSE5:CLOSE15 1800 IFK=2THEN1906 1801 IFP=4THENPRINT"[153]PRESS ANY KEY[158][146]":GOSUB1522 1802 GOTO1730 1804 REM-PRINT ALL 1806 GOSUB2898:PL=0:PRINT"[147][158]":IFP<>4ANDK=2THENPRINT"[147] PRINTING HEADING" 1807 IFK=2THENGOSUB1838:GOSUB1852 1808 FORI=STOX:IFP<>4THENPRINT"[145] READING RECORD #"STR$(I)" OF"STR$(X) 1810 FORN=1TOF:INPUT#5,REC$(N):IFREC$(N)=">"THENREC$(N)=" " 1811 NEXTN:GOSUB1618:IFET=8THEN1528 1812 ONKGOSUB1826,1870,1928 1814 IFK=2THENGOSUB1904 1816 NEXTI 1818 CLOSE5:CLOSE15 1820 IFK=2THEN1906 1822 GOTO1801 1824 REM-NONFORMATTED 1826 PRINT#PF,"[ RECORD #";I;" ]";:FORJ=1TO61:PRINT#PF,"-";:NEXTJ:GOSUB2888 1828 PL=PL+1:FORN=1TOF 1830 PRINT#PF,F$(N);:FORJ=1TO20-LEN(F$(N)):PRINT#PF,".";:NEXTJ 1831 IFREC$(N)=">"THENREC$(N)=" " 1832 PRINT#PF,REC$(N):PL=PL+1:NEXTN:GOSUB2888:PL=PL+1 1834 IFPL+F<=60THENRETURN 1835 FORJ=1TO65-PL:GOSUB2888:NEXTJ:PL=0:PG=PG+1:PRINT#PF,"PAGE"PG:RETURN 1836 REM-TITLE 1838 FORJ=1TONL:IFTT$(J)<>">"THENGOSUB1846 1842 NEXTJ:RETURN 1846 B=INT((PW-LEN(TT$(J)))/2):IFP<>1THEN1849 1848 PRINT#PF,LEFT$(S$,B)+TT$(J);B1$;:PL=PL+1:RETURN 1849 PRINT#PF,LEFT$(S$,B)+TT$(J);B1$:PL=PL+1:RETURN 1850 REM-HEADINGS 1852 GOSUB1866:PC(NC+1)=PW+3:CW=PC(2)-2-PC(1):IFPC(1)>1THEN1856 1854 PRINT#PF,LEFT$(HC$(1),CW);:GOTO1858 1856 PRINT#PF,LEFT$(S$,PC(1)-1)+LEFT$(HC$(1),CW); 1858 IFNC=1THEN1862 1859 FORJ=2TONC:M=PC(J)-LEN(LEFT$(HC$(J-1),PC(J)-2-PC(J-1)))-PC(J-1) 1860 PRINT#PF,LEFT$(S$,M)+LEFT$(HC$(J),PC(J+1)-2-PC(J)); 1861 NEXTJ 1862 GOSUB2888:GOSUB1866:PL=PL+3:RETURN 1864 REM-DASHES 1866 FORJ=1TOPW:PRINT#PF,"-";:NEXTJ:GOSUB2888:RETURN 1868 REM-DATA 1870 F1=VAL(RP$(1,1)):F2=VAL(RP$(1,2)):F3=VAL(RP$(1,3)):CW=PC(2)-2-PC(1) 1871 IFNC=1ANDZ=1THENCLM$=REC$(VAL(RP$(1,1))):GOSUB3148:GOTO1896 1872 IFPC(1)>1THEN1878 1874 PRINT#PF,LEFT$(REC$(F1)+B$+REC$(F2)+B$+REC$(F3),CW); 1876 GOTO1882 1878 PRINT#PF,LEFT$(S$,PC(1)-1); 1880 PRINT#PF,LEFT$(REC$(F1)+B$+REC$(F2)+B$+REC$(F3),CW); 1882 IFNC=1THEN1896 1883 FORJ=2TONC:CW=PC(J)-2-PC(J-1) 1884 F1=VAL(RP$(J-1,1)):F2=VAL(RP$(J-1,2)):F3=VAL(RP$(J-1,3)) 1886 M=LEN(LEFT$(REC$(F1)+B$+REC$(F2)+B$+REC$(F3),CW)) 1888 M=PC(J)-M-PC(J-1):CW=PC(J+1)-2-PC(J) 1890 PRINT#PF,LEFT$(S$,M); 1891 IFJ=NCANDZ=1THENCLM$=REC$(VAL(RP$(J,1))):GOSUB3148:GOTO1896 1892 F1=VAL(RP$(J,1)):F2=VAL(RP$(J,2)):F3=VAL(RP$(J,3)) 1894 PRINT#PF,LEFT$(REC$(F1)+B$+REC$(F2)+B$+REC$(F3),CW); 1895 NEXTJ 1896 GOSUB2888:PL=PL+1 1898 IFPL=60THENFORJ=1TO5:GOSUB2888:NEXTJ:PL=0:GOTO1901 1900 RETURN 1901 PG=PG+1:PRINT#PF,"PAGE"PG:GOSUB1852:RETURN 1902 REM-SUM 1904 IFZ<>1THENRETURN 1905 A0=A0+VAL(REC$(VAL(RP$(NC,1)))):RETURN 1906 IFZ<>1THEN1914 1908 PRINT#PF,LEFT$(S$,PC(NC)-1); 1910 FORI=1TOPW-PC(NC)+1:PRINT#PF,"-";:NEXTI:GOSUB2888 1911 IFNC=1THEN1913 1912 PRINT#PF,LEFT$(S$,PC(NC)-9)+"TOTAL= "; 1913 CLM$=STR$(A0):GOSUB3148:PL=PL+2 1914 GOSUB2888:IFPF=4THENFORI=1TO66-PL:GOSUB2888:NEXTI 1915 GOTO1801 1916 REM-TEST 1918 PRINT" PRINTING TEST LABEL" 1920 FORI=1TORW:FORJ=1TOLW:PRINT#PF,RIGHT$(STR$(J),1);:NEXTJ:GOSUB2888:NEXTI 1922 FORI=1TOT%-RW:GOSUB2888:NEXTI 1924 GOTO1742 1926 REM-LABELS 1928 L=L+1:FORJ=1TORW:F1=VAL(ML$(J,1)):F2=VAL(ML$(J,2)):F3=VAL(ML$(J,3)) 1930 RW$(J)=RW$(J)+LEFT$(REC$(F1)+B$+REC$(F2)+B$+REC$(F3)+S$,LW)+B$+B$:NEXTJ 1932 IFI>=XTHEN1936 1934 IFL<>LTTHENRETURN 1936 FORJ=1TORW:PRINT#PF,LEFT$(RW$(J),LP(LT)+LW-1):RW$(J)="":NEXTJ 1937 FORS=1TOT%-RW:GOSUB2888:NEXTS:L=0:RETURN 1938 REM-LABEL SIZE 1940 PRINT"[147][158]  LABEL SIZE [146]" 1941 PRINT"[153] CURRENTLY:[158]"RW"[153][157] ROWS,[158]"LW"[153][157] CHRS,[158]"LT"[153][157] ACROSS [158]" 1942 PRINTTAB(3)"S[153][146]TANDARD - 5 ROWS, 34 CHRS, 1 UP" 1944 PRINTTAB(5)"15/16 INCH BY 3 1/2 INCHES" 1946 PRINTTAB(3)"L[153][146]ARGE - 8 ROWS, 34 CHRS, 1 UP" 1948 PRINTTAB(5)"1 7/16 INCH BY 3 1/2 INCHES" 1950 PRINTTAB(3)"C[153][146]HANGE LABEL SIZE AND TYPE" 1953 PRINTTAB(3)"E[153][146]XIT" 1954 PRINT" NOTE: LABELS ARE SEPARATED BY ONE ROW" 1956 PRINTTAB(7)"AND 2 CHARACTERS" 1958 GOSUB1521 1960 GOSUB1522:IFA$="E"THEN1584 1962 IFA$="S"THENT%=6:RW=5:LW=34:GOTO1940 1964 IFA$="L"THENT%=9:RW=8:LW=34:GOTO1940 1966 IFA$="C"THEN1968 1967 GOSUB602:GOTO1960 1968 PRINT"[153] NUMBER OF ROWS ON LABEL[158]?"RW 1969 PRINT"[145]"TAB(24);:INPUTRW:T%=RW+1 1970 PRINT"[153] # OF CHARACTERS PER ROW[158]?"LW 1971 PRINT"[145]"TAB(24);:INPUTLW 1972 PRINT"[153] # LABELS ACROSS PAGE [158]?"LT 1973 PRINT"[145]"TAB(24);:INPUTLT:IFLT<1ORLT>4THENPRINT"[145]":GOTO1973 1974 LP(1)=1:LP(2)=LW+2:LP(3)=2*(LW+2):LP(4)=3*(LW+2) 1975 GOTO1940 1976 REM-PRINTER CMDS 1978 PRINT"[158][147]  PRINTER COMMAND [146]" 1980 PRINT"[153] THIS ROUTINE WILL SEND CHARACTER" 1982 PRINT" STRING [CHR$()] COMMANDS TO AN ASCII" 1984 PRINT" PRINTER. COMMANDS MUST BE ENTERED IN" 1986 PRINT" THE FORM OF INTEGERS SUCH AS:" 1988 PRINT"[158] ? 27[153] (CODE 1)" 1990 PRINT"[158] ? 66[153] (CODE 2)" 1992 PRINT"[158] ? 2[153] (CODE 3)" 1994 PRINT"[158] ? *[153] (END)" 1996 PRINT" THIS WILL BE SENT TO THE PRINTER AS:" 1998 PRINT"[158] PRINT#4,CHR$(27)CHR$(66)CHR$(2)[153]" 2000 PRINT" UP TO FOUR(4) NUMBERS MAY BE SENT," 2002 PRINT" THE FIRST NORMALLY BEING [158]27[146][153], THE" 2004 PRINT" ESCAPE CHARACTER. END THE SEQUENCE" 2006 PRINT" BY PRESSING RETURN[153][146] WHEN THE ASTERISK" 2008 PRINT" IS SHOWING. PRINTERS WILL VARY, SO" 2010 PRINT" CHECK YOUR MANUAL FOR THE CODES." 2012 PRINT" ANY KEY[146][153] TO CONTINUE OR E[153][146]XIT?" 2014 GOSUB1522:IFA$="E"THEN1584 2016 PRINT"[158][147]  SEND PRINTER COMMAND [146]" 2018 PRINT"[153] ENTER CODE, THEN PRESS RETURN[146][153]" 2020 PRINT" RETURN[153][146] ONLY TO QUIT[158]" 2022 FORI=1TO4:PRINT"[153]CODE[158]";I;" ? * [157][157][157][157]";:INPUTI$(I) 2024 IFI$(I)="*"THEN2028 2026 NEXTI 2028 ON(I-1)GOTO2030,2032,2034,2036:GOTO2039 2030 PRINT#4,CHR$(VAL(I$(1))):GOTO2038 2032 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2))):GOTO2038 2034 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3))):GOTO2038 2036 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3)))CHR$(VAL(I$(4))) 2038 GOSUB2888 2039 PRINTTAB(10)"A[153][146]NOTHER CODE" 2040 PRINTTAB(10)"T[153][146]EST CHANGE" 2042 PRINTTAB(10)"E[153][146]XIT TO START" 2044 GOSUB1521 2046 GOSUB1522:IFA$="A"THEN2016 2048 IFA$="T"THENPRINT#4,"ABCDEFGHIJKLMNOPQRSTUVWXYZ":GOSUB2888:GOTO2046 2050 IFA$="E"THENRETURN 2052 GOSUB602:GOTO2046 2854 REM-SETUP 2856 PRINT"[158][147]  PRINTER OR INTERFACE CONFIGURE " 2857 IFP<>0THENPRINT"[153] CURRENT OPTION IS:[158]"P 2858 PRINT" [153]PRESS 1[153][146] CARDCO A, 1525" 2860 PRINTTAB(7)"2[153][146] PRINTERS W/ GRAPHIC INTERFACE" 2862 PRINTTAB(7)"3[153][146] 1526, MPS801/802/803" 2863 PRINTTAB(7)"4[153][146] PRINT TO SCREEN" 2864 IFP<>0THENPRINT" OR S[153][146]END PRINTER COMMANDS" 2866 IFP<>0THENPRINTTAB(7)"E[153][146]XIT TO CONTINUE" 2868 GOSUB1521 2870 GOSUB1522 2872 IFA$="E"THENRETURN 2874 IFA$="S"THENGOTO1978 2876 P=VAL(A$):PF=4 2878 IFP=1THENB1$=CHR$(10):GOTO2856 2880 IFP=2THENB1$=CHR$(0):GOTO2856 2882 IFP=3THENB1$=CHR$(0):GOTO2856 2883 IFP=4THENB1$=CHR$(0):PF=3:GOTO2856 2884 GOSUB602:GOTO2870 2886 REM-TERMINATOR 2888 ONPGOTO2890,2892,2894,2892 2890 PRINT#PF,B1$;:RETURN 2892 PRINT#PF,B1$:RETURN 2894 PRINT#PF:RETURN 2896 REM-JUMP TO 2898 INPUT"[147][153] START AT RECORD[158]? 1[157][157][157]";S:IFS>X OR S<1THEN2898 2900 IFS=1THENRETURN 2902 FORI=1TOS-1:PRINT"[145] BYPASSING RECORD #"STR$(I)" OF"STR$(X) 2904 FORN=1TOF:INPUT#5,REC$(N):NEXTN:GOSUB1618:IFET=8THEN1528 2906 NEXTI:RETURN 2908 REM-REPORT 2910 PRINT"[153][147]REPORT SIZE[146] UP TO 136 CHARACTER WIDE." 2912 PRINT"MODIFY PRINTER FOR WIDTHS > 80 CHRS." 2918 PRINT"NUMBER OF CHARACTERS[158]?":PRINT"? [157][157][157]";PW:INPUT"[145]";PW 2920 IFPW>136THEN2918 2922 PRINT"[147][153]TITLE FORMAT[146] UP TO 4 TITLE LINES OF" 2924 PRINT"INFORMATION AT THE TOP OF THE FORM." 2926 PRINT"NUMBER OF LINES[158]?":PRINT"? [157][157][157]";NL:INPUT"[145]";NL:IFNL>4THEN2926 2927 IFNL=0THENTT$(1)=">":GOTO2936 2928 FORJ=1TONL:PRINT"[153]TITLE #";J:PRINT"[158]? > [157][157][157]";TT$(J) 2930 IFLEN(TT$(J))>37THENPRINT"[145]"; 2932 INPUT"[145]";TT$(J):IFTT$(J)=""THENTT$(J)=">" 2933 TT$(J)=LEFT$(TT$(J),PW) 2934 NEXTJ 2936 PRINT"[147][153]COLUMN FORMAT[146] UP TO 16 COLUMNS WITH 2" 2937 PRINT"SPACES BETWEEN COLUMNS" 2938 PRINT"NUMBER OF COLUMNS[158]?":PRINT"? [157][157][157]";NC:INPUT"[145]";NC:IFNC>16THEN2938 2940 FORJ=1TONC:PRINT"[153]POSITION OF COLUMN #";J:PRINT"[158]? [157][157][157]";PC(J) 2942 INPUT"[145]";PC(J):NEXTJ 2944 PRINT"[147][153]HEADING FORMAT[146] COLUMN HEADINGS CANNOT" 2946 PRINT"EXCEED WIDTH OF COLUMNS:" 2948 FORJ=1TONC:PRINT"[153]COLUMN[158]";J;"[153] HEADING[158]"; 2950 IFJ=NCTHENPRINTPW-PC(J);:GOTO2954 2952 PRINTPC(J+1)-2-PC(J); 2954 PRINT"[153] CHARACTERS WIDE" 2956 PRINT"[158]? > [157][157][157]";HC$(J):INPUT"[145]";HC$(J):IFHC$(J)=""THENHC$(J)=">" 2958 NEXTJ 2960 PRINT"[147][153]CHOOSE WHICH FIELDS GO UNDER THE COLUMNS" 2962 PRINT"[145]ENTER 0[153][146] IF ADDITIONAL FIELDS ARE":PRINT"NOT DESIRED." 2964 FORN=1TOF:PRINT"";N;"[146][153] ";F$(N):NEXTN 2966 FORJ=1TONC:PRINT"";TAB(25)"[153]COLUMN[158]";J;"" 2968 FORL=1TO3:PRINTTAB(25)"[145][153]FIELD[158]";L;" 0 [157][157]";RP$(J,L) 2970 PRINTTAB(32);"[145]";:INPUTRP$(J,L):NEXTL:NEXTJ 2972 PRINT"[147][153]DO YOU WISH TO SUM THE DATA IN COLUMN[158]"STR$(NC)"[153]?" 2974 PRINT"THIS COLUMN MUST ONLY BE FORMATTED WITH" 2976 PRINT"ONLY ONE FIELD. ENTER 1[153][146] (YES) OR 0[153][146] (N0)" 2978 PRINT"[158]?";Z:INPUT"[145]";Z 2980 PRINT"[147][153]DO YOU WISH TO REVIEW YOUR FORMAT AND/OR" 2982 PRINT"MAKE CORRECTIONS? PRESS Y[153][146] OR N[158][146]" 2984 GOSUB1522 2986 IFA$="Y"THEN2910 2988 IFA$="N"THEN2994 2990 GOTO2984 2992 REM-SAVE REPORT 2994 FL=2:PRINT"[153] SAVE REPORT FORMAT[146]? Y[153][146] OR N[158][146]" 2996 GOSUB1522 2998 IFA$="N"THEN3118 3000 IFA$="Y"THEN3004 3002 GOTO2996 3004 PRINT"[153]SAVE UNDER WHAT FILE NAME[158]?":IFRF$=D$ORRF$=""THENRF$=NF$ 3006 PRINT" ";RF$:INPUT"[145]";RF$:IFRF$=""THEN3118 3008 OPEN15,8,15:PRINT#15,"S0:RP] "+RF$:GOSUB1618:IFET=8THEN3118 3010 OPEN5,8,5,"0:RP] "+RF$+",S,W":GOSUB1618:IFET=8THEN3118 3012 PRINT#5,PW;CR$;NL;CR$;NC:GOSUB1618:IFET=8THEN3118 3014 FORJ=1TONL:IFTT$(J)=""THENTT$(J)=">" 3016 PRINT#5,TT$(J):GOSUB1618:IFET=8THEN3118 3018 NEXTJ 3020 FORI=1TONC 3022 PRINT#5,PC(I);CR$;HC$(I):GOSUB1618:IFET=8THEN3118 3024 FORN=1TO3 3026 PRINT#5,RP$(I,N):GOSUB1618:IFET=8THEN3118 3028 NEXTN:NEXTI:PRINT#5,STR$(Z);CR$;E$:GOSUB1618:IFET=8THEN3118 3030 CLOSE5:CLOSE15:GOTO3118 3032 REM-LABELS 3034 PRINT"[158][147]  LABEL FORMAT " 3036 PRINT"[153]THIS FORMAT USES 1 TO 4 ACROSS LABELS. 3038 [153]"EACH LABEL CONTAINS UP TOSYS"T%[171]1"PRINT ROWS. 3040 PRINT"EACH ROW CAN CONSIST OF 1 TO 3 FIELDS. 3042 [153]"IF THE LENGTH OF MULTIPLE ITEMS EXCEEDS 3044 PRINT"[157][158]"LW"[153]CHARACTERS, SOME DATA WILL BE CUTOFF" 3046 PRINT"[153]NUMBER OF ROWS[158]?":PRINT"? [157][157][157]";RW:INPUT"[145]";RW 3048 IFRW>T%-1THENPRINT"[145][145][145]":GOTO3046 3050 IFRW=0THEN3118 3052 PRINT"[147][153]CHOOSE WHICH FIELDS GO IN EACH ROW" 3054 PRINT"ENTER 0[153][146] IF ADDITIONAL FIELDS ARE":PRINT"NOT DESIRED." 3056 FORN=1TOF:PRINT"";N;"[153][146] ";F$(N):NEXTN 3058 FOR J=1TORW:PRINT"";TAB(25)"[153]ROW[158]";J;"" 3060 FORL=1TO3:PRINTTAB(25)"[145][153]FIELD[158]";L;" 0 [157][157]";ML$(J,L) 3062 PRINTTAB(32);"[145]";:INPUTML$(J,L) 3064 NEXTL 3066 NEXTJ 3068 PRINT"[147][153]DO YOU WISH TO REVIEW YOUR FORMAT AND/OR" 3070 PRINT"MAKE CORRECTIONS? PRESS Y[146][153] OR N[158][146]" 3072 GOSUB1522 3074 IFA$="Y"THEN3034 3076 IFA$="N"THEN3082 3078 GOTO3072 3080 REM-SAVE LABEL 3082 FL=3:PRINT"[153]SAVE LABEL FORMAT[146]? Y[153][146] OR N[158][146]" 3084 GOSUB1522 3086 IFA$="N"THEN3118 3088 IFA$="Y"THEN3092 3090 GOTO3084 3092 PRINT"[153]SAVE UNDER WHAT FILE NAME[158]?":IFMF$=D$ORMF$=""THENMF$=NF$ 3094 PRINT" ";MF$:INPUT"[145]";MF$:IFMF$=""THEN3118 3096 OPEN15,8,15:PRINT#15,"S0:ML] "+MF$:GOSUB1618:IFET=8THEN3118 3098 OPEN5,8,5,"0:ML] "+MF$+",S,W":GOSUB1618:IFET=8THEN3118 3100 PRINT#5,RW 3102 FORI=1TORW:FORN=1TO3 3104 PRINT#5,ML$(I,N):GOSUB1618:IFET=8THEN3118 3106 NEXTN:NEXTI 3110 PRINT#5,"EOF":GOSUB1618:IFET=8THEN3118 3112 CLOSE5:CLOSE15 3116 REM-PRINT OPTIONS 3118 PRINT"[158][147]  PRINT OPTIONS MENU " 3119 PRINT"[153] CURRENT RECORD FILE: [158]"NF$ 3120 PRINT"[153] CURRENT FORMAT FILE: [158]";:IFK=2THENPRINTRF$;:GOTO3122 3121 IFK=3THENPRINTMF$; 3122 PRINT:PRINTTAB(7)"L[153][146]OAD OLD FORMAT" 3123 PRINTTAB(7)"C[153][146]REATE/CHANGE FORMAT" 3124 PRINTTAB(7)"S[153][146]AVE CURRENT FORMAT" 3125 PRINTTAB(7)"P[153][146]RINT RECORDS" 3126 PRINTTAB(7)"$[153][146] DISK DIRECTORY 4[153][146]" 3128 PRINTTAB(7)"E[153][146]XIT" 3130 GOSUB1521 3132 GOSUB1522 3134 IFA$="L"THENONKGOTO3132,1668,1704 3136 IFA$="S"THENONKGOTO3132,3004,3092 3138 IFA$="C"THENONKGOTO3132,2910,3034 3140 IFA$="4"ORA$="$"THENGOSUB1628:GOTO3118 3141 IFA$="P"THEN1730 3142 IFA$="E"THEN1584 3144 GOSUB602:GOTO3132 3146 REM-RIGHT JUSTIFY 3148 D=2:CLM$=STR$(INT(VAL(CLM$)*10^2+.5)) 3150 IFLEFT$(CLM$,1)=" "THENCLM$=MID$(CLM$,D) 3152 IFD>LEN(CLM$)THENCLM$=RIGHT$("00000000"+CLM$,D) 3154 IFDTHENCLM$=LEFT$(CLM$,LEN(CLM$)-D)+"."+RIGHT$(CLM$,D) 3156 IFLEN(CLM$)CWTHENCLM$=LEFT$(CLM$,CW) 3160 PRINT#PF,CLM$;:RETURN