home *** CD-ROM | disk | FTP | other *** search
/ Kosovo Orphans' Appeal Charity CD / KosovoOrphansAppeal.iso / archimedesworld_cd2 / shareware / chopper / _joiner / joiner (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1997-03-16  |  6KB  |  258 lines

  1.  --> Joiner
  2.  This program and all documentation 
  3.  David Holden 1995
  4. A_$="0.10"
  5. 0,"Error "+
  6. )+" during initialisation : "+
  7. E_(F_%,3,"Drag icon to destination"):
  8. E_(F_%,4,"for the joined up file."):
  9. G_(F_%,-1,0,0):
  10. H_(F_%,1)
  11. 262343,I_%,J_%
  12. 262341,,J_%
  13. !J_%=F_%
  14. J_%!12=F_%
  15. J_%!16=6
  16. 262364,J_%!24
  17. 17,18:
  18. J_%!16
  19. I_%=0
  20. $0I%=
  21. P_(1,"flag = "+
  22. (Q_%)+" : "+R_$+"."+S_$)
  23. 100:Q_%+=1
  24. 101:Q_%+=1
  25. 102:Q_%+=1
  26. :I_%=&C31
  27. V_$,W_%:
  28. X_(&4000)=
  29. 0,"Not enough RAM to run !Joiner":
  30. 12,12,R_$,Y_%,70,0,&100,"*01"
  31. ,,,F%:
  32. 100,"No previously split file found on this disc"
  33. 7}Z_%=Y_%!20:I%=Y_%+24:
  34. ?I%>32:I%+=1:
  35. :I%-=2:?I%=13:a_$=$(Y_%+24):S_$=
  36. b_(a_$,c_%):
  37. 41,49,R_$
  38. ,,W_%:
  39. R_$="ADFS::0.$"
  40. W_%=&B4000
  41. W_%=&168000
  42. V_$)="/" V_$=
  43. 12,12,R_$,Y_%,70,0,&100,"FILETYPE*"
  44. ,,,F%:
  45. ATI%=Y_%+32:
  46. ?I%>13:I%+=1:
  47. :?I%=13:e_$=$(Y_%+33):C%=f_%:
  48. $C%=e_$ Z_%=C%!4
  49. C%+=8
  50. !C%=0
  51. $C%=e_$
  52. E_(F_%,1,a_$):
  53. I%=J_%+44:
  54. ?I%>31:I%+=1:
  55. :?I%=13:g_$=$(J_%+44):
  56. 262354,-1,-1:
  57. E_(F_%,1,g_$):
  58. ?I%<>
  59. ".":I%-=1:
  60. :?I%=13:
  61. 8,11,g_$,Z_%:I_%=0:h_%=
  62. :Q_%=100:!i_%=F_%:i_%!4=6:
  63. 262350,,i_%:
  64. 262340,,i_%:
  65. 262353,F_%,i_%!8,i_%!12,i_%!16,i_%!20
  66. j_%=0:c_%=1:k_%=0:
  67. l_%,f$,m_%,n_%,o_%:
  68. ]2f$=R_$+"."+S_$:
  69. 131080,17,f$
  70. I%,,,,l_%:
  71. I_%=&3C1:
  72. E_(F_%,3,"No more files found"):
  73. E_(F_%,4,
  74. (k_%)+" bytes transferred."):
  75. P_(3,"This disc does not contain "+S_$)=1
  76. :n_%=
  77. q_(l_%):m_%=l_%:
  78. E_(F_%,3,"Adding file "+f$):
  79. E_(F_%,4,
  80. (l_%)+" bytes"):
  81. 262343,0,J_%:
  82. 262343,0,J_%:
  83. 263872:
  84. n_%>=l_%
  85. 8,16,f$,Y_%:
  86. 13,&C3,g_$
  87. 12,1,r_%,Y_%,l_%,j_%
  88. ,,,,j_%:
  89. 13,0,r_%:r_%=0
  90. 13,&C3,f$
  91. 13,&C3,g_$
  92. r_%:o_%=0:
  93. m_%>0:
  94. n_%>m_% C%=m_%
  95. C%=n_%
  96. 12,3,s_%,Y_%,C%,o_%
  97. ,,,,o_%:
  98. 12,1,r_%,Y_%,C%,j_%
  99. ,,,,j_%:m_%-=C%:
  100. 13,0,r_%:r_%=0:
  101. 13,0,s_%:s_%=0
  102. 263873:
  103. E_(F_%,2,f$):k_%+=l_%:c_%+=1:h_%=
  104. :S_$=
  105. b_(a_$,c_%):
  106. q_(t_%):
  107. :u_%=
  108. X_(t_%):
  109. t_%=t_%
  110. u_%>0:=t_%
  111. E_(F_%,3,"Insert disc with "+S_$):
  112. E_(F_%,4,"or close window to finish"):v_%=
  113. :S%=0:I_%=0:Q_%=110:
  114. Q_%=100:
  115. 34,11,1,&58:
  116. 34,11,0,&58:
  117. 262732,1,0,S%
  118. ,,S%,F%:
  119. 8 v_%=
  120. w_%=w_% Q_%=100
  121. ):I%=
  122. X_(0):
  123. E_(y_%,z_%,
  124. __(27)+g_$):
  125. 263872:
  126. 8,17,
  127. `_(y_%,A`%)
  128. I%,,,,l%:
  129. X_(l%)=
  130. __(25)
  131. 8,16,
  132. `_(y_%,A`%),Y_%:
  133. 13,&C3,g_$
  134. 12,1,r_%,Y_%,l%,j_%
  135. ,,,,j_%:
  136. 13,0,r_%:r_%=0:
  137. 263873:k_%+=l%:h_%=
  138. E_(y_%,z_%,
  139. (l%)+" "+
  140. __(26)):
  141. b_(a$,c%):=a$+
  142. "00"+
  143. (c%),2)
  144. E_(w%,i%,s$):!i_%=w%:i_%!4=i%:
  145. 262350,,i_%:i_%!8=0:i_%!12=0:$(i_%!28)=s$:
  146. 262349,,i_%:
  147. H_(w%,i%):!i_%=w%:i_%!4=i%:
  148. 262350,,i_%:
  149. 262354,w%,i%,,,-1,
  150. $(i_%!28):
  151. `_(w%,i%):!i_%=w%:i_%!4=i%:
  152. 262350,,i_%:I%=(i_%!28):
  153. ?I%>31:I%+=1:
  154. :?I%=13:=$(i_%!28)
  155. x%,y%:!J_%=F_%:
  156. 262347,,J_%:x%=J_%!4-J_%!20:y%=J_%!16-J_%!24:J_%!4=6:
  157. 262350,,J_%:!J_%=J_%!8+x%:J_%!4=J_%!12+y%:J_%!8=J_%!16+x%:J_%!12=J_%!20+y%:
  158. 271360,%11000101,1,J_%!28,J_%:
  159. 271361:
  160. 262351,,J_%:J_%!20=J_%!12:J_%!24=J_%!16:J_%!28=!J_%:J_%!32=J_%!4:J_%!&80=F_%:J_%!&84=1:
  161. 262350,,J_%+&80:B`$="":I%=J_%!&9C:
  162. ?I%>32:B`$+=
  163. (?I%):I%+=1:
  164. :J_%!36=100:J_%!40=Z_%:$(J_%+44)=B`$:!J_%=(
  165. (B`$)+49)
  166. 5J_%!12=0:J_%!16=1:
  167. 262375,17,J_%,J_%!20,J_%!24:
  168. G_(w%,C`%,D`%,E`%):
  169. F`%,G`%,H`%,I`%,J`%:
  170. 53,-1,4
  171. ,,F`%:
  172. 53,-1,11
  173. ,,G`%:G`%=(G`%<<F`%)+D`%:
  174. 53,-1,5
  175. ,,F`%:
  176. 53,-1,12
  177. ,,H`%:H`%=(H`%<<F`%)+E`%:!i_%=w%:
  178. 262347,,i_%:I`%=i_%!12-i_%!4:J`%=i_%!16-i_%!8:G`%=(G`%-I`%)
  179. `H`%=(H`%-J`%)
  180. 2:i_%!4=G`%:i_%!12=G`%+I`%:i_%!8=H`%:i_%!16=H`%+J`%:i_%!28=C`%:
  181. 262341,,i_%:
  182. K`(w%):!J_%=w%:
  183. 262347,,J_%:J_%!28=-1:
  184. 262341,,J_%:
  185. X_(L`%):
  186. 262380,M`%+L`%,-1
  187. e%<(M`%+L`%):=
  188. :=e%+&8000
  189. C_(x$,f%):I_%=&C31:
  190. 263874:i_%!&80=0:$(i_%+&84)="Error "+
  191. )+": "+x$+
  192. 262367,i_%+&80,17,N`%:
  193. s_%>0
  194. #s_%:s_%=0
  195. r_%>0
  196. #r_%:r_%=0
  197. r_%>0
  198. s_%>0
  199. 262365,O`%,&4B534154:
  200. P_(P`%,a$):i_%!&80=0:$(i_%+&84)=a$+
  201. 262367,i_%+&80,16
  202. P`%,N`%
  203. ,I%:=I%
  204. __(Q`%):
  205. p%:p%=R`%:
  206. Q`%>0:
  207. :p%+=1:
  208. ?p%<32:p%+=1:Q`%-=1:
  209. :=$p%
  210. 8,17,"<Obey$Dir>.DOS_Tran"
  211. F%,,,,L%:
  212. 1)<>1
  213. f_% 8:!f_%=0:
  214. 8,16,"<Obey$Dir>.DOS_Tran",Y_%:L%+=Y_%:C%=2:
  215. I%=Y_%
  216. ?I%=10 ?I%=13
  217. ?I%=13 C%+=1
  218. f_% 8*C%:C%=f_%:I%=Y_%:
  219. I%<L%:J%=I%:
  220. :I%+=1:
  221. ?I%<33:?I%=13:$C%=$J%:
  222. :I%+=1:
  223. ?I%>32:
  224. 131105,16,I%
  225. ,,C%!4:
  226. ?I%<>13:I%+=1:
  227. :I%+=1:C%+=8:
  228. :!C%=0:C%!4=0:C%!8=0:
  229. T` (U`%):
  230. V`% U`%:
  231. 262361,,"<Obey$Dir>.templ":
  232. 262363,,Y_%,V`%,V`%+U`%,-1,"main",0
  233. ,,R%:
  234. 262337,,Y_%
  235. 262362:
  236. 262336,200,&4B534154,"Joiner"
  237. W`%,O`%:
  238. W`%<300
  239. 0,"This program requires RISC-OS 3 or better":
  240. J_%&180,i_%&100,N`% 24,X`%&40:s_%=0:r_%=0:$N`%="Joiner":
  241. 35,"Obey$Dir",J_%,256,0,3
  242. ,,I%:
  243. J_%?I%<>
  244. ".":I%-=1:
  245. :J_%?I%=13:R_$=$J_%:
  246. 41,49,"<Obey$Dir>"
  247. ,,D%:
  248. D%>&800000 d_%=
  249. (-6)d_%=
  250. :R_$="ADFS::0.$"
  251. 7JM`%=
  252. -&8000:Y_%=
  253. X_(&4000)=
  254. -1,"Not enough memory to run !Joiner"
  255. T`(&400):
  256. S`:I_%=%110000110001:w_%=4:c_%=1:I%=
  257. X_(0):
  258.