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:
- Archimedes archive » Acorn User » AU 1995-10.adf » !Direct » Director/!Director/Menus/System/Openfiles
- Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Menus/System/Openfiles
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