home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 576-600 / apd599 / _newprogs / querdruck_star.amos / querdruck_star.amosSourceCode
AMOS Source Code  |  1994-03-12  |  6KB  |  253 lines

  1. Set Buffer 150
  2. Break Off 
  3. Curs Off 
  4. F$=Fsel$("","","")
  5. Set Input 10,-1
  6. If F$="" Then Goto _END2
  7. LF$=Chr$(12)+Chr$(0)
  8. MX=0
  9. Open In 1,F$
  10. While Eof(1)=0
  11.    Line Input #1,A$ : MX=MX+1
  12. Wend 
  13. Close 1
  14. DB=60
  15. SEITEN=MX/77
  16. If MX mod 77>0 Then SEITEN=SEITEN+1
  17. PRODUKTE=SEITEN/4
  18. If SEITEN mod 4>0 Then PRODUKTE=PRODUKTE+1
  19. DZEILEN=PRODUKTE*4*77
  20. Dim ZEILE$(DZEILEN),QUER$(DB)
  21. SZ$=Str$(DZEILEN/77)
  22. BLAETTER=PRODUKTE+2 : BLAETTER$=Str$(BLAETTER)
  23. Locate 10,10 : Centre "Lege bitte"+BLAETTER$+" Bl�tter ein!"
  24. Wait Key 
  25. Locate 10,10 : Centre "       Initialisiere Drucker!       "
  26. Open Out 1,"prt:"
  27. For X=1 To 69
  28.    Print #1,""
  29. Next 
  30. Print #1, Extension_21_0006 
  31. Close 1
  32. Gosub _CHARS
  33. Open In 1,F$
  34. Locate 10,10 : Centre "    Lese Daten ein!   "
  35. For XX=1 To MX
  36.    Z$=""
  37.    Line Input #1,Z$
  38.    Z$= Extension_22_0870(Z$,8)
  39.    If Len(Z$)>DB Then ZEILE$(XX)=Left$(Z$,DB) : Goto SKIP
  40.    EX=DB-Len(Z$)
  41.    For X=1 To EX
  42.       Z$=Z$+" "
  43.    Next 
  44.    ZEILE$(XX)=Z$
  45.    SKIP:
  46. Next 
  47. Close 1
  48. Locate 10,10
  49. If SEITEN>2 Then Centre "Es werden"+SZ$+" Seiten gedruckt"
  50. If SEITEN<3 Then Centre "Es werden"+Str$(SEITEN)+" Seiten gedruckt"
  51. LZ$=""
  52. For X=1 To DB
  53.    LZ$=LZ$+" "
  54. Next 
  55. If DZEILEN>MX Then For X=MX+1 To DZEILEN : ZEILE$(X)=LZ$ : Next 
  56. Open Out 1,"PRT:"
  57. If SEITEN<3 Then Goto PR0
  58. PR1:
  59. S1=PRODUKTE*4 : L1=1
  60. For DI=1 To PRODUKTE
  61.    Gosub _READ_AND_DO
  62.    S1=S1-2 : L1=L1+2
  63. Next 
  64. Gosub _MELDUNG
  65. For DI=1 To PRODUKTE
  66.    Gosub _READ_AND_DO
  67.    S1=S1-2 : L1=L1+2
  68. Next 
  69. Goto _END
  70. PR0:
  71. S1=1 : L1=2
  72. Gosub _READ_AND_DO
  73. Goto _END
  74. _READ_AND_DO:
  75. S=S1
  76. Gosub _DOIT
  77. For X=1 To 11
  78.    Print #1,""
  79. Next 
  80. S=L1
  81. Gosub _DOIT
  82. Print #1,LF$
  83. Return 
  84. _DOIT:
  85. F=((S-1)*77)+1 : L=S*77
  86. Gosub _DREHEN
  87. For X=1 To DB
  88.    Print #1,QUER$(X)
  89. Next 
  90. Return 
  91. _DREHEN:
  92. For X=1 To DB
  93.    QUER$(X)=""
  94.    For NR=L To F Step -1
  95.       QUER$(X)=QUER$(X)+Mid$(ZEILE$(NR),X,1)
  96.    Next 
  97. Next 
  98. If S<10
  99.    QUER$(29)=QUER$(29)+" -"
  100.    QUER$(30)=QUER$(30)+Str$(S)
  101.    QUER$(31)=QUER$(31)+" -"
  102. End If 
  103. If S>9
  104.    QUER$(29)=QUER$(29)+" -"
  105.    QUER$(30)=QUER$(30)+Left$(Str$(S),2)
  106.    QUER$(31)=QUER$(31)+" "+Right$(Str$(S),1)
  107.    QUER$(32)=QUER$(32)+" -"
  108. End If 
  109. Return 
  110. _END:
  111. Close 1
  112. _END2:
  113. Open Out 1,"par:"
  114. Print #1,Chr$(27);"%0";Chr$(0)
  115. Print #1,Chr$(27);"@";Chr$(0)
  116. Close 1
  117. End 
  118. _MELDUNG:
  119. Close 1
  120. Open Out 1,"par:"
  121. Print #1,Chr$(27);"@";Chr$(0)
  122. Close 
  123. Locate 10,10 : Centre "Drehe jetzt bitte die Bl�tter um!" : Wait Key 
  124. Locate 10,10 : Centre "          Drucke weiter!         "
  125. Open Out 1,"prt:"
  126. For X=1 To 69
  127.    Print #1,""
  128. Next 
  129. Print #1, Extension_21_0006 
  130. Close 1
  131. Open Out 1,"par:"
  132. Print #1,Chr$(27);"%1";Chr$(0);
  133. Print #1,Chr$(27);"A";Chr$(6);Chr$(0);
  134. Print #1,Chr$(27);"2";Chr$(0);
  135. Print #1,Chr$(27);Chr$(10);
  136. Print #1,Chr$(27);Chr$(10);
  137. Print #1,Chr$(27);Chr$(10)
  138. Close 1
  139. Open Out 1,"prt:"
  140. Return 
  141. _CHARS:
  142. Open Out 1,"par:"
  143. Print #1,Chr$(27);"&";Chr$(0);Chr$(33);Chr$(126);
  144. Restore UDEF
  145. For C=33 To 126
  146.    For M=0 To 11
  147.       Read A
  148.       Print #1,Chr$(A);
  149.    Next M
  150. Next C
  151. Print #1,Chr$(27);"%1";Chr$(0);
  152. Print #1,Chr$(27);"A";Chr$(6);Chr$(0);
  153. Print #1,Chr$(27);"2";Chr$(0);
  154. Print #1,Chr$(27);Chr$(10);
  155. Print #1,Chr$(27);Chr$(10);
  156. Print #1,Chr$(27);Chr$(10)
  157. Close 1
  158. Return 
  159. UDEF:
  160. Data 139,0,0,24,0,0,0,24,0,24,0,24
  161. Data 139,0,0,0,0,0,0,0,0,102,0,102
  162. Data 139,0,0,36,0,126,0,36,0,126,0,36
  163. Data 139,0,8,0,28,2,28,0,32,28,0,8
  164. Data 139,0,0,38,0,18,0,8,0,36,0,50
  165. Data 139,0,0,26,0,36,0,24,0,36,0,24
  166. Data 139,0,0,0,0,0,0,16,0,8,0,24
  167. Data 139,0,0,4,0,8,0,8,0,8,0,4
  168. Data 139,0,0,32,0,16,0,16,0,16,0,32
  169. Data 139,0,0,42,0,28,0,8,0,28,0,42
  170. Data 139,0,0,8,0,8,0,62,0,8,0,8
  171. Data 139,16,0,8,0,24,0,0,0,0,0,0
  172. Data 139,0,0,0,0,0,0,60,0,0,0,0
  173. Data 139,0,0,24,0,24,0,0,0,0,0,0
  174. Data 139,0,0,32,0,16,0,8,0,4,0,2
  175. Data 139,0,0,24,0,36,0,36,0,36,0,24
  176. Data 139,0,0,28,0,8,0,8,0,24,0,8
  177. Data 139,0,0,62,0,8,0,4,0,34,0,28
  178. Data 139,0,0,28,0,4,8,16,0,8,0,60
  179. Data 139,0,0,4,0,62,0,20,0,12,0,4
  180. Data 139,0,0,56,0,4,0,56,0,32,0,60
  181. Data 139,0,0,24,0,36,0,56,0,32,0,28
  182. Data 139,0,0,16,0,16,0,8,0,4,0,60
  183. Data 139,0,0,24,0,36,0,24,0,36,0,24
  184. Data 139,0,0,56,0,4,0,28,0,36,0,24
  185. Data 139,0,0,0,0,24,0,0,0,24,0,0
  186. Data 139,16,0,8,0,24,0,0,0,24,0,0
  187. Data 139,0,0,8,0,16,0,32,0,16,0,8
  188. Data 139,0,0,0,0,60,0,0,0,60,0,0
  189. Data 139,0,0,16,0,8,0,4,0,8,0,16
  190. Data 139,16,0,0,0,16,0,8,0,36,0,24
  191. Data 139,0,0,30,0,32,0,46,0,42,0,28
  192. Data 139,0,0,36,0,36,0,60,0,36,0,24
  193. Data 139,0,0,56,0,36,0,56,0,36,0,56
  194. Data 139,0,0,28,0,32,0,32,0,32,0,28
  195. Data 139,0,0,56,0,36,0,36,0,36,0,56
  196. Data 139,0,0,60,0,32,0,56,0,32,0,60
  197. Data 139,0,0,32,0,32,0,56,0,32,0,60
  198. Data 139,0,0,28,0,34,0,46,0,32,0,30
  199. Data 139,0,0,36,0,36,0,60,0,36,0,36
  200. Data 139,0,0,28,0,8,0,8,0,8,0,28
  201. Data 139,0,0,24,0,36,0,4,0,4,0,14
  202. Data 139,0,0,36,0,40,0,48,0,40,0,36
  203. Data 139,0,0,60,0,32,0,32,0,32,0,32
  204. Data 139,0,0,34,0,34,0,42,0,54,0,34
  205. Data 139,0,0,36,0,36,0,44,0,52,0,36
  206. Data 139,0,0,24,0,36,0,36,0,36,0,24
  207. Data 139,0,0,32,0,32,0,56,0,36,0,56
  208. Data 139,0,0,26,0,44,0,36,0,36,0,24
  209. Data 139,0,0,36,0,40,0,56,0,36,0,56
  210. Data 139,0,0,60,0,2,0,28,0,32,0,30
  211. Data 139,0,0,8,0,8,0,8,0,8,0,62
  212. Data 139,0,0,24,0,36,0,36,0,36,0,36
  213. Data 139,0,0,8,0,20,0,34,0,34,0,34
  214. Data 139,0,0,34,0,54,0,42,0,34,0,34
  215. Data 139,0,0,34,0,20,0,8,0,20,0,34
  216. Data 139,0,0,8,0,8,0,20,0,34,0,34
  217. Data 139,0,0,60,0,16,0,8,0,4,0,60
  218. Data 139,0,0,36,0,36,0,60,0,36,0,90
  219. Data 139,0,0,24,0,36,0,36,0,36,0,90
  220. Data 139,0,0,24,0,36,0,36,0,0,0,36
  221. Data 139,0,0,0,0,0,0,34,0,20,0,8
  222. Data 11,255,0,0,0,0,0,0,0,0,0,0
  223. Data 139,0,0,0,0,0,0,8,0,16,0,24
  224. Data 139,0,0,26,36,0,28,0,4,56,0,0
  225. Data 139,0,0,56,0,36,0,56,0,32,0,32
  226. Data 139,0,0,28,0,32,0,32,0,28,0,0
  227. Data 139,0,0,28,0,36,0,28,0,4,0,4
  228. Data 139,0,0,28,0,32,24,36,0,24,0,0
  229. Data 139,0,0,16,0,16,0,56,0,16,0,12
  230. Data 139,56,0,4,0,28,0,36,0,28,0,0
  231. Data 139,0,0,36,0,36,0,56,0,32,0,32
  232. Data 139,0,0,8,0,8,0,24,0,0,0,8
  233. Data 139,24,0,4,0,4,0,12,0,0,0,4
  234. Data 139,0,0,20,0,24,0,24,0,20,0,16
  235. Data 139,0,0,28,0,8,0,8,0,8,0,24
  236. Data 139,0,0,34,0,42,0,42,0,54,0,0
  237. Data 139,0,0,36,0,36,0,36,0,56,0,0
  238. Data 139,0,0,24,0,36,0,36,0,24,0,0
  239. Data 139,32,0,32,0,56,0,36,0,56,0,0
  240. Data 139,4,0,4,0,28,0,36,0,28,0,0
  241. Data 139,0,0,16,0,16,0,24,0,20,0,0
  242. Data 139,0,0,56,0,4,24,0,32,28,0,0
  243. Data 139,0,0,12,0,8,0,28,0,8,0,8
  244. Data 139,0,0,28,0,36,0,36,0,36,0,0
  245. Data 139,0,0,24,0,36,0,36,0,36,0,0
  246. Data 139,0,0,20,0,42,0,42,0,34,0,0
  247. Data 139,0,0,20,0,8,0,8,0,20,0,0
  248. Data 139,16,0,8,0,28,0,20,0,20,0,0
  249. Data 139,0,0,60,0,16,0,8,0,60,0,0
  250. Data 139,0,0,26,36,0,28,0,4,56,0,36
  251. Data 139,0,0,24,0,36,0,36,0,24,0,36
  252. Data 139,0,0,28,0,36,0,36,0,0,0,36
  253. Data 139,0,64,0,88,4,68,8,68,0,68,56