home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug087.ark / TAENTRY.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-10-20  |  6.1 KB  |  188 lines

  1.      rem This is the General Ledger Tab Entry Program
  2.  
  3. %INCLUDE ALL.BAS
  4.      RESTORE
  5.     DIM T%(20),A(16),D$(8),N(2,2),DATE1$(8)
  6. 500 BIZMII.FLAG=0
  7. 505 z5$="b:glt"
  8. 506 z6$="b:gltback"
  9. 515 repeat$="------------------------------"
  10. 516 fill$="                               "
  11. 520 dim z$(5,5),n(2,20),k$(6,20)
  12. 530 dim t(20)
  13. 540 K$(6,1)="1 - ENTER TABS":K$(6,2)="2 - EXAMINE TABS"
  14. 550 K$(6,3)="3 - MODIFY TABS"
  15. 570 K$(6,4)="4 - CREATE NEW FILE":K$(6,5)="5 - CLEAR EXISTING FILE"
  16. 590 K$(6,6)="6 - FINISHED"
  17.      print clear$:print
  18. 1100 K$(1,1)="PAGE WIDTH":K$(1,2)="TAG TAB"
  19. 1105 K$(1,3)="ACCOUNT NUMBER TAB"
  20. 1110 K$(1,4)="MAJOR HEADING TAB"
  21. 1115 K$(1,5)="SUBHEADING TAB"
  22. 1120 K$(1,6)="PARTIAL TOTAL TAB"
  23. 1125 K$(1,7)="PARTIAL TOTAL DOLLAR TAB"
  24. 1130 K$(1,8)="FINAL TOTAL TAB"
  25. 1135 K$(1,9)="FINAL TOTAL DOLLAR TAB"
  26. 1140 K$(1,10)="DATE TAB"
  27. 1145 K$(1,11)="PAGE NUMBER TAB"
  28. 1150 K$(1,12)="COMPANY NAME TAG #"
  29. 1155 K$(1,13)="LOWEST BALANCE SHEET ACCT #"
  30. 1160 K$(1,14)="HIGHEST BALANCE SHEET ACCT #"
  31. 1165 K$(1,15)="LOW COST OF GOODS ACCT #"
  32. 1170 K$(1,16)="HIGH COST OF GOODS ACCT #"
  33. 1200 K$(2,1)="1 - PAGE WIDTH":K$(2,2)="2 - TAG TAB"
  34. 1205 K$(2,3)="3 - ACCOUNT NUMBER TAB"
  35. 1210 K$(2,4)="4 - MAJOR HEADING TAB"
  36. 1215 K$(2,5)="5 - SUBHEADING TAB"
  37. 1220 K$(2,6)="6 - PARTIAL TOTAL TAB"
  38. 1225 K$(2,7)="7 - PARTIAL TOTAL DOLLAR TAB"
  39. 1230 K$(2,8)="8 - FINAL TOTAL TAB"
  40. 1235 K$(2,9)="9 - FINAL TOTAL DOLLAR TAB"
  41. 1240 K$(2,10)="10- DATE TAB"
  42. 1245 K$(2,11)="11- PAGE NUMBER TAB"
  43. 1250 K$(2,12)="12- COMPANY NAME TAG #"
  44. 1255 K$(2,13)="13- LOWEST BAL SHEET ACCT #"
  45. 1260 K$(2,14)="14- HIGHEST BAL SHEET ACCT #"
  46. 1265 K$(2,15)="15- LOW COST OF GOODS ACCT #"
  47. 1270 K$(2,16)="16- HIGH COST OF GOODS ACCT #"
  48. 1275 K$(2,17)="17- NONE"
  49. 1300 N(1,1)=3:N(1,2)=3:N(1,3)=3:N(1,4)=3:N(1,5)=3:N(1,6)=3
  50. 1305 N(1,7)=3:N(1,8)=3:N(1,9)=3:N(1,10)=3:N(1,11)=3:N(1,12)=4
  51. 1310 N(1,13)=10:N(1,14)=10:N(1,15)=10:N(1,16)=10
  52.      if end #1 then 6000
  53. 1500 open z5$ as 1
  54.      close 1
  55. 1510 Z1=1:Z2=1
  56. 1600 PRINT clear$
  57. 1605 PRINT
  58. 1650 PRINT "THIS IS A LIST OF OPERATIONS."
  59. 1655 PRINT
  60. 1660 FOR Z=1 TO 6:PRINT K$(6,Z):NEXT Z:PRINT
  61. 1665 PRINT "INDICATE WHAT YOU WOULD LIKE TO DO BY TYPING"
  62. 1670 PRINT "THE CORRESPONDING NUMBER."
  63. 1675 PRINT
  64. 1680 INPUT Z
  65.     IF Z<1 OR Z>6 then 1600
  66. 1685 ON Z GOSUB 2000,3000,4000,6000,7000,10000
  67. 1690 FOR Z=1 TO 20:T%(Z)=0:T(Z)=0:NEXT Z:N$=""
  68. 1705 GOTO 1600
  69. 2000 PRINT clear$:PRINT
  70. 2005 PRINT "TABS ARE USED IN ALL GENERAL LEDGER PRINTOUTS. A"
  71. 2010 PRINT "CHECK SHOULD BE MADE BY RUNNING ONE OF THESE TO"
  72. 2015 PRINT "ENSURE THAT TABS ARE CORRECTLY SET."
  73. 2025 PRINT
  74. 2040 FOR Z=1 TO 12
  75.     PRINT CUR$
  76. 2045 PRINT TAB(30);left$(repeat$,n(1,z))
  77.     PRINT UP$;
  78. 2050 PRINT K$(1,Z);TAB(30);
  79. 2055 INPUT T%(Z):PRINT chr$(13)
  80.     PRINT CLEAR$
  81. 2060 NEXT Z
  82. 2065 FOR Z=13 TO 16
  83.     PRINT CUR$
  84. 2070 PRINT TAB(30);left$(repeat$,n(1,z))
  85.     PRINT UP$;
  86. 2075 PRINT K$(1,Z);TAB(30);
  87. 2080 INPUT T(Z):PRINT chr$(13)
  88.     PRINT CLEAR$
  89. 2085 NEXT Z
  90. 2105 PRINT clear$:PRINT
  91. 2110 T$="####"
  92. 2112 U$="##########"
  93. 2115 FOR Z=1 TO 12
  94. 2120 PRINT K$(2,Z);TAB(30);:print using T$;T%(Z)
  95. 2125 NEXT Z
  96. 2130 FOR Z=13 TO 17
  97. 2135 PRINT K$(2,Z);TAB(30);:print using U$;T(Z)
  98. 2140 NEXT Z
  99. 2145 PRINT
  100. 2150 PRINT "IF AN ITEM IS TO BE CHANGED, TYPE THE APPROPRIATE NUMBER."
  101. 2155 PRINT:INPUT Z
  102. 2160 PRINT
  103. 2165 IF Z>16 THEN 2225
  104. 2166 IF Z>12 THEN 2195
  105. 2170 IF Z<1 THEN 2105
  106. 2180 PRINT TAB(30);left$(repeat$,n(1,z))
  107.     PRINT UP$;
  108. 2185 PRINT K$(1,Z);TAB(30);
  109. 2190 INPUT T%(Z)
  110. 2192 GOTO 2225
  111. 2195 PRINT TAB(30);left$(repeat$,n(1,z))
  112.     PRINT UP$;
  113. 2200 PRINT K$(1,Z);TAB(30);
  114. 2205 INPUT T(Z)
  115. 2225 input "ANY MORE CHANGES";line temp$
  116. 2230 if left$(temp$,1)="y" or left$(temp$,1)="Y" then 2105
  117. 2235 PRINT
  118. 2240 input "IS RECORD TO BE ENTERED";line temp$
  119. 2245 PRINT
  120. 2250 if left$(temp$,1)="y" or left$(temp$,1)="Y" then 2280
  121. 2255 if left$(temp$,1)<>"n" and left$(temp$,1)<>"N" then 2235
  122. 2260 PRINT clear$:PRINT
  123. 2270 PRINT "*** RECORD NOT ENTERED ***":PRINT:PRINT
  124. 2275 FOR Z=1 TO 200:NEXT Z:RETURN
  125. 2280 open z5$ as 1
  126.      print #1;T%(1),T%(2),T%(3),T%(4),T%(5),T%(6),T%(7),T%(8),\
  127.      T%(9),T%(10),T%(11),T%(12),t(13),t(14),t(15),t(16)
  128.      close 1
  129. 2300 RETURN
  130. 3000 PRINT clear$:PRINT
  131.      open z5$ as 1
  132.      read #1;T%(1),T%(2),T%(3),T%(4),T%(5),T%(6),T%(7),T%(8),\
  133.      T%(9),T%(10),T%(11),T%(12),t(13),t(14),t(15),t(16)
  134.      close 1
  135. 3030 PRINT
  136.     PRINT "Should this be a 'hard-copy' listing (Y or N)?"
  137.     INPUT LINE LIST$
  138.     IF LIST$="y" OR LIST$="Y" THEN LPRINTER
  139. 3031 T$="####"
  140. 3032 U$="##########"
  141. 3035 FOR Z=1 TO 12
  142. 3040 PRINT K$(1,Z);TAB(30);:print using T$;T%(z)
  143. 3045 NEXT Z
  144. 3050 FOR Z=13 TO 16
  145. 3055 PRINT K$(1,Z);TAB(30);:print using U$;t(z)
  146. 3060 NEXT Z
  147.     PRINT CHR$(13):PRINT CHR$(12)
  148.     CONSOLE
  149. 3070 PRINT
  150. 3080 input "IF FINISHED, TYPE RETURN.";line temp$
  151. 3095 RETURN
  152. 4000 PRINT clear$:PRINT
  153.      open z5$ as 1
  154.      read #1;T%(1),T%(2),T%(3),T%(4),T%(5),T%(6),T%(7),T%(8),\
  155.      T%(9),T%(10),T%(11),T%(12),t(13),t(14),t(15),t(16)
  156.      close 1
  157. 4070 GOTO 2105
  158. 6000 PRINT clear$:PRINT
  159. 6005 PRINT "IF YOU HAVE ARRIVED HERE, AND HAVE A TABS FILE"
  160. 6010 PRINT "ALREADY ON A DISK, YOU SHOULD INSTALL THAT DISK THEN"
  161. 6015 PRINT "TYPE THE letter c FOLLOWED BY A RETURN TO CONTINUE."
  162. 6020 PRINT
  163. 6025 PRINT "IF YOU WISH TO CREATE A NEW FILE, TYPE THE letter n"
  164. 6030 PRINT "FOLLOWED BY RETURN.":PRINT
  165. 6035 input line temp$
  166. 6040 IF left$(temp$,1)="c" or left$(temp$,1)="C" THEN INITIALIZE:GOTO 1600
  167. 6045 PRINT clear$:PRINT
  168. 6050 for z=1 to 20:T%(z)=0:t(z)=0:next z
  169.      create z5$ as 1
  170.      print #1;T%(1),T%(2),T%(3),T%(4),T%(5),T%(6),T%(7),T%(8),\
  171.      T%(9),T%(10),T%(11),T%(12),t(13),t(14),t(15),t(16)
  172.      close 1
  173. 6095 PRINT clear$:PRINT
  174. 6100 PRINT "TABS FILE CREATED AND CLEARED.":PRINT
  175. 6110 input "TO CONTINUE, TYPE RETURN.";line temp$
  176. 6115 GOTO 1600
  177. 7000 INPUT "ARE YOU SURE !!! (YES OR NO)";line temp$
  178. 7007 IF left$(temp$,1)<>"y" and left$(temp$,1)<>"Y" THEN RETURN
  179.      open z5$ as 1
  180.      print #1;T%(1),T%(2),T%(3),T%(4),T%(5),T%(6),T%(7),T%(8),\
  181.      T%(9),T%(10),T%(11),T%(12),t(13),t(14),t(15),t(16)
  182.      close 1
  183. 7035 PRINT clear$:PRINT
  184. 7040 PRINT "TABS FILE CLEARED!":PRINT
  185. 7045 input "TO CONTINUE, TYPE RETURN.";line temp$
  186. 7900 RETURN
  187. 10000 CHAIN "MASTER7"
  188.