ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

173 lines
3.7 KiB

  1. 1 rem This is the Payroll Check Printer
  2. %INCLUDE ALL.BAS
  3. 500 dim TC%(28),n(2,20),k$(3,20),h(9),s(9),t(4,9)
  4. print clear$:print
  5. z5$="ep":z6$="tm":z7$="epsize"
  6. fmt6$=" "
  7. fmt6$=fmt6$+" /...5../"
  8. fmt9$=" #### #### ##.## ####.## ####.## - - ####.##"
  9. fmt9$=fmt9$+" ####.## ####.##"
  10. fmt12$=" SDI MISC"
  11. fmt13$=" "
  12. fmt13$=fmt13$+" ########"
  13. fmt16$=" ####.## ####.## ####.## ####.## ####.## "
  14. fmt16$=fmt16$+" ####.##"
  15. fmt19$=" /...5...10...15...20.../"
  16. fmt20$=" /...5...10/ "
  17. fmt20$=fmt20$+" ####.##"
  18. fmt32$=" "
  19. fmt32$=fmt32$+"/...5../ ######## $$#####.##"
  20. fmt33$=" /...5...10...15...20.../"
  21. fmt34$=" /...5...10...15...20.../"
  22. fmt35$=" /...5...10...15./, // /.../"
  23. RESTORE
  24. 1075 N(1,3)=24:N(1,4)=24:N(1,5)=24:N(1,6)=17:N(1,7)=2:N(1,8)=5
  25. 1080 N(1,9)=14:N(1,10)=11:N(1,11)=8:N(1,12)=8:N(1,13)=1:N(1,14)=1:N(1,15)=1
  26. N$=""
  27. 8000 PRINT clear$:PRINT
  28. 8050 PRINT "THIS IS THE PAYROLL CHECK PRINTING PROGRAM."
  29. 8060 PRINT
  30. 8070 PRINT "SET PRINTER TO TOP OF FORM ****"
  31. 8080 PRINT
  32. 8100 print "Would you like a ***VOID*** check printed to"
  33. print "establish print positions ? (Y/N)"
  34. input line temp$
  35. if ucase$(left$(temp$,1))="Y" then GOSUB 10000
  36. if ucase$(left$(temp$,1))<>"N" then 8000
  37. open z7$ as 1
  38. read #1;z2,z3
  39. close 1
  40. 8240 Z2=z2-1
  41. 8270 PRINT clear$:PRINT
  42. 8290 PRINT "CHECKS TO BE PRINTED = ",Z2
  43. 8300 PRINT
  44. 8310 INPUT "TO PRINT CHECKS, DO CARRIAGE RETURN. ";line temp$
  45. open z5$ recl 512 as 1
  46. open z6$ recl 128 as 2
  47. 8325 lprinter
  48. 8330 FOR Z5=1 TO Z2
  49. 8340 read #1,z5;N(2,1),N(2,2),N$,N,R,H1,H2,H3, E0,E1,E2,F1,F2,F3,E3,E4,E5,E6,E7,E8,S1,S2,S3,M1,M2,M3
  50. read #2,z5;temp1,temp2,o$,temp3,tips,temp4,temp5, ot,dt,st,ht,vt
  51. 8390 P4=E0-S1-M1-E3-E6-F1
  52. 8395 Z9=1:FOR Z=3 TO 15:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
  53. temp5=temp5+st+ht+vt
  54. if ucase$(k$(3,14))="S" then ot=0:dt=0
  55. if ucase$(k$(3,14))="S" and ucase$(k$(3,15))="W" then temp5=40
  56. if ucase$(k$(3,14))="S" and ucase$(k$(3,15))="B" then temp5=80
  57. if ucase$(k$(3,14))="S" and ucase$(k$(3,15))="S" then temp5=86.66667
  58. if ucase$(k$(3,14))="S" and ucase$(k$(3,15))="M" then temp5=173.33333
  59. if E0=0 then 8720 rem skip checks with zero gross pay
  60. 8400 REM *** AND PRINT THE CHECK ***
  61. for z=1 to 5:print:next z
  62. print using fmt6$;d$(2)
  63. print:print
  64. print using fmt9$;temp5,ot+dt,r,temp5*r,(ot*r*1.5)+(dt*r*2), tips,e0-tips,e0
  65. print:print
  66. print fmt12$
  67. print using fmt13$;temp1
  68. print:print
  69. print using fmt16$;f1,e3,e6,s1,m1,s1+f1+e3+e6+m1
  70. print:print
  71. print using fmt19$;o$
  72. print using fmt20$;k$(3,10),p4
  73. for z=1 to 11:print:next z
  74. print using fmt32$;d$(1),temp1,p4
  75. print using fmt33$;k$(3,3)
  76. print using fmt34$;k$(3,5)
  77. print using fmt35$;k$(3,6),k$(3,7),k$(3,8)
  78. for z=1 to 7:print:next z
  79. 8720 NEXT Z5
  80. 8730 close 1:close 2
  81. 8740 console
  82. 8750 CHAIN "master5"
  83. 10000 REM *** AND PRINT A ***VOID*** CHECK ***
  84. lprinter
  85. k$(3,3)="*** VOID ***"
  86. for z=1 to 5:print:next z
  87. print using fmt6$;d$(2)
  88. print:print
  89. print using fmt9$;temp5,ot+dt,r,temp5*r,(ot*r*1.5)+(dt*r*2), tips,e0-tips,e0
  90. print:print
  91. print fmt12$
  92. print using fmt13$;temp1
  93. print:print
  94. print using fmt16$;f1,e3,e6,s1,m1,s1+f1+e3+e6+m1
  95. print:print
  96. print using fmt19$;o$
  97. print using fmt20$;k$(3,10),p4
  98. for z=1 to 11:print:next z
  99. print using fmt32$;d$(1),temp1,p4
  100. print using fmt33$;k$(3,3)
  101. print using fmt34$;k$(3,5)
  102. print using fmt35$;k$(3,6),k$(3,7),k$(3,8)
  103. for z=1 to 7:print:next z
  104. console
  105. RETURN