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 / CPMUG089.ARK / VPLABELS.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  2KB  |  90 lines

  1.      rem This is the mailing label printing program.
  2.  
  3. %INCLUDE ALL.BAS
  4.      RESTORE
  5. 1000 DIM K$(14),N(2,14)
  6. 1020 DIM A$(5),B$(5),C$(5),D$(5),E$(5),F$(5)
  7.       for z=3 to 8:read n(0,z):next z
  8.      data 24,24,24,17,2,5
  9.      print clear$:print
  10. 1050 PRINT
  11. 1060 PRINT "THIS IS THE MAILING LABEL PRINTING ROUTINE."
  12. 1070 PRINT 
  13. 1080 PRINT "IF YOU ARE NOT FAMILIAR WITH ITS OPERATION, PLEASE"
  14. 1090 PRINT "READ THE INSTRUCTIONS BEFORE PROCEEDING."
  15. 1100 PRINT:PRINT
  16.      z5$="b:vp"
  17. 1110 INPUT"HOW MANY LABELS ACROSS THE PAGE  (1 TO 5)";M
  18. 1120 PRINT:PRINT
  19. 1125 PRINT "INDICATE THE DISTANCE BETWEEN THE LEFT EDGES OF"
  20. 1130 PRINT "ANY TWO LABELS IN DECIMAL INCHES (I.E. 2.6)."
  21. 1135 INPUT K
  22. 1140 K=(K*10)+1
  23. 1142 IF M=1 THEN 1146
  24. 1145 IF K<25 THEN PRINT "*** LABEL TO SHORT ***":GOTO 1125
  25. 1146 IF K>110 THEN PRINT "*** LABEL TO LONG ***":GOTO 1125
  26. 1150 PRINT:PRINT
  27. 1160 PRINT "INDICATE THE NUMBER OF SPACES BETWEEN LABELS (I.E. 2)."
  28. 1165 INPUT L
  29. 2000 IF M<1 OR M>5 THEN 1110
  30.      if end #1 then 1100
  31. 2030 open z5$ recl 384 as 1
  32. 2040 Z3=(size(z5$)*block.size)/150:Z2=0
  33. 2050 FOR Z2=1 TO Z3
  34. 2060 read #1,z2;n(2,1),n(2,2),n$
  35. 2070 IF N(2,2)=0 THEN 2100
  36. 2090 NEXT Z2
  37. 2100 Z2=Z2-1
  38. 2105 close 1
  39. 2110 Z3=Z3-2
  40.      print clear$:print:print
  41. 2150 PRINT "LABELS TO PRINT ";Z2
  42. 2160 PRINT
  43. 3000 NA=INT(Z2/M)+1
  44. 3004 N(0,9)=14:N(0,10)=11:N(0,11)=8:N(0,12)=8:N(0,13)=1
  45. 3010 Z1=0
  46. 3020 open z5$ recl 150 as 1
  47. 3025 lprinter
  48. 3030 FOR J=1 TO NA
  49. 3035 Z5=0
  50. 3040 FOR I=1 TO M
  51.      read #1,z1+1;n(2,1),n(2,2),n$
  52. 3055 Z9=1:FOR Z=3 TO 13:K$(Z)=MID$(N$,Z9,N(0,Z)):Z9=Z9+N(0,Z):NEXT Z
  53. 3060 A$(I)=K$(3)
  54. 3070 B$(I)=K$(4)
  55. 3080 C$(I)=K$(5)
  56. 3090 D$(I)=LEFT$(K$(6),15)
  57. 4000 E$(I)=K$(7)
  58. 4010 F$(I)=K$(8)
  59. 4020 Z1=Z1+1
  60. 4025 Z5=Z5+1
  61. 4027 IF Z1=Z2 THEN 4040
  62. 4030 NEXT I
  63. 4040 FOR I=1 TO Z5-1
  64. 4045 IF Z5=1 THEN print TAB(K);:GOTO 4070
  65. 4050 print A$(I);TAB((I*K)-I+1);
  66. 4060 NEXT I
  67. 4070 print A$(Z5)
  68. 4080 FOR I=1 TO Z5-1
  69. 4085 IF Z5=1 THEN print TAB(K);:GOTO 5010
  70. 4090 print B$(I);TAB((I*K)-I+1);
  71. 5000 NEXT I
  72. 5010 print B$(Z5)
  73. 5020 FOR I=1 TO Z5-1
  74. 5025 IF Z5=1 THEN print TAB(K);:GOTO 5050
  75. 5030 print C$(I);TAB((I*K)-I+1);
  76. 5040 NEXT I
  77. 5050 print C$(Z5)
  78. 5060 FOR I=1 TO Z5-1
  79. 5065 IF Z5=1 THEN print TAB(K);:GOTO 6000
  80. 5070 print D$(I);",";E$(I);" ";
  81. 5080 print F$(I);TAB((I*K)-I+1);
  82. 5090 NEXT I
  83. 6000 print D$(Z5);",";E$(Z5);" ";F$(Z5)
  84. 6010 FOR Z=1 TO L:print:NEXT Z
  85. 6030 NEXT J
  86. 6040 close 1
  87. 6045 console
  88. 6050 PRINT clear$
  89. 6060 chain "master6"
  90.