FileUtils version 3.01
By Ben Summers

                           FileUtils version 3
                           ~~~~~~~~~~~~~~~~~~~

*Command menu for files with find file, find space and change type windows.

This program may be copied freely, as long as only the FileData file is
changed, and the Help file is not changed.

If you think of any more utilities which might be useful, please write and
tell me.

Econet users please see the note about the kill utility near the end of the
file.

The application directory should contain the following files:
  !Boot
  !Help    <<-- this file
  !Run
  !RunImage
  !Sprites
  FileData
  HelpText
  OldData  (see later in this file)
  Options
  Templates

Revision history
~~~~~~~~~~~~~~~~
Version 3.00
  BASIC application rewritten in C.
  Utilities added.

Version 3.01
  Find file user interface changed after comments from Acorn.
  Fix FileCore option removed after complaints from Acorn (dismount discs
    when you have finished with them).
  Interactive help is now fully supported.


            How to use FileUtils
            ~~~~~~~~~~~~~~~~~~~~

   *Command menus
   ~~~~~~~~~~~~~~
Drag a file to the iconbar. A menu of * commands will pop up. Chose one, or
click elsewhere to cancel it.
At the top of the menu, there will be up to four optional items, depending
on the options set up. They can be:
 Change type    Leads to a submenu allowing you to change the files type.
 Dump            Dump the file
 Info            Get info on the file
 Kill            Deletes the object (file or directory) even if it is
  locked. This is useful for getting rid of applications or directories where
  somebody has locked a file inside it (annoying isn't it?). As it is quite a
  dangerous option, there is an option to confirm that you want to kill the
  object before you do so.

   The main menu
   ~~~~~~~~~~~~~
Main menu (click Menu on the icon)
 Info         Guess
 Options      Leads to options dialogue box
 Save options  Saves the current options to disc
 Change type   Opens a change type window
 Find space    Allows you to find a disc with enough room on it
 Find file     Opens the find file window
 Quit          Guess

Options  
~~~~~~~~~~
This leads to a dialogue box which allows you to set which optional items
appear on the menu. Click on OK to set them.

Change type
~~~~~~~~~~~
This option opens a change type window. Before you can use it, you must
first set up the filetype by clicking menu on the window, and choosing a
filetype, or typing one it at the bottom of the menu. Then select all the
files you want to set to that filetype, and drag them to the window. This is
useful, for example, when you have just transferred files from another (non
Archimedes) computer and they are all filetyped Data. Please note that this
option is only worth it for lots of files - if you have just one, drag it to
the icon on the iconbar, and choose a filetype from the Change type submenu.

Find space
~~~~~~~~~~
This option allows you to find a disc with some space on it (for when you
want to find a disc to copy something onto). Fill in the box for how much
space you need or drag the file, directory or application to the window to
add that objects size to the number in the box. Set up the drive you want to
search in, and click on OK. The disc in the drive will be checked, and then
you will be prompted for more discs, until a disc is found with enough
space.

Find file
~~~~~~~~~
This opens a dialogue box where you can set the options for the search. You
can set the start directory by dragging a file to it from the start
directory. The many discs search option allows you to search many discs for
an object in a certain drive. The start directory is ignored in this case.
Click on OK to start the search. Searching is case insensitive and
multi-tasking.
If you selected many discs searching, you will be prompted to insert more
discs until you click on Stop on the dialogue box which asks you for another
disc. No check is made to see if the disc has been seen before by the
search.
If you selected list files in the dialogue box, then after the search has
finished, they will be listed in a window (surprise surprise!). If you double
click on a entry, then the viewer of the directory it is in will be opened.

   Bits and PCs  (get it?)
   ~~~~~~~~~~~~
The FileData file:
~~~~~~~~~~~~~~~~~~
This file tells FileUtils what *command menus to display when a file is
dragged to it.

The format of this file is quite simple, but for those of you too lazy to
work out what it is, here is a description of each line: Each line describes
a menu for one filetype, or is a comment. Comment lines begin with a '\'.
The last line must be the XXX entry for filetypes not described before. The
format of a menu is:

FileType number,Title of menu,First item to appear on the menu,*command,
other entries of item and *commands,

The line must finish with a comma. The *command may have a '#' in it, which
will be replaced with the full name of the file when the item is selected.
Don't put extra spaces in. Please note there is no error checking on the
FileData file.

The OldData file:
~~~~~~~~~~~~~~~~~
This file is a Spark archive, and contains the FileData file and the options
files which were released with the program. DO NOT CHANGE THIS FILE. It has
been filetyped 000 so if somebody archives FileUtils, when it is dearchived,
the OldData will not appear as a directory. If you need to read it, drag the
file to the Spark (or SparkPlug - the PD restorer). It will be refiletyped
'Archive'. After you have decompressed the contents, please refiletype it
000 (with FileUtils!). If you do not have a copy of SparkPlug, write to me
with a disc & SAE and ask for a copy.

Econet users and the Kill utility
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Econet users of the kill utility may have problems as NetFS may refuse to
unlock a file if it has not got public access, and so you may get a string
of error windows. If this happens, just hold down [Escape], as this will be
much quicker. I haven't actually tried this utility on a network as I don't
have access to one, but if someone can tell me what happens, I can put a fix
in so you don't get any error windows.

Note to C programmers
~~~~~~~~~~~~~~~~~~~~~
To add interactive help to this version, I have written a one function
interface which you might find useful. This uses the 'HelpText' resource,
and to use it you just add a entry to your event handler
(help_send("window");), and that's all there is to it. If you would like a
copy, please send me a disc (with some PD programs on it!) and an SAE, and I
will send it back with a copy and documentation on it.

   The author:
   ~~~~~~~~~~~
If you have any comments to make, bugs (what?) to report, or new features to
suggest, please write to me. My address is:

  Ben Summers
  39A Cromer Road
  Hellesdon
  Norwich
  NR6 6LX

If you write, please send a SAE for a reply. If you send a disc with your
letter, I will copy the latest version onto it, and send it back in your
SAE. If you are sending a disc, wrap it so it doesn't get broken in the
post.

If you find this program useful, please send me a token of your
appreciation as many hours of work have gone into writing this program, for
example a disc of PD programs (which I will send back if you send an SAE).

I am interested to see how copies I have given out have got round, so if you
write, please tell me where your copy came from. You can find this out by
selecting the application directory with *Dir, and typing !RunImage -a
[Return] (case of the -a is important) at the * prompt. This will give you a
short message, which includes who I gave the copy to.

   The Archimedes, RISC OS & C
   ~~~~~~~~~~~~~~~~~~~~~~~~~~
Finally I would like to congratulate Acorn about the Archimedes - the most
powerful computer in it's class, RISC OS - an operating system a programmers
and users work with instead of against, and their library of functions for C
which make programming in C for RISC OS a pleasure.
