@DATABASE Finder.guide
@AUTHOR "Chris Jones"
@(c) "Copyright ©1996 Dynamic Software"
@$VER: Finder.guide V2.06 (04.10.96)
@remark : If you don`t have Amigaguide, this should be fairly easy to read.

@MASTER Finder.guide
@TABSIZE=3

@NODE MAIN
@TITLE "Finder V2.06 by Chris Jones ©1996 Dynamic Software. All rights reserved"

                               @{fg highlight}Finder V2.06 Help@{fg text}

                            Please choose an option:

                           @{"Disclaimer             " link Disclaimer}
                           @{"License                " link License}
                           @{"Introduction           " link Introduction}
                           @{"Getting Started        " link GettingStarted}
                           @{"Installation           " link Installation}
                           @{"Requirements           " link Requirements}
                           @{"Registration           " link Registration}
                           @{"Usage                  " link Usage}
                           @{"History                " link History}
                           @{"Credits                " link Credits}
                           @{"Finder's Future        " link Todo}
                           @{"Contacting the Author  " link Author}


                 Click on the @{fg highlight}@{b}CONTENTS@{ub}@{fg text} button at the top of the
                       window to return here at any time.

@ENDNODE

@NODE Disclaimer
@TITLE "Finder V2.06 Disclaimer"

@{fg highlight}                             DISCLAIMER FOR FINDER
@{fg text}

@{b}DOCUMENT DISCLAIMER:@{ub}
With this document Dynamic Software and Chris Jones make no warranties or
representations, either expressed or implied with respect to the products
described herein.  The information presented herein is being supplied on an "AS
IS" basis and is expressly subject to change without notice.  The entire risk as
to the use of this information is assumed by the user.  IN NO EVENT WILL DYNAMIC
SOFTWARE OR CHRIS JONES BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES RESULTING FROM ANY CLAIM ARISING OUT OF THE INFORMATION
PRESENTED HEREIN, EVEN IF IT HAS BEEN ADVISED OF THE POSSIBILITIES OF SUCH
DAMAGES.  SOME STATES DO NOT ALLOW THE LIMITATION OF IMPLIED WARRANTIES OR
DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY.

@{b}PROGRAM DISCLAIMER:@{ub}
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
RESULTS AND PERFORMANCE OF ANY PROGRAM IS ASSUMED BY YOU.  Should the program
prove defective, you (and not Commodore or its dealers or the author of Finder)
assume the entire cost of all necessary servicing, repair, or correction.
Further, neither Commodore nor the author of Finder warrants, guarantees, or
makes any representations regarding the use of, or the results of the use of,
the program in terms of corrections, accuracy, reliability, currentness, or
otherwise; and you rely on the program and results solely at your own risk.

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
Inc.' or 'Commodore Electronics Limited' with 'Escom AG', 'Amiga Technologies GmbH',
                     'VISCORP' or whoever owns Amiga today!.

   This Disclaimer was adapted from the Commodore-Amiga® and DICE Disclaimers

                   See also:  @{"Trademarks" link Trademarks}

@ENDNODE

@NODE Trademarks
@TITLE "Trademarks"

         Amiga (tm)  is a registered trademark of Commodore-Amiga Inc.
        AmigaDOS (tm) is a registered trademark of Commodore-Amiga, Inc.
     Commodore is a registered trademark of Commodore Electronics Limited.
             Workbench (tm) is a trademark of Commodore-Amiga, Inc.
             Intuition (tm) is a trademark of Commodore-Amiga, Inc.

           Finder is an un-registered trademark of Dynamic Software.

   All other trademarks are acknowledged by Dynamic Software and Chris Jones.

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
Inc.' or 'Commodore Electronics Limited' with 'Escom AG', 'Amiga Technologies GmbH',
                     'VISCORP' or whoever owns Amiga today!.

@ENDNODE

@NODE License
@TITLE "Finder V2.06 License Information"

@{fg highlight}                               LICENSE FOR FINDER
@{fg text}

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
Inc.' or 'Commodore Electronics Limited' with 'Escom AG', 'Amiga Technologies GmbH',
                     'VISCORP' or whoever owns Amiga today!.

@{b}(I) : Registered version:@{ub}


@{b}1.  COPYRIGHT:@{ub}  This program and the related documentation are copyright.  You
may not use, copy, modify, or transfer the programs or documentation or any copy
except as expressly provided in this agreement

@{b}2.  LICENSE:@{ub}  You have the exclusive right to use any enclosed program on any
computer.  You may load the program into your computer's temporary memory (RAM).
You may physically transfer the program from one computer to another.  You may
electronically transfer the program or accompanying documentation to another
person over a network provided that the original archive remains intact without
modification.  You may distribute copies of the program and accompanying
documentation to others.  You may not decompile, disassemble, reverse engineer,
modify or translate the program.

@{b}Finder may not be used in or by the employees of any military institution or in
conjunction with any military related files.
@{ub}

All other rights and uses not specifically granted in this license relating to
items created by the author of Finder are reserved by the author of Finder.  All
other rights and uses not specifically granted in this license relating to items
created by Commodore are reserved by Commodore.  Where clarification is required
of the above paragraph, the author of Finder shall decide the clarification.
Where such clarification is deemed illegal, the latter sentence will be
withdrawn from this license.

@{b}3.  BACKUP-UP AND TRANSFER:@{ub}  You may make any number of physical backups of the
program and documentation provided the backups remain in the original form.  You
must reproduce and include this copyright notice on any backup copy.  You may
transfer and license the product to another party only if the other party agrees
to the terms and conditions of this Agreement.

@{b}4.  TERMS:@{ub}  This license is effective until terminated.  You may terminate it by
destroying the program and documentation.  This license will also terminate if
you fail to comply with any term or condition of this Agreement.  You agree upon
such termination to destroy all copies of the program and documentation.

@{b}5.  MISCELLANEOUS:@{ub}  This agreement represents the entire understanding regarding
the programs and related documentation, and supersedes any prior purchase order,
communications or representations.  This agreement may only be modified by a
written amendment signed by the author of Finder (when related to all other
files in the distribution).  If any provision of the agreement shall be deemed
unlawful, void, or for any reason, unenforceable it shall be deemed separate
from, and shall in no way affect the validity and enforceability of the
remaining provisions of the agreement.

@{b}6.@{ub}  The program License Agreement shall inure to the benefit of Commodore-Amiga,
Inc, its parent, and all affiliated companies thereof with exception to Finder
specific programs and documentation, which shall inure to the benefit of the
author of Finder.

@{b}7.@{ub}  Permission is given for Finder to be placed in public domain libraries and
on public domain CDs so long as no more than £1.5 Sterling is charged for the
diskette or £20 Sterling for the CD.

@{b}8.@{ub}  Permission is given for Finder to be placed on magazine coverdisks provided
that the author is notified and sent a complementary copy of the magazine
bearing Finder and that the archive is not altered without prior permission from
the author.

@{b}(II) : Unregistered version:@{ub}

@{b}1.@{ub} You may use this version three times as an evaluation. After that period, any
use of Finder will be viewed as an illegal action and will be prosecutable.

          This License was adapted from the DICE License ©Matt Dillon

                   See also:  @{"Trademarks" link Trademarks}


@ENDNODE

@NODE Introduction
@TITLE "Finder Introduction"

Finder is an easy to use, powerful file finding utility. The user supplies
Finder with a path (i.e. a Volume or Directory) and a pattern (i.e. a filename
or a partial name and wildcards e.g. foo#?). Finder will use this information to
search the Volume/Directory and any sub-directories for any files matching the
supplied pattern. Any that are found are displayed in the window with their full
path. When the last file has been found the number of file found is presented.

The program is based upon `Finder V1.00` by Toby Simpson which appeared as a C
programming tutorial in Amiga Shopper.

I didn`t like the GUI he had used and so I decided to change it and generally
spice the program up a bit to test my newly found C programming skills!

The GUI for Finder V2.06 was created using GadToolsBox v2.2b by Jan van der
Baard (a program I heartily recommend to all GUI minded programmers).  Finder
V2.06 was written using DME by Matt Dillon and compiled with DICE v2.07.56R also
by Matt Dillon (also excellent).

@{fg highlight}     Finder V2.06 is FREE/SHARE - WARE. Copy it to all your mates (please!)
@{fg text}

                        But they all need to register separately.
                                   REGISTRATION IS FREE
@ENDNODE

@NODE GettingStarted
@TITLE "Starting Finder V2.06"

Finder can be run from either CLI or Workbench.
If you have not registered, a nag requester will appear twice.

@{fg highlight}From CLI:@{fg text}
   Simply type the path and name of Finder and it will run and present it's
window. To run Finder in the background (i.e. so it returns a CLI prompt
immediately), type "run <NIL: >NIL: <path>/Finder" (<path> is the path of the
Finder executable). Note; any program which is self detaching from the CLI does
so illegally. This may cause problems with newer versions of Kickstart. Using
"run" is safer and easier because it requires no extra programming (i.e. SegList
splitting, etc).

@{fg highlight}From Workbench:@{fg text}
   Simply double click on Finder's icon and it will run and present it's window.
If you wish Finder to not open it's window, but instead place "Finder V2.06" in
the Tools menu, set the ToolType @{fg highlight}"ACTION=MENU"@{fg text} using the "Information" item in
the Icon menu of Workbench.  Then, when you wish to use Finder, just select
"Finder V2.06" from the Tools menu and the window will open. This option is
useful for running Finder from WBStartup.

@ENDNODE

@NODE Installation
@TITLE "Installing Finder V2.06"

   Finder is very simple to install:

   1. Copy the Finder program and icon to C: or Sys:WBStartup as appropriate.
   2. Copy "Finder.guide" and "Finder.win" to HELP: if you require on-line help.
   3. If you are a registered user, copy Finder.key to S:

   Finder is then installed.

@ENDNODE

@NODE Requirements
@TITLE "Finder V2.06 Requirements"

@{fg highlight}   Finder V2.06 requires Kickstart 3.0 or above.
@{fg text}

It uses Intuition, Utility, Workbench, Icon, Graphics and GadTools libraries all
of version 39 or higher (they are all stored in the ROM, so don`t worry).

Finder V2.06 was compiled on an A1200, 2Meg Chip RAM with 350Mb Conner 2.5" IDE
Hard Drive using DICE v2.07.56R with Kickstart 3.0 Includes.

@{fg highlight}@{b}NOTE:@{ub}  FINDER V2.06 HAS ONLY BEEN TESTED ON KICKSTART 3.0.  IT WILL NOT WORK
WITH ANYTHING LESS AND CANNOT BE ASSUMED TO WORK WITH ANYTHING HIGHER (IT IS,
HOWEVER 100% SYSTEM COMPLIANT AND SO IS EXPECTED THAT IT WILL BE FULLY
COMPATIBLE WITH ANY FUTURE 680X0 BASED AMIGAS)..
@{fg text}

If you own a machine with anything less than OS3.0, @{fg highlight}UPGRADE@{fg text}.  It costs less than
£100 Sterling to upgrade to OS3.1 and it is worth it.  Or, you should upgrade to
A1200 or A4000 now they are on sale again.

I have no plans to @{b}EVER@{ub} support <OS3.0 as I see that as encouraging
people NOT to upgrade.  If people are still using 1.3 A500s in five years time,
the Amiga market will be dead.  If we all use AGA machines (ideally accelerated)
then software developers can make more CPU intensive programs.  @{i}(Gripe
over!)@{ui}.

@ENDNODE

@NODE Usage
@TITLE "Using Finder V2.06"

When Finder is running (see @{"Getting Started" link GettingStarted}), you will
see a window with a large listview, some gadgets and two string fields.

Preview of Finder's main window: @{"FinderV2.06" link HELP:Finder.win/main}


                   @{b}@{u}Explaination of gadgets:@{ub}@{uu}

@{fg highlight}Close Window@{fg text}   - Closes the window and puts 'Finder V2.06' in the
(Top Left)       'Tools' menu. To re-open the window, select
                 this menu item.

@{fg highlight}Files found@{fg text}    - Shows all of the files found which match the
(Listview)       given pattern in the given path.
                 You can remember a specific file by clicking on it. It will be
                 highlighted so you can see it easily.

@{fg highlight}Window Depth@{fg text}   - This will put the window to the front/back of all
(Top right)      the currently open windows.

@{fg highlight}Window Zoom@{fg text}    - This will close the window and replace it with a little
(Top right)      in the top left corner of the screen.

@{fg highlight}Find gadget@{fg text}    - This will begin a search of the chosen path with the
(Bottom left)    pattern provided and display the results in the Listview.

@{fg highlight}Quit gadget@{fg text}    - This will quit the program.
(Bottom left)

@{fg highlight}Help gadget@{fg text}    - This will load the on-line Help file using Multiview.
(Bottom left)     NOTE: You need Multiview in 'Sys:Utilities',  
             'Finder.guide' and 'Finder.win' in 'HELP:' for this to work.

@{fg highlight}About gadget@{fg text}   - This will bring up a requester with some information.
(Bottom left)

@{fg highlight}Search path@{fg text}    - This is the text field in which you can type the path
(Bottom right)   you want Finder to search.
             @{fg highlight}@{b}Note:@{ub}@{fg text}
                     The search is NOT case-sensetive,
                     (i.e. #?CAT is treated the same as #?cAt)
                     and is recursive
                     (i.e. it will search all sub-directories).

@{fg highlight}Pattern @{fg text}       - This is the text field in which you can type the pattern
(Bottom right)   you want Finder to search with.


   @{fg highlight}Note:@{fg text}  Only standard AmigaDOS wildcards are supported, not '*.*' or others
               unless you use a hack like WildStar (or similar).


@ENDNODE

@NODE History
@TITLE "Finder V2.06's History"


                              Finder History

                                  @{fg highlight}V 2.06{fg text}

                           Public Release - Aminet

 · Only added the Keyfile checking routine. PLEASE REGISTER FINDER.
   Especially since IT IS FREE!
 · Fixed a silly bug with library opening.

                                  @{fg highlight}V 2.05@{fg text}

                           Public Release - CUCD III

 · MAJOR bug fix. Up until now, Finder used a simple loop for it's IDCMP
   handler. This is a fairly standard way of doing things and is the
   default generated method with GadToolsBox, but it does have a VERY nasty
   side-effect - It uses ALL available CPU time so it can do the loop as
   fast as possible. There is a much better way of doing it. That is to
   wait until a message is recieved rather than assume one has and start
   trying to figure out what it is (usually nothing). This 'new' method was
   already being used by the AppMenu handler (the code came straight from
   the RKM examples, I hadn't really looked at it). The added command is:
      "WaitPort(FinderWnd->UserPort);"
   Extermely simple and very irritating, but at least now Finder won't
   swallow your CPU everytime you run it!
   I am considering putting a counter into an old version of Finder to work
   out the average number of times it ran the loop unsuccessfully. Maybe
   this could be the start of a new benchmark!
 · Totally new error handling system. Finder now uses a CON: window to
   present any errors and a solution to the user.
 · The ListView has a new feature specific to OS3.0+ which is that you can
   select items in it. Doing this will have no effect on the program, but
   it provides a useful way of remembering a particular file name/path.
 · Cleared up an interesting problem with the stack. Finder was allocating
   too much stack and would cause the machine to hang on a long search. This
   has been solved by using dynamic stack code (a dice compiler option).
 · Oh dear. We have a little problem. I now own my Blizzard 1230-IV (with 8Mb
   SIMM) and hence have an MMU. I have now tested Finder with Enforcer and
   discovered at least four Enforcer hits.
   They seem to be involved with opening and closing the window (a problem
   with GadToolsBox?).
   Unfortunately, I have absolutely no idea what the hell the Enforcer output
   means! So I can't debug it. Sorry if these hits make your machine crash, but
   unles somebody explains to me what I am supposed to do they will have to
   stay there!
 · Tested again with CodeWatcher. Seems to be that some allocated memory is
   not being freed, but I can't find it (a compiler error?). Most of it claims
   to be ROM space (huh?).


                                  @{fg highlight}V 2.04@{fg text}

                               Not released

 · Finder will now open on the default public screen, not Workbench.
   (most users will not notice any difference as Workbench is usually
   the default public screen, but if you use DOpus 5, it isn't).
 · When the window is re-opened (e.g. after zooming or AppMenu), the list
   is not cleared.
 · Major bug fix. I have finally found the cause of the silly Listview
   bug. I was initialising the list as soon as the search was over so
   any names not being displayed were 'forgotten'. Boy do I feel stupid!
 · Cleaned up the source and moved some functions around to make it
   easier to recompile using GadToolsBox (see ReadMe in the Source drawer)
 · Tested with CodeWatcher (I can't get easy access to an MMU for Enforcer
   to use because the Blizzard A1230-IV is so bloody difficult to get hold
   of! They are being sold before even being made!).


                                  @{fg highlight}V 2.03@{fg text}

                               Not released

 · Added busy pointer while search is happening. (buttons pressed with a
   busy pointer will be activated when the normal pointer returns).
 · Listview bug evades me yet again (AAAAAARRRGH!)


                                  @{fg highlight}V 2.02@{fg text}

                               Beta release

 · Added option (via Tooltypes) to put Finder in the 'Tools' menu _WITHOUT_
   opening the GUI (can therefore be used from the WBStartup drawer easily)
 · Still can't find Listview bug.


                                  @{fg highlight}V 2.01@{fg text}

             First public Release (AUI coverdisk 82 - May '96)

 · Tested with Enforcer (seems OK so Listview bug must be a 'legal' bug!).
 · Added AppMenu support.
 · Cleaned up code a bit.
 · Can't find Listview bug.


                                  @{fg highlight}V 2.00@{fg text}

                               Not released

 · GUI updated from Finder v1.00 by Toby Simpson.
 · Search routines revised.
 · Bugged to hell!

@ENDNODE

@NODE Credits
@TITLE "Finder V2.06 Credits"

                          Finder V2.06 by Chris Jones
                         Finder V1.00  by Toby Simpson
                               DME by Matt Dillon
                              DICE  by Matt Dillon
                        GadToolsBox by Jan van der Baard
                            Amiga by Commodore-Amiga

I would like to take this opportunity to thank Imdad Shah and David Ward for 
very kindly including Finder V2.01 on an Amiga User International coverdisk.  I
didn't expect them to, but they did.  Cheers guys!  Sorry it was bugged!

Also, thanks to Thomas Frieden of DIgital DImensions for his excellent utility
"AssignPrefs". Some sections of the code for Finder are based on his code (especially
the reading of Tooltypes which is nigh on impossible if you don't own RKMs).

For this reason, I have included full source to Finder and filled it with comments so
that anybody who wants to use my code can (please do).

@ENDNODE

@NODE Author
@TITLE "Contacting the author"

Please send all bug reports, comments, suggestions, A4000Ts, etc. to:

   Chris Jones
   7 The Heights
   Brighton
   East Sussex
   BN1 5JX
   England

   E-mail: ee61cj@ee.surrey.ac.uk

@{b}Personal Plea:@{ub} If anyone knows how to calculate the CPU usage % (as in
Driectory Opus 4) PLEASE mail me with the code (not using sysinfo.library from
Executive).

                                   Thank you.

@ENDNODE

@NODE Todo
@TITLE "Finder`s future"

If I get feedback from you (and if I can be bothered), these are some of the
things I would like to see in Finder V3.00:

· Option to turn off recursive searching.
· Option to search multi-volumes.
· Commodity support.
· AppIcon support.
· AppWindow support (i.e. drop a drawer to search).
· Localisation (anybody want to translate for me?).
· Use ReqTools for the About requester and a directory requester.
· Option to save list produced to an ASCII file.
· Option to print list produced.
· Option to search any assign 'add's (e.g. if FONTS: points to more than one directory)
   Example-script:

      $VER:startup-sequence v39.29
      assign FONTS: SYS:Fonts
      assign FONTS: Work:Fonts ADD

   Currently, Finder would only search SYS:Fonts. If I can work out how to do it, it
   would also search Work:Fonts


These are some things I would like to put in, but only if someone pays me:

· Option to automatically search LhA/LZX files for the file pattern
  (VERY difficult to do without LhA routines!).
· Option to search individual files for string patterns.
  (Also VERY difficult to do (Well, I think so!))

If you would like to get involved with updating Finder, please contact me at the
address in the @{"Contacting the Author" link Author} section.

@ENDNODE

@remark : Unless you are reading this with an ASCII reader, you won`t see
@remark :  this!
@remark : Hello Mum & Dad!
@remark : Chris.
@remark : ~~~~~~
@remark : Bullet point ASCII 183 : "·"
@remark :
@remark : If you are cheeky enough to read this, you deserve a reward.
@remark : That reward is the I will let you in on a secret.
@remark :
@remark : The S:Finder.key thing is a joke, put any file (1 byte or bigger) into s:
@remark : and call it Finder.key.
@remark : Finder will accept this and load with no nagging requester!
@remark :
@remark : The req is only there as a way for me to keep tabs on how many Finder users
@remark : there are.
@remark : If you do this little trick, please mail me and tell me! (I won't shout!!!)
@remark :
@remark : NEWSFLASH:
@remark : ooooo, a new trick, try looking at the S:Finder.key I give out with a picture viewer!!!