home *** CD-ROM | disk | FTP | other *** search
-
- FindDisk3.1 The Workbench version.
-
- A Public Domain Program by Ross MacGregor.
-
- The source was compiled with the Manx compiler.
- (It shouldn't need much, if any, work to compile with Lattice)
-
- Most people that own Amiga's soon accumulate a *GREAT* collection of
- 3-&-1/2 '' disks filled with lots and lots of PD software. And I'm sure
- that many people still go through the same time-consuming process I use to
- when finding a certain program [ I think it's on this disk...no maybe this
- one...lets try this one...it must be here...I guess not...argggh! $#@#%! ].
-
- If you have been looking to organize your disks a little better, this may
- be just what you need. I have seen other disk cataloging programs but
- they looked BIG and complicated.
-
-
- I wanted a simple, unintrusive CLI command that would tell me on what disk
- such-n-such a program could be found.
-
- So I created a CLI command FD that did just that. This is the workbench
- version of that program, but it will still search for strings given as
- CLI arguments.
-
- Type> FindDisk3.1 ; And the its display window is opened up.
-
- [Please rename it if being used from the CLI.]
-
- Type> FindDisk3.1 text ; And the disk's directory listing containing
- 'text' is displayed just as if you had done
- an ls df0:. The text could also be the name
- of the disk.
-
- Multiple arguments can also be given so that the
- directory, ARP_COMMANDS_DOC could be found with,
- FD doc arp.
-
-
- The DiskList
-
- FD uses a file which by default is called DiskList and is contained in
- the directory df0:FindDisk. This is an almost ASCII file containing
- the listings of your disks.
- [clarification of almost...]
- To save space the listings are stored with the spaces ($20's) compacted
- and some words of the listing tokenized. This results in a file with many
- special (non-standard) control characters. It will not TYPE properly!
-
- The DiskList can be loaded to ram: (yes, it's just a COPY but its also an
- FD command, [LoadDL] ). This enables single drive users to capture the
- dir listings of other disks. It frees up the drive and also speeds
- things up if the DiskList gets large.
-
-
- TempDL
-
- When you capture the dir of a disk [SaveDir] it goes to an intermediate
- file, TempDL, instead of going directly to DiskList (basically it's a
- Shell> dir >>ram:TempDL ). This is for reasons of more efficient
- updating of the DiskList. If someone had many disks to do, inserting the
- directories into DiskList one at a time would take much longer than
- inserting them all at once as FD does. Single drive users would also
- need to reinsert their DiskList disk after each [SaveDir].
- You must do an [UpdateDL] or [SaveDL] to update the DiskList.
-
- [Update] will update the current DiskList. If DiskList was loaded to
- ram: the current one is considered there, otherwise it updates the disk
- DiskList.
-
- [SaveDL] will copy the ram:DiskList to its disk location after doing an
- update (as above). If the current DiskList is not in RAM it will only do
- an update.
-
-
-
- FindDisk3.1
- ---------------
-
- [ _ ] The display window opens up with the string input gadget
- activated. Here you can type in several text strings
- with space separaters followed by return.
-
- If these strings are all found on the same line of a
- directory listing in the DiskList then that dir listing is
- printed.
-
- If the search text is preceded with an ! with no spaces in
- between then the search is case sensitive otherwise it is
- not.
-
- The disk name can also be used to list its contents.
-
- Typing [q] [return] will quit the display when the "more"
- prompt is displayed.
-
- *s The commands below marked with '*s' will look at the string
- input gadget for input.
- When typing in one of these strings you must remember not
- to hit the return key, otherwise, the program will think it
- is a search string.
-
-
- [LoadDL] Loads DiskList to ram: by default or to an alternate
- path/name if specified by the environment variable dltemp .
- The DiskList in RAM then becomes the current DiskList.
- DiskList must be now be saved to disk using [SaveDL] if any
- changes are made because [UpdateDL] will only update the
- RAM DiskList.
-
- [SaveDir] Appends in ram:TempDL the ASCII (root) directory listing
- of the disk in drive DF0: by default. It takes it from
- an alternate drive if specified by the environment
- variable dldisk.
- *s It will also capture the listing of a disk or
- directory path specified by the string input gadget.
-
- [UpdateDL] This will update the current DiskList with
- the contents of the temporary file TempDL.
-
- [SaveDL] Does an update (as above) then, if the DiskList is in RAM,
- it is copied to its disk location. DiskList and TempDL are
- removed from RAM.
-
- [NewDL] Creates a new DiskList, by deleting the contents of the
- Current DiskList.
-
- *s [RemDir] This will remove the disk listing in DiskList that matches
- the diskname in the input string.
-
-
- Switches:
-
- [Root Directory/Sub-Directories]
-
- When 'Sub-Directories' is selected, the SaveDir command will recursively
- capture any sub-directories in the directory it's listing.
-
- When 'Root Directory' is selected, SaveDir will only capture the root
- directory.
-
- [Standard Display/Short Form]
-
- When 'Short Form' is selected, only the lines that contain the search
- string will be output on the display window.
-
-
-
- Environment Variables
- ---------------------
-
-
- FindDisk will check for the three environment variables listed below.
-
- *Notice* that dldisk and dltemp require the name of DiskList also!
-
- Variable = Default setting if not specified.
-
- DLDISK = df0:FindDisk/Disklist
- ------
- Disk storage location/name. This is where FD expects to find
- the permanent DiskList. It must be on a floppy or hard drive.
-
- DLTEMP = ram:DiskList
- ------
- Ram storage location/name. This is where FD will copy the
- permanent DiskList to on a [LoadDL]. This makes the DiskList
- resident and frees up the drive.
-
- DLDRIVE = df0:
- -------
- Captures directory of this drive on a [SaveDir] command.
-
-
-
-
- DiskList Format
- ---------------
-
- The DiskList is stored in a compacted form which presently:
-
- below: { unskrunched } => { skrunched }
- [] is a byte of memory
-
- * compacts strings of spaces
- { [$20] [$20] [$20] [$20] [$20] } => { [SKRUNCHAR] [30+5] }
- { [$20] [$20] } => { [$20] [$20] }
-
- * the STARTSTR is compacted
- { STARTSTR } => { [STARTCHAR] }
-
-
-
-
- BUG FIXES / UPDATE HISTORY
- --------------------------
-
-
- FindDisk3.1 Fixed search lockup. Reproducible when a small DiskList
- was used.
-
- Option created to capture all sub-directories on a given
- disk when adding it to the DiskList.
-
- A sub-directory can now be specified as a parameter
- to SaveDir.
-
- New "Short Form" listing option.
-
- Some 3.0 error returns were not propery freeing up
- allocated resouces. These were accordingly squashed.
-
- FindDisk3.0 First release.
-
-