home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG090.ARK / GDCHECKS.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  4KB  |  144 lines

  1.      rem This is the General Check Printer
  2.  
  3.  
  4. %INCLUDE ALL.BAS
  5.  
  6. fmt2$="    /...5../       /...5....0....5....0.../"
  7. fmt3$="                                          "
  8. fmt4$=fmt3$+"                  /...5....0....5....0./"
  9. fmt6$=fmt3$+"                        ##########          ###,###.##-"
  10. fmt15$="         ##########"+fmt3$
  11. fmt15$=fmt15$+"                      $$###,###.##"
  12. fmt30$="         /...5....0....5....0.../                  /...5../"
  13. fmt30$=fmt30$+"  ##########       $$######.##"
  14.  
  15.  
  16.      dim TC%(28),n(2,20),k$(3,20),h(9),s(9),t(4,9)
  17.      print clear$:print
  18.     uline$="":for h%=1 to 22:uline$=uline$+"-":next h%
  19.     z5$="b:glcd":z7$="b:glcdsize"
  20.  
  21.      RESTORE
  22. 1075 N(1,3)=8:N(1,4)=24:N(1,5)=24:N(1,6)=1
  23.  
  24.     N$=""
  25.  
  26. 8000 PRINT clear$:PRINT
  27. 8050 PRINT "THIS IS THE GENERAL CHECK PRINTING PROGRAM."
  28. 8060 PRINT:PRINT:PRINT:PRINT
  29.     print"Before you begin--set the FORM LENGTH SELECTION"
  30.     print"DIAL on the printer to the 7 inch form length"
  31.     print"position ***"
  32.     print
  33.     print"Now set the checks to the top-of-form position"
  34.     print"for your printer/check combination."
  35.     print
  36.     print"Be sure that you have posted the CHECK DISBURSEMENTS"
  37.     print"FILE--the checks will NOT be printed if this has not"
  38.     print"been done first ***"
  39.     print
  40.     input "Type <cr> to continue";line temp$
  41. 8080 PRINT clear$:print
  42. 8100 print "Would you like a ***VOID*** check printed to"
  43.     print "establish print positions ? (Y/N)"
  44.  
  45.     input line temp$
  46.  
  47.     if ucase$(left$(temp$,1))="Y" then 10000
  48.     if ucase$(left$(temp$,1))<>"N" then 8000
  49.  
  50.  
  51.     open z7$ as 1
  52.         read #1;z2,z3
  53.         close 1
  54.  
  55. 8240 Z2=z2-1
  56. 8270 PRINT clear$:PRINT
  57. 8300 PRINT
  58. 8310 INPUT "TO PRINT CHECKS, DO CARRIAGE RETURN. ";line temp$
  59.  
  60.     open z5$ recl 250 as 1
  61.  
  62. 8325 lprinter
  63. 8330 FOR Z5=1 TO Z2
  64. 8340 read #1,z5;N(2,1),N(2,2),N$,N(2,7),N(2,8),N(2,9),\
  65.     N(2,10),N(2,11),N(2,12),N(2,13),N(2,14),N(2,15),N(2,16),\
  66.     N(2,17),N(2,18),N(2,19),FLAG$
  67.  
  68. 8395 Z9=1:FOR Z=3 TO 6:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
  69.  
  70.     if FLAG$<>"P" then 12000 rem file not posted
  71.     if K$(3,6)="N" then 8720   rem skip checks
  72.     if N(2,7)=0 then 8720 rem skip checks with zero amount
  73.  
  74. 8400 REM *** AND PRINT THE CHECK ***
  75. 8410 PRINT
  76.     print using fmt2$;k$(3,3),k$(3,5)
  77.     print
  78.     print using fmt4$;"Account Control Number"
  79.     print using fmt4$;uline$
  80. 8450    for i%=8 to 18 step 2
  81.     if N(2,i%)=0 then print:goto 8470
  82.     print using fmt6$;N(2,i%),N(2,i%+1)
  83. 8470 next i%
  84.     print:print:print
  85.     print using fmt15$;N(2,2),ABS(N(2,7))
  86. 8480 for j%=1 to 14:print:next j%
  87.     print using fmt30$;k$(3,4),d$(1),N(2,2),ABS(N(2,7))
  88.     print chr$(12)
  89.  
  90.  
  91.     K$(3,6)="N"
  92.     N$=""
  93.     FOR Z=3 TO 6:N$=N$+K$(3,Z):NEXT Z
  94.  
  95. 8600 print #1,z5;N(2,1),N(2,2),N$,N(2,7),N(2,8),N(2,9),\
  96.     N(2,10),N(2,11),N(2,12),N(2,13),N(2,14),N(2,15),N(2,16),\
  97.     N(2,17),N(2,18),N(2,19),FLAG$
  98.  
  99. 8720 NEXT Z5
  100. 8730 close 1
  101. 8740 console
  102. 8745 print clear$:print
  103.     print "All checks have been printed"
  104.     print:print
  105.     print "It is a good idea to review the check"
  106.     print "numbers in the CHECK DISBURSEMENTS FILE,"
  107.     print "especially if you have printed any ***VOID***"
  108.     print "checks that you did not anticipate"
  109.     print
  110.     input "Type <cr> to continue";line temp$
  111. 8747 print clear$:print
  112.     print "*** Return the printer FORM LENGTH CONTROL "
  113.     print "to its normal setting (11 inches) ***"
  114.     print
  115.     input "Type <cr> to continue ";line temp$
  116. 8750 CHAIN "MASTER11"
  117.  
  118.  
  119. 10000 REM *** AND PRINT A ***VOID*** CHECK ***
  120.  
  121.     lprinter
  122.  
  123.     k$(3,5)="*** VOID ***"
  124. 10010 print
  125.     print using fmt2$;D$(1),k$(3,5)
  126.  
  127. 10020 for i%=1 to 12:print:next i%
  128.  
  129.     print using fmt15$;N(2,2),N(2,7)
  130. 10030 for j%=1 to 14:print:next j%
  131.     print using fmt30$;k$(3,5),d$(1),N(2,2),N(2,7)
  132.     print chr$(12)
  133.  
  134.     console
  135.     goto 8100
  136.  
  137. 12000 print clear$:print
  138.     print "The CHECK DISBURSEMENTS have not been posted!!"
  139.     print "You must do so before the checks can be printed!!"
  140.     print 
  141.     input "Type <cr> to continue ";line temp$
  142. 12040 console
  143. 12050 goto 8747
  144.