home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / a / altmenu / !MakeMenu / Libraries / FileLib (.txt) next >
Encoding:
RISC OS BBC BASIC V Source  |  1996-09-24  |  2.4 KB  |  121 lines

  1.  File handling library
  2. dragboxend
  3. #leafname$=
  4. readicon(savewin%,1)
  5. pointer%=
  6. leafname$
  7. pointer%>0
  8. leafname$,pointer%,1)<>"."
  9. pointer%-=1
  10.     $leafname$=
  11. leafname$,pointer%+1)
  12. "Wimp_GetPointerInfo",,wimp%
  13. senderwin%=wimp%!12
  14. sendericon%=wimp%!16
  15. wimp%!20=senderwin%
  16. wimp%!24=sendericon%
  17. wimp%!28=wimp%!0
  18. wimp%!32=wimp%!4
  19. wimp%!0=44+
  20. leafname$
  21. wimp%!0+=4-(wimp%!0
  22. wimp%!4=0
  23. wimp%!8=0
  24. wimp%!12=0
  25. wimp%!16=1
  26. wimp%!36=0
  27. wimp%!40=filetype%
  28. $(wimp%+44)=leafname$+
  29. notmywin(senderwin%)
  30. "Wimp_SendMessage",17,wimp%,senderwin%,sendericon%
  31. datasaveack
  32. pathname$,pointer%
  33. pointer%=wimp%+44
  34. pathname$+=
  35. ?pointer%
  36. pointer%+=1
  37. ?pointer%=0
  38. pointer%=
  39. pathname$
  40. dosave(pathname$)
  41. wimp%!0=40+
  42. pathname$+4
  43. wimp%!0+=4-(wimp%!0
  44. wimp%!16=3
  45. wimp%!36=0
  46. wimp%!40=filetype%
  47. $(wimp%+44)=pathname$+
  48. "Wimp_SendMessage",18,wimp%,senderwin%,sendericon%
  49. dragsave
  50. wimp%!0=savewin%
  51. "Wimp_GetWindowState",,wimp%
  52. ox%=wimp%!4-wimp%!20
  53. oy%=wimp%!16-wimp%!24
  54. wimp%!0=savewin%
  55. wimp%!4=0
  56. "Wimp_GetIconState",,wimp%
  57. wimp%!0=savewin%
  58. wimp%!4=5
  59. wimp%!8=wimp%!8+ox%
  60. wimp%!12=wimp%!12+oy%
  61. wimp%!16=wimp%!16+ox%
  62. wimp%!20=wimp%!20+oy%
  63. wimp%!24=0
  64. wimp%!28=0
  65. wimp%!32=&7FFFFFFF
  66. wimp%!36=&7FFFFFFF
  67. "Wimp_DragBox",,wimp%
  68. savemessages
  69. wimp%!16
  70. 1:wimp%!0=(48+
  71. ("<Wimp$Scrap> "))
  72. wimp%!12=wimp%!8
  73. wimp%!16=2
  74. $(wimp%+44)="<Wimp$Scrap>"
  75. saveref%=wimp%!12
  76. "Wimp_SendMessage",17,wimp%,wimp%!4
  77. datasaveack
  78. filedrop
  79. savewinclick
  80. icon%
  81. dragsave
  82. dosave(
  83. readicon(savewin%,1))
  84. closewindow(savewin%)
  85. filedrop
  86. dwin%=wimp%!20
  87. dic%=wimp%!24
  88. W#savename$=
  89. readstring(wimp%+44)
  90. wimp%!12=wimp%!8
  91. wimp%!16=4
  92. "Wimp_SendMessage",17,wimp%,wimp%!4
  93. doload(savename$,dwin%,dic%)
  94. canonical(t$)
  95.  n%,o$
  96.  "OS_FSControl",37,t$,wk%,0,0,128
  97. a    o$=""
  98.  wk%?n%<>0
  99. o$=o$+
  100. (wk%?n%)
  101. d    n%+=1
  102. length(t$)
  103.  "OS_File",17,t$ 
  104.  ,,,,l%
  105. branch(t$)
  106.  l%,lfs%
  107.  l%=1 
  108. t$,l%,1)="." 
  109.  lfs%=l%
  110.  lfs%>0 
  111. t$,lfs%-1) 
  112.  ="" 
  113. leaf(t$)
  114.  l%,lfs%
  115. lfs%=0
  116.  l%=1 
  117. t$,l%,1)="." 
  118.  lfs%=l%
  119.  lfs%>0 
  120. (t$)-lfs%) 
  121.