home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / UTIL.CITY.SHK / UTILITY.CITY / MULTI-CAT.bas < prev    next >
BASIC Source File  |  2000-01-01  |  7KB  |  97 lines

  1. 20  REM  <CTRL-M><CTRL-M>============================<CTRL-M>MULTI-CAT<CTRL-M>MULTI-COLUMN CATALOG PRINTER<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BY BERT KERSEY<CTRL-M>BEAGLE BROS<CTRL-M>============================<CTRL-J><CTRL-J>
  2. 30  PRINT  CHR$(4)"PR#0": ONERR  GOTO 40
  3. 35 SLOT = 1: REM (PRINTER.SLOT)
  4. 36 BB = 0: REM LET.BB=1.IF.MULTI-CAT.FAILS.TO.WORK.(SEE.LINE.333)
  5. 37 CR$ =  CHR$(13): REM (LET.CR$=CHR$(13)+CHR$(10).IF.YOUR.PRINTER.REQUIRES.LINE.FEEDS.INSERTED.IN.LINE.1320.)
  6. 38 SS = 0:PW = 80:COL = 3:FI$ = "N":SD = 1:LL = 17:Q$ =  CHR$(34):G$ =  CHR$(7):BS$ =  CHR$(8) + CHR$(8): REM DEFAULT.VALUES
  7. 40  PRINT : PRINT  CHR$(4);"PR#0":PRT = 1:LF = 30: GOSUB 5000: GOSUB 5010: GOSUB 5020: GOSUB 5050: IF   NOT FLAG  THEN 6000
  8. 42  PRINT "<RETURN> = CATALOG ANOTHER DISK"
  9. 43  PRINT "     <Q> = QUIT": PRINT : PRINT "         <-SELECT";
  10. 47  HTAB 6: INPUT " ";A$: IF  LEN(A$)  THEN A$ =  LEFT$(A$,1)
  11. 49  IF A$ = "Q"  THEN  VTAB  PEEK(37): PRINT "  TYPE ";Q$;"RUN";Q$;" TO CATALOG AGAIN.";: VTAB  PEEK(37): END 
  12. 50  IF A$ = ""  THEN 6000
  13. 70  VTAB  PEEK(37) -3: GOTO 42
  14. 99  REM <CTRL-J><CTRL-J>FIND NUMBER OF FILES<CTRL-J>
  15. 100 PRT = 0: GOSUB 5010: GOSUB 5020: GOSUB 5050:LF = 1: GOSUB 5000
  16. 110  HOME : PRINT : PRINT  CHR$(4);"CATALOG"
  17. 120 PRT = 1: GOSUB 5010: GOSUB 5020: GOSUB 5050:LF = 30: GOSUB 5000
  18. 190 NF = 0: FOR I = 1408 TO 1664  STEP 128
  19. 200  FOR LOC = I TO I +39: IF  PEEK(LOC) < >160  THEN NF = NF +1: NEXT LOC
  20. 205  NEXT I: HOME : PRINT NF;" FILES"
  21. 300  REM <CTRL-J><CTRL-J>SET-UP<CTRL-J>
  22. 320 PRT = 0:LF = LL: GOSUB 5000: GOSUB 5010: GOSUB 5020: IF FI$ = "Y"  THEN PRT = 1
  23. 322  GOSUB 5050: PRINT 
  24. 330  POKE 44578,96: REM RTS.AFTER.FILE.NAME
  25. 333  PRINT : PRINT  CHR$(4);"PR#";SS: PRINT : PRINT : PRINT : PRINT  CHR$(9);PW;"N": IF BB = 0  THEN  PRINT  CHR$(9);"I"
  26. 1300  REM <CTRL-J><CTRL-J>PRINT CATALOG<CTRL-J>
  27. 1305  IF  LEN(T$) >0  THEN  PRINT T$" ";
  28. 1306  PRINT "("NF" FILES)": FOR I = 1 TO PW: PRINT "-";: NEXT : PRINT 
  29. 1310 FILE = 0: PRINT  CHR$(4);"CATALOG"
  30. 1320 FILE = FILE +1: IF FILE - INT(FILE/COL) *COL = 0  THEN  FOR I = 1 TO SD: PRINT CR$;: NEXT : GOTO 1360: REM  (SEE.LINE.37.)
  31. 1340  PRINT "  ";
  32. 1360  IF FILE <NF  THEN  CALL 44581: GOTO 1320
  33. 1990  PRINT : FOR I = 1 TO PW: PRINT "-";: NEXT : PRINT : IF SS  THEN  PRINT : PRINT : PRINT : PRINT 
  34. 2000  GOTO 40
  35. 5000  POKE 44567,LF -1: RETURN : REM LENGTH.OF.FILENAME
  36. 5010 LOC = 44578: GOSUB 5110:LOC = 44456: GOSUB 5110:LOC = 44459: GOSUB 5110: RETURN : REM CR'S
  37. 5020 LOC = 44596: POKE LOC,234: POKE LOC +1,234: POKE LOC +2,234: IF PRT  THEN  POKE LOC,206: POKE LOC +1,157: POKE LOC +2,179: REM CAT.STOP
  38. 5030  RETURN 
  39. 5040  REM <CTRL-J><CTRL-J>FILE CODES<CTRL-J>
  40. 5050 LOC = 44517: GOSUB 5110: REM LOCK.CODE
  41. 5060 LOC = 44537: GOSUB 5110: REM FILE.CODE
  42. 5070 LOC = 44542: GOSUB 5110: REM SPACE.AFTER.FILE.CODE
  43. 5080 LOC = 44555: GOSUB 5110: REM SECTOR.NUMBERS
  44. 5090 LOC = 44560: GOSUB 5110: RETURN : REM SPACE.BEFORE.FILE.NAME
  45. 5100  REM <CTRL-J><CTRL-J>PRINT/NO PRINT<CTRL-J>
  46. 5110  IF   NOT PRT  THEN  POKE LOC,234: POKE LOC +1,234: POKE LOC +2,234: RETURN : REM  CANCEL.PRINT
  47. 5120  IF LOC = 44555  THEN  POKE LOC,32: POKE LOC +1,66: POKE LOC +2,174: RETURN : REM INSTALL.PRINT.SECTOR.#'S
  48. 5125  IF LOC = 44578  OR LOC = 44456  OR LOC = 44459  THEN  POKE LOC,32: POKE LOC +1,47: POKE LOC +2,174: RETURN : REM  INSTALL.PRINT.CR'S
  49. 5130  POKE LOC,32: POKE LOC +1,237: POKE LOC +2,253: RETURN : REM INSTALL.PRINT.CHARACTERS
  50. 5999  REM <CTRL-J><CTRL-J>INPUT<CTRL-J>
  51. 6000  TEXT : PRINT  CHR$(21): HOME : SPEED= 234:EDIT = 0
  52. 6020  VTAB 1: HTAB 1: PRINT "MULTI-COLUMN CATALOG PRINTER ": PRINT "----------------------------------------";: PRINT "COPYRIGHT (C), 1981, BEAGLE BROS": PRINT : PRINT 
  53. 6030  GOSUB 6290: GOSUB 6310: SPEED= 255
  54. 6040 TEMP$ = T$: VTAB 6: HTAB 1: INPUT "ENTER DISK TITLE:  ";T$: IF T$ = ""  THEN T$ = TEMP$
  55. 6045  IF T$ = "Q"  THEN T$ = "QUIT"
  56. 6052  IF T$ = "QUIT"  THEN  VTAB 23: END 
  57. 6053  GOSUB 6310: IF FLAG  AND   NOT EDIT  THEN 6210
  58. 6054 FLAG = 1:TEMP$ = SS$: VTAB 8: HTAB 19: INPUT " ";A$: IF  LEFT$(A$,1) = "Y"  OR  LEFT$(A$,1) = "N"  THEN SS$ = A$
  59. 6055  IF A$ = ""  THEN SS$ = TEMP$
  60. 6056 SS = 0: IF  LEFT$(SS$,1) = "Y"  THEN SS = SLOT
  61. 6058  GOSUB 6310
  62. 6060  VTAB 9: HTAB 19: INPUT " ";A$: IF  VAL(A$) <641  AND  VAL(A$) >0  THEN PW =  VAL(A$)
  63. 6080  GOSUB 6309
  64. 6090  VTAB 10: HTAB 19: INPUT " ";A$: IF  VAL(A$) >0  AND  VAL(A$) <100  THEN COL =  VAL(A$)
  65. 6110  GOSUB 6309
  66. 6120  VTAB 11: HTAB 19: INPUT " ";A$: IF  LEN(A$)  THEN A$ =  LEFT$(A$,1): IF A$ = "Y"  OR A$ = "N"  THEN FI$ = A$
  67. 6140 LL =  INT(PW/COL):LL = LL -9 +7 *(FI$ = "N"): IF LL <1  THEN  PRINT G$;G$: GOSUB 6310: GOTO 6060: REM LL=LENGTH.OF.FILE+CODES
  68. 6150  IF LL >30  THEN LL = 30
  69. 6160  GOSUB 6310
  70. 6170  VTAB 12: HTAB 19: INPUT " ";A$: IF  VAL(A$) >0  AND  VAL(A$) <10  THEN SD =  VAL(A$)
  71. 6190  GOSUB 6309
  72. 6200  GOSUB 6290
  73. 6210  VTAB 17: HTAB 1: CALL  -958: INVERSE : PRINT " INSERT DISK AND SELECT: ": NORMAL 
  74. 6220  PRINT : GOSUB 6300: PRINT "<RETURN> = PRINT CATALOG.": GOSUB 6300: PRINT "     <C> = CHANGE PARAMETERS.": GOSUB 6300: PRINT "     <Q> = QUIT.": GOSUB 6300: PRINT : GOSUB 6300: GOSUB 6290: GOSUB 6300: PRINT "         <-SELECT";: HTAB 6: INPUT " ";A$
  75. 6230  IF  LEN(A$)  THEN A$ =  LEFT$(A$,1)
  76. 6240  IF A$ < >""  AND A$ < >"Q"  AND A$ < >"C"  THEN 6210
  77. 6260  CALL  -958: IF A$ = "Q"  THEN 49
  78. 6270  IF A$ = "C"  THEN EDIT = 1: GOTO 6020
  79. 6280  GOTO 100
  80. 6290  FOR I = 1 TO 333: NEXT : RETURN 
  81. 6300  FOR I = 1 TO 5:S =  PEEK( -16336): NEXT : RETURN 
  82. 6309  IF  LEN(A$)  AND  VAL(A$) = 0  THEN  PRINT G$;
  83. 6310  VTAB 6: HTAB 1: PRINT "DISK TITLE:        ";T$;: IF T$ = ""  AND FLAG  THEN  PRINT "(NONE)";
  84. 6315  CALL  -868
  85. 6320  VTAB 7: HTAB 1: PRINT "----------------------------------------";
  86. 6322 SS$ = "YES": IF SS = 0  THEN SS$ = "NO"
  87. 6325  VTAB 8: HTAB 1: PRINT "PRINTER ON?        ";SS$;: CALL  -868
  88. 6330  VTAB 9: HTAB 1: PRINT "PRINTER WIDTH:     ";PW;: CALL  -868
  89. 6340  VTAB 10: HTAB 1: PRINT "CATALOG COLUMNS:   ";COL;: CALL  -868
  90. 6350 X$ = "YES": IF FI$ = "N"  THEN X$ = "NO"
  91. 6360  VTAB 11: HTAB 1: PRINT "PRINT FILE CODES?  ";X$;: CALL  -868
  92. 6370  VTAB 12: HTAB 1: PRINT "VERTICAL SPACING:  ";SD;: CALL  -868
  93. 6375 LL =  INT(PW/COL):LL = LL -9 +7 *(FI$ = "N"): IF LL >30  THEN LL = 30
  94. 6380  VTAB 15: HTAB 1: PRINT "----------------------------------------": IF EDIT  THEN  PRINT "<RETURN> DEFAULTS TO PRINTED VALUES.";: CALL  -958
  95. 6390  VTAB 14: HTAB 1: PRINT "(FILE NAME LENGTH: ";: CALL  -868: GOSUB 6300: IF LL <4  THEN  FLASH 
  96. 6400  PRINT LL;: NORMAL : PRINT ")": RETURN 
  97. 65535  REM <CTRL-M><CTRL-M>============================<CTRL-M>MULTI-COLUMN CATALOG PRINTER<CTRL-M>COPYRIGHT (C) 1982<CTRL-M>BY BERT KERSEY<CTRL-M>BEAGLE BROS<CTRL-M>============================