Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Menus/System/Openfiles

DesktopPD/Director/!Director/Menus/System/Openfiles

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features
Filename: DesktopPD/Director/!Director/Menus/System/Openfiles
Read OK:
File size: 046D bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
    1REM >Director:Menus.System.Openfiles
    2ON ERROR ERROR EXT ERR,REPORT$+" at line "+STR$ERL:END
    3
    4*Menu "" CloseAll
    5  *Option "Close"
    6    *Command SWI "XOS_FSControl" 22
    7*EndMenu
    8
    9*Set Director$Menu Files
   10size=256
   11DIM buffer size
   12SYS "Director_Menu","Open�Files"+" "+"Files -temp"
   13os_args=FNswi_number("XOS_Args")
   14option=FNswi_number("Director_Option")
   15command=FNswi_number("Director_Command")
   16num=0
   17FOR h=255 TO 0 STEP -1
   18  SYS os_args,254,h TO S%
   19  IF (S% AND &800)=0 THEN
   20    SYS os_args,7,h,buffer,,,size TO ,,,,,spare ;V
   21    IF (V AND 1)=0 THEN
   22      buffer?(size-spare)=13
   23      REM Thanks to Aidan Corey for this bit
   24      T$=$buffer+" ("
   25      IF (S% AND &40) THEN T$+="R"
   26      IF (S% AND &100) THEN T$+="W" ELSE IF (S% AND &80) T$+="w"
   27      IF (S% AND &7000) THEN T$+="X"
   28      T$+=")"
   29      SYS option,""""+RIGHT$("   "+STR$h,3)+" "+T$+""" -sub Dynamic:/Director:Menus.System.OpenSub"
   30      num+=1
   31    ENDIF
   32  ENDIF
   33NEXT
   34IF num<>0 THEN
   35  *Dash
   36  *Option "All" -sub CloseAll
   37ELSE
   38  *Option "None" -grey
   39ENDIF
   40SYS "Director_EndMenu"
   41END
   42
   43DEF FNswi_number(swi$)
   44  SYS "OS_SWINumberFromString",,swi$ TO swi%
   45=swi%
&� >Director:Menus.System.Openfiles
!� � � � �,�$+" at line "+Þ:�

*Menu "" CloseAll
  *Option "Close"
'    *Command SWI "XOS_FSControl" 22
*EndMenu

	*Set Director$Menu Files

size=256
� buffer size
5ș "Director_Menu","Open�Files"+" "+"Files -temp"

#os_args=�swi_number("XOS_Args")
)option=�swi_number("Director_Option")
+command=�swi_number("Director_Command")
	num=0
� h=255 � 0 � -1
  ș os_args,254,h � S%
  � (S% � &800)=0 �
4    ș os_args,7,h,buffer,,,size � ,,,,,spare ;V
    � (V � 1)=0 �
       buffer?(size-spare)=13
.      � Thanks to Aidan Corey for this bit
      T$=$buffer+" ("
       � (S% � &40) � T$+="R"
8      � (S% � &100) � T$+="W" � � (S% � &80) T$+="w"
"      � (S% � &7000) � T$+="X"
      T$+=")"
]      ș option,""""+�"   "+�h,3)+" "+T$+""" -sub Dynamic:/Director:Menus.System.OpenSub"
      num+=1
	    �
   �
!�
"� num<>0 �
#  *Dash
$!  *Option "All" -sub CloseAll
%�
&  *Option "None" -grey
'�
(ș "Director_EndMenu"
)�
*
+� �swi_number(swi$)
,.  ș "OS_SWINumberFromString",,swi$ � swi%
-	=swi%
�
00000000  0d 00 01 26 f4 20 3e 44  69 72 65 63 74 6f 72 3a  |...&. >Director:|
00000010  4d 65 6e 75 73 2e 53 79  73 74 65 6d 2e 4f 70 65  |Menus.System.Ope|
00000020  6e 66 69 6c 65 73 0d 00  02 21 ee 20 85 20 85 20  |nfiles...!. . . |
00000030  a2 20 9f 2c f6 24 2b 22  20 61 74 20 6c 69 6e 65  |. .,.$+" at line|
00000040  20 22 2b c3 9e 3a e0 0d  00 03 04 0d 00 04 15 2a  | "+..:.........*|
00000050  4d 65 6e 75 20 22 22 20  43 6c 6f 73 65 41 6c 6c  |Menu "" CloseAll|
00000060  0d 00 05 15 20 20 2a 4f  70 74 69 6f 6e 20 22 43  |....  *Option "C|
00000070  6c 6f 73 65 22 0d 00 06  27 20 20 20 20 2a 43 6f  |lose"...'    *Co|
00000080  6d 6d 61 6e 64 20 53 57  49 20 22 58 4f 53 5f 46  |mmand SWI "XOS_F|
00000090  53 43 6f 6e 74 72 6f 6c  22 20 32 32 0d 00 07 0c  |SControl" 22....|
000000a0  2a 45 6e 64 4d 65 6e 75  0d 00 08 04 0d 00 09 1c  |*EndMenu........|
000000b0  2a 53 65 74 20 44 69 72  65 63 74 6f 72 24 4d 65  |*Set Director$Me|
000000c0  6e 75 20 46 69 6c 65 73  0d 00 0a 0c 73 69 7a 65  |nu Files....size|
000000d0  3d 32 35 36 0d 00 0b 11  de 20 62 75 66 66 65 72  |=256..... buffer|
000000e0  20 73 69 7a 65 0d 00 0c  35 c8 99 20 22 44 69 72  | size...5.. "Dir|
000000f0  65 63 74 6f 72 5f 4d 65  6e 75 22 2c 22 4f 70 65  |ector_Menu","Ope|
00000100  6e a0 46 69 6c 65 73 22  2b 22 20 22 2b 22 46 69  |n.Files"+" "+"Fi|
00000110  6c 65 73 20 2d 74 65 6d  70 22 0d 00 0d 23 6f 73  |les -temp"...#os|
00000120  5f 61 72 67 73 3d a4 73  77 69 5f 6e 75 6d 62 65  |_args=.swi_numbe|
00000130  72 28 22 58 4f 53 5f 41  72 67 73 22 29 0d 00 0e  |r("XOS_Args")...|
00000140  29 6f 70 74 69 6f 6e 3d  a4 73 77 69 5f 6e 75 6d  |)option=.swi_num|
00000150  62 65 72 28 22 44 69 72  65 63 74 6f 72 5f 4f 70  |ber("Director_Op|
00000160  74 69 6f 6e 22 29 0d 00  0f 2b 63 6f 6d 6d 61 6e  |tion")...+comman|
00000170  64 3d a4 73 77 69 5f 6e  75 6d 62 65 72 28 22 44  |d=.swi_number("D|
00000180  69 72 65 63 74 6f 72 5f  43 6f 6d 6d 61 6e 64 22  |irector_Command"|
00000190  29 0d 00 10 09 6e 75 6d  3d 30 0d 00 11 14 e3 20  |)....num=0..... |
000001a0  68 3d 32 35 35 20 b8 20  30 20 88 20 2d 31 0d 00  |h=255 . 0 . -1..|
000001b0  12 1b 20 20 c8 99 20 6f  73 5f 61 72 67 73 2c 32  |..  .. os_args,2|
000001c0  35 34 2c 68 20 b8 20 53  25 0d 00 13 17 20 20 e7  |54,h . S%....  .|
000001d0  20 28 53 25 20 80 20 26  38 30 30 29 3d 30 20 8c  | (S% . &800)=0 .|
000001e0  0d 00 14 34 20 20 20 20  c8 99 20 6f 73 5f 61 72  |...4    .. os_ar|
000001f0  67 73 2c 37 2c 68 2c 62  75 66 66 65 72 2c 2c 2c  |gs,7,h,buffer,,,|
00000200  73 69 7a 65 20 b8 20 2c  2c 2c 2c 2c 73 70 61 72  |size . ,,,,,spar|
00000210  65 20 3b 56 0d 00 15 15  20 20 20 20 e7 20 28 56  |e ;V....    . (V|
00000220  20 80 20 31 29 3d 30 20  8c 0d 00 16 20 20 20 20  | . 1)=0 ....    |
00000230  20 20 20 62 75 66 66 65  72 3f 28 73 69 7a 65 2d  |   buffer?(size-|
00000240  73 70 61 72 65 29 3d 31  33 0d 00 17 2e 20 20 20  |spare)=13....   |
00000250  20 20 20 f4 20 54 68 61  6e 6b 73 20 74 6f 20 41  |   . Thanks to A|
00000260  69 64 61 6e 20 43 6f 72  65 79 20 66 6f 72 20 74  |idan Corey for t|
00000270  68 69 73 20 62 69 74 0d  00 18 19 20 20 20 20 20  |his bit....     |
00000280  20 54 24 3d 24 62 75 66  66 65 72 2b 22 20 28 22  | T$=$buffer+" ("|
00000290  0d 00 19 20 20 20 20 20  20 20 e7 20 28 53 25 20  |...       . (S% |
000002a0  80 20 26 34 30 29 20 8c  20 54 24 2b 3d 22 52 22  |. &40) . T$+="R"|
000002b0  0d 00 1a 38 20 20 20 20  20 20 e7 20 28 53 25 20  |...8      . (S% |
000002c0  80 20 26 31 30 30 29 20  8c 20 54 24 2b 3d 22 57  |. &100) . T$+="W|
000002d0  22 20 8b 20 e7 20 28 53  25 20 80 20 26 38 30 29  |" . . (S% . &80)|
000002e0  20 54 24 2b 3d 22 77 22  0d 00 1b 22 20 20 20 20  | T$+="w"..."    |
000002f0  20 20 e7 20 28 53 25 20  80 20 26 37 30 30 30 29  |  . (S% . &7000)|
00000300  20 8c 20 54 24 2b 3d 22  58 22 0d 00 1c 11 20 20  | . T$+="X"....  |
00000310  20 20 20 20 54 24 2b 3d  22 29 22 0d 00 1d 5d 20  |    T$+=")"...] |
00000320  20 20 20 20 20 c8 99 20  6f 70 74 69 6f 6e 2c 22  |     .. option,"|
00000330  22 22 22 2b c2 22 20 20  20 22 2b c3 68 2c 33 29  |"""+."   "+.h,3)|
00000340  2b 22 20 22 2b 54 24 2b  22 22 22 20 2d 73 75 62  |+" "+T$+""" -sub|
00000350  20 44 79 6e 61 6d 69 63  3a 2f 44 69 72 65 63 74  | Dynamic:/Direct|
00000360  6f 72 3a 4d 65 6e 75 73  2e 53 79 73 74 65 6d 2e  |or:Menus.System.|
00000370  4f 70 65 6e 53 75 62 22  0d 00 1e 10 20 20 20 20  |OpenSub"....    |
00000380  20 20 6e 75 6d 2b 3d 31  0d 00 1f 09 20 20 20 20  |  num+=1....    |
00000390  cd 0d 00 20 07 20 20 cd  0d 00 21 05 ed 0d 00 22  |... .  ...!...."|
000003a0  0e e7 20 6e 75 6d 3c 3e  30 20 8c 0d 00 23 0b 20  |.. num<>0 ...#. |
000003b0  20 2a 44 61 73 68 0d 00  24 21 20 20 2a 4f 70 74  | *Dash..$!  *Opt|
000003c0  69 6f 6e 20 22 41 6c 6c  22 20 2d 73 75 62 20 43  |ion "All" -sub C|
000003d0  6c 6f 73 65 41 6c 6c 0d  00 25 05 cc 0d 00 26 1a  |loseAll..%....&.|
000003e0  20 20 2a 4f 70 74 69 6f  6e 20 22 4e 6f 6e 65 22  |  *Option "None"|
000003f0  20 2d 67 72 65 79 0d 00  27 05 cd 0d 00 28 19 c8  | -grey..'....(..|
00000400  99 20 22 44 69 72 65 63  74 6f 72 5f 45 6e 64 4d  |. "Director_EndM|
00000410  65 6e 75 22 0d 00 29 05  e0 0d 00 2a 04 0d 00 2b  |enu"..)....*...+|
00000420  17 dd 20 a4 73 77 69 5f  6e 75 6d 62 65 72 28 73  |.. .swi_number(s|
00000430  77 69 24 29 0d 00 2c 2e  20 20 c8 99 20 22 4f 53  |wi$)..,.  .. "OS|
00000440  5f 53 57 49 4e 75 6d 62  65 72 46 72 6f 6d 53 74  |_SWINumberFromSt|
00000450  72 69 6e 67 22 2c 2c 73  77 69 24 20 b8 20 73 77  |ring",,swi$ . sw|
00000460  69 25 0d 00 2d 09 3d 73  77 69 25 0d ff           |i%..-.=swi%..|
0000046d