home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
384.lha
/
Ctype_v2.0
/
CType2.doc
< prev
next >
Wrap
Text File
|
1990-06-11
|
35KB
|
932 lines
--------------------------------------------------------------------
Ctype 2.0 Bill Nelson - Midnight Logic Software
--------------------------------------------------------------------
THIS IS A FREELY REDISTRIBUTABLE PROGRAM
This means that it *IS* copyrighted, but it may be
distributed without charge other than for media. It
may be placed on BBS's, it may be kept in User Group
Libraries, and of course (a SPECIAL CASE) it may be
used by Fred Fish as he might decide! Enjoy...
---------------------------------------------------------------------
Any questions, suggestions, or neat stuff of your own may be sent to:
Bill Nelson
8D-2310 Gaetz Ave
Red Deer, Alberta
CANADA
T4R 1C5
or to SYSOP at
Fly-By-Wire BBS
403-346-9965
300/1200/2400 24 hrs
(if you really feel like sending money - don't let anything stop you!
but I would rather have neat things that YOU programmed if possible.)
----------------------------------------------------------------------
QUICK DOCS
----------
Make sure that REQ.LIBRARY is copied into your systems currently
assigned LIBS: drawer before attempting to run this program. If
you do NOT do this, you will get a message saying
'You need V1+ of req.library'
If you attempt to start it from the WorkBench, and the library is
not present, you get NOTHING as a result!
Fire it up, and select a text file from the requester. OR use it
in any normal WorkBench way - multi-select and all. Help that
MAY be sufficient is available for the price of a tap on the
HELP key! If that isn't enough - more extensive docs follow ...
QUICK CHANGES for V2.0:
------------------------
RESIDENT 1) Fully residentable - keep it handy in memory without
tieing up a RAMdisk. Also means multiple invocations
of the program, running simultaneously, incur a memory
cost of about 1300 bytes (plus the file!) after the
first is running.
RESIZE 2) Related to above, you can now resize the window at any
time, however you wish. CType knows automatically that
you have done so, and will display the file as sensibly
as it can within the new window. See also MODE.
TABS 3) Properly handles tabs now - you pick the size between
2 and 10. Defaults to AmigaDOS normal size of 8.
TITLEBAR 4) Now shows the current FileName in the titlebar.
SCROLLING 5) Scrolling in any direction is possible, depending on the
MODE. Program will exit only on specified EXIT keys.
MOUSE 6) The Left mouse button is equivalent to the Spacebar
or any PgDn key. Can be handy if you started the
read with a mouse.
FORMATTING 7) Now does ALL its formatting "on the fly", according to
MODE your specifications. The default mode is to run a long
line "off the end" of the screen, and allow you to scroll
over to the right to view the missing portion.
If you choose have it wordwrapped to your current size
of window, no problem - and the program will automatically
select the Format MODE on its own if any lines in the
file exceed the buffer size (512 bytes). The MODE
setting is displayed in the PROMPT bar at the bottom of
the screen (if the window is wide enough!), using an
(N) for normal mode, and (F) for formatted text.
REQUESTERS 8) This program now makes use of the freely redistributable
REQ.LIBRARY, which arrived on my doorstop with the new
release of CygnusEdPro 2.0 (** WONDERFUL EDITOR **). This
means you get the best FileRequester on the Amiga, along
with simple requesters for any interaction with the
program other than single command keystrokes.
WORKBENCH 9) FULL WorkBench support this time - works if you just
double-click its icon - or if you SHIFT-click any number
of other icons, then SHIFT-double-click it - or if you
have the Default Tool of a file set to call it.
MULTI-ARGS 10) Another bonus from the REQ.LIBRARY, you get multiple
file selection from the file requester, whether or not
you start from the CLI. Works in the most logical
fashion possible - SHIFT-CLICK your choices in the
file requester.
As mentioned above, multi-args selected from the WorkBench
environment are also honoured.
ANY TEXT 11) As text files come to an Amiga from all sorts of differing
sources ( BBS's, commercial networks, word processors,
Unix and other operating systems, other personal computers)
I have attempted to handle "durn near anything" that is
covered by the term TEXT FILE. This means that it does
NOT MATTER whether the end of line character has a value
of 10 (LineFeed), 13 (Carriage Return) or even BOTH (CR/LF)
Between that fact, and the formatting provisions, you
should be able to read anything that comes your way
in ASCII TEXT format.
----------------------------------------------------------------------
WHY I DID IT
------------
The Amiga is a wonderful machine, but it is NOT the most accessible to
those just trying to learn to program it (especially in Assembly!). Most
of the source code out there is in C, and is thus mostly inscrutable- and
the machine is QUITE complicated enough (with its rich environment of
System routines) without one also needing a translator for the examples!
So - as a result of that, I decided to attempt a small, useful program
in Assembly - figuring that by the time it was running as desired, I
would know a great deal more. The next problem, of course, was WHAT to
write! The sheer volume of Freely Redistributable software (especially
utilities!) is almost overwhelming - and there aren't many gaping holes
anymore! However, ONE thing I hadn't seen done in a way I liked was a
TEXT FILE READER.
What? ANOTHER Text Reader program? What about MORE - LESS - VIEWER -
RD - READER - TEXTDISPLAY - MUCHMORE and others? 'Fraid so - another
one - and here are the reasons.
1) Many of these programs have insisted on a certain SIZE OF
FONT, or NUMBER OF LINES, or even on opening their OWN SCREEN. As
I run with either an 11 or 14 point font, on a screen of 698 X 470
that "choosing for me" drives me NUTS!
2) Many of them insist on SCROLLING through a file, rather than jumping
ahead a page at a time. Many that DO jump a page, still SCROLL to
get there. It is MUCH faster on a large screen to CLEAR THE SCREEN
(thus the name CType - for CLS_TYPE) first and get something readable
on it right away. Of course, I allow scrolling in all 4 directions
as appropriate.
3) Many of them make multiple invocations difficult or wasteful of memory
by not being RESIDENTable.
4) None of the other ones I have seen will allow full RESIZING, for
shoving them out of the way - or lining up a few of them for
visual comparison purposes.
5) Few of them did anything ELSE with the file except display it - and
those that did insisted on doing it only one way (or to the whole
thing!). I like to PRINT interesting PARTS of files to another
file for later reference - NOT the whole thing!
6) None of the others seem to be capable of making sense of FILES FROM
OTHER SYSTEMS, or even from the "capture buffer" of your terminal
program (without being run through a conversion program first). I
also wanted to be able to handle "WORD PROCESSING" files, which do
not have line-ending characters, only paragraph ends.
7) Many of them are TOO BIG for what they do for you - though there are
some glorious exceptions to this (QView comes to mind). I tried to
keep this under the size of the MORE program that comes with WorkBench
1.3, and sort of succeeded ( about 8.5K for the program itself)
So - Presenting CTYPE (or CT, when installed in your C: directory?)
----------------------------------------------------------------------
FEATURES:
---------
1) Opens a window on your WorkBench screen, using the current settings
from YOUR preferences (including any MoreRows'd additions). This
INCLUDES any possible PAL or NTSC settings. Might have trouble
with a display more than 999 pixels across though! :-) (Anyone want
to send me a monitor that I can test on?)
2) Does not disturb, and will USE the font YOU have chosen (for instance
with SetFont) [thanks Dave Haynie!] Important for those running with
11 points as a default, for example.
3) Have you ever been annoyed at a file that was written to be a LITTLE
WIDER than YOUR screen defaults? Optional word-wrap should lessen
that problem for you - at least you can have the whole WORD on the
next line!
4) Because of the format routine mentioned above, it will also correctly
handle a "word processing" file, which has an "end of line" character
only at the end of each paragraph.
5) Will correctly handle any common method for signalling an end of line,
or end of paragraph. This includes the LineFeed character (Amiga
standard, Unix) the Carriage Return ( Terminals, Mac, C64 ) or the
combination of both CR and LF (IBM compatibles, CP/M).
6) Will allow progress through the file by PAGE or LINE in any direction.
When displaying by PAGE will clear the screen (leading to a consider-
able speed-up on LARGE screens).
7) Will facilitate moving through a file by allowing both CASE SenSitIve
and non sensitive searches. A touch of the "N" key will repeat the
last search command (maintaining the state of case sensitivity).
8) Allows the reading of files to be broken up into convenient sessions,
by supporting a "goto this place" function - or more accurately, goto
a given percentage.
9) If you find something interesting, you can get hardcopy at any time,
either of the whole file, or of the currently displayed screen. Of
course, YOU define WHERE the printing goes, any valid AmigaDOS file
or port will be accepted (with PRT: the default of course).
10) Will work from either the CLI or the WorkBench - because the Amiga
has BOTH for a good reason :-)
11) Always has HELP available, and the basic prompts are always displayed.
Yes, and the help is actually selected by the HELP key!
12) If all this is NOT enough - (and sometimes it isn't!) - just call up
your EDITOR. If you have an entry in your environment by the name
of EDITOR, it will be called with a command line including the name
of the file you are currently viewing. If nothing is found in
ENV:EDITOR, a requester will ask you for a choice at that time.
13) Fully "pure" code (I trust - WShell doesn't complain!) - so you can
keep it resident - and run more than one at one time from the same
memory image.
14) As a result of the above, I decided it needed the ability to handle
a resized window properly. You can arrange it any way you want,
and the text will be displayed as sensibly as can be managed. Of
course, if the window is not as wide as the length of a single word,
that word will be broken up across lines as needed. Formatting of
the text will be determined by the MODE you have set.
15) Never thought to mention it before - but it fully supports the usual
colour changes, and other attributes that can be displayed on a
normal CLI window with the "TYPE" command - because it runs in a
normal CLI window :-)
16) Major addition - REQ.LIBRARY. All possible operations that could be
handled by a requester now do so. You get the best filerequester
I've seen on the Amiga, along with mouse or key activation of nearly
every interactive action of the program. See the Requester docs for
operation of the requesters.
17) Minor addition - you can use the Left mouse button as a substitute for
the SPACEBAR or PgDn keys. Sometimes a nicer way to browse. Anyone
know how to get the Mouse Position Report stuff from RAW: ?
-------------------------------------------------------------------------
USING THE PROGRAM
-----------------
It certainly isn't terribly hard to start using - just start it up from
your choice of the WorkBench or the CLI. IF starting from the CLI, you
can give it an optional Filename to start displaying - if from the
WorkBench, the usual CLICK on a file icon, followed by SHIFT-DOUBLE-CLICK
on the program icon will do the job as well (as many files as desired
from the WorkBench - up to 65536 anwyay!).
If you haven't specified a name, a file requester will appear for you to
choose a file from - one or as many as desired.
The program, after learning of a name, will load and run a quick check of
the contents of the file to make sure that it contains TEXT and not much
else. If it finds anything dubious, it will pop up a requester warning
you that it found "NON-ASCII characters", and asking if it should try to
display it anyway. If you say YES, it will continue checking for more
problem characters - which could lead to LOTS of requesters! IF you get
more than a couple of them, better assume the file is NOT text!
For those interested, the characters checked for are any with ASCII
values OVER 127 (hi bit set) and the CTRL-N (SHIFT-OUT). A binary file
without some of these is a RARE beast indeed, and the SHIFT-OUT char is
capable of rendering your text a complete MESS! Other than those, pretty
much anything goes - so ESCape sequences to change colours and so on will
all work just as they would with the TYPE command - with the possible
exception that CURSOR movement commands can confuse the programs sense of
where on the page it is!
Not much more to say here - it is NOT a fancy user interface, (one of the
MAIN goals was to keep this SMALL and HANDY!) but I like to think it IS
an effective one. Rather than stick with one person's idea of the
"right" keys to use for a given result, I have attempted to allow the use
of ALL the keys that make ANY sense at all, or have been expected by
convention. In particular this meant that the Page Down function
(for instance) can be called by ANY of the following:
the SPACE bar - by convention in countless MORE-type programs
shifted cursor key - by logic
PgDn Key (num pad) - so people who have to work on PC's can use it too!
Left Mouse Button - why not?
Most of the rest of the commands are implemented in a similar way, so
pretty much anything can be done the way you like it. Those commands
(such as Search and Goto %) that require input from you will call up a
requester, with (hopefully) obvious conventions of operation.
By the way, the number pad commands (PgDn, PgUp, Home etc) were
implemented the "cheap" way, so that the number that is on the top of the
key will work as an alternative input. In particular that means that
A1000 users can also hit the "3" key, even though their keyboard doesn't
SAY it calls PageDown! Of course, as an A1000 does not HAVE a PrtSc key
(based on the number pad's * key) - they will have to call that function
from the top row of the main keyboard, or perhaps from the F7 key if they
prefer.
Due to the way in which I have used the REQ.LIBRARY in this program, and
the fact that it hasn't been around very long, it might be worth your
while to check out the features of the File Requester, - at least those
HIGHLIGHTED by ALL CAPS headings. There are a few VERY nice features in
these requesters - especially if you are familiar with them (and even if
you DON'T generally read docs!)
One final note on usage - I have this program in the C: directory as CT,
and hiding in the S: directory is a little script file (included in the
archive, but easily duplicated!) I call HT; which makes a RAM: copy of
the output of the TYPE OPT H command, and feeds THAT to CType. This
enables this program to handle binary files too! :-) Of course, under
1.3 you can have the script bit set, and make the file automatically
executable when you enter its name - without having to type "EXECUTE HT"
to make it run.... should do until I add a HexType mode as well ...
-------------------------------------------------------------------------
COMMANDS IN DETAIL
------------------
Command Numeric Cursor key Equivalents
Key pad
PageDown
--------
KEYS:
<SPACE BAR) (PgDn) (SHIFT-DOWN) (3) (MOUSE CLICK)
If the display is not already at the bottom of the file, will cause the
screen to be cleared, and the next screenfull to be displayed. This
programs defines a PAGE to be the size of the window it has at that
moment to work with.
PageUp
------
KEYS:
(BACKSPACE) (PgUp) (SHIFT-UP) (9)
If the display is not already at the top of the page, will cause the
screen to be cleared, and the previous screenfull to be shown. If this
movement would take you "past the beginning" of the file, one full page
will be shown from the beginning of the file.
LineDown
--------
KEYS:
(RETURN) (DOWN) (DOWN) (2)
If the display is not at the bottom of the file, will cause the display
to be scrolled up, and the next line displayed.
LineUp
------
KEYS:
(DEL) (UP) (UP) (8)
If the display is not at the top of the file, will cause the display to
be scrolled down, and the previous line inserted at the top.
ScrollRight
-----------
KEYS:
(R) (RIGHT) (RIGHT)
This command will cause the screen to be redrawn 10 characters to the
right of its previous position - to allow the end of a long line to be
seen. It jumps by 10 characters each time it is called, to a maximum of
120.
NOTE: If FORMAT mode is active, this command is disabled!
(as it would serve no purpose!)
ScrollLeft
----------
KEYS:
(L) (LEFT) (LEFT)
This command will cause the screen to be redrawn 10 characters to the
left of its previous position - if you are not already displaying the
beginning of a line.
NOTE: If FORMAT mode is active, this command is disabled!
(as it would serve no purpose!)
GotoTop
-------
KEYS:
(<) (HOME) (SHIFT-LEFT)
This command will clear the screen and display the file again from the
beginning.
GotoBottom
-------
KEYS:
(>) (END) (SHIFT-RIGHT)
This command will clear the screen and display the file again from the
beginning.
ESC/QUIT/NextFile
-----------------
KEYS:
(Q) (ESC) (F10)
This command will abort the display of the current file, and will then
display the next file that you have selected. If no further files have
been selected, you will get a requester inquiring for your intentions
(Load another file, or EXIT)
UNCONDITIONAL Exit
------------------
KEYS:
(CTRL-C)
This command will cause the program to be exited, regardless of any
remaining undisplayed files.
TabSize
-------
KEYS:
(TAB)
This command will cause a requester to appear, with the current setting
of the tab size in it. Press (RETURN) to leave it unchanged, or change
it to any value between 2 and 10 as you wish. Much of the source code
out there was written with a tab size of 3 - so now you can view it as
the programmer wrote it...
FormatMode
----------
KEYS:
(F)
This command allows a little flexibility in the way that the file is
displayed. When in Normal mode (shown by a MODE = N in the prompt)
a long line will "disappear off the end" of the screen, and can be
retrieved by use of the ScrollRight and ScrollLeft commands. Giving
this command will cause the line instead to be formatted with word
wrapping to the current size of your window. This will be indicated
by a MODE = F in the prompt.
If a file contains lines longer than 512 characters, FORMAT mode will be
entered automatically, and you will NOT be able to change it on that
file.
SearchString
------------
KEYS:
(/)
This command causes a requester to appear, in which you enter the exact
text you wish to find. This version of the command is Case Sensitive,
meaning that 'TesT' is NOT EQUAL to 'test'. If the text is found, the
screen will be redisplayed with it contained in the TOP line of the
screen. No other highlighting is done. It may be repeated with the
(N)ext command.
SearchString
------------
KEYS:
(.)
This command is equivalent to the above, except that the search is NOT
case sensitive. If you enter 'TeSt' it will match with 'test', 'Test'
and any other permutations of upper and lower case.
NextOccurence
-------------
KEYS:
(N)
This command will repeat the previous search from the current location
in the file. Retains any characteristics of the previous search,
including the state of case sensitivity. If the string is not found,
the page from which it STARTED will be redisplayed.
GotoPercent
-----------
KEYS:
(%)
This command will pop up an empty numeric requester, that will accept
values between 0 and 100, and then attempt to display from approximately
that percentage of the file.
CallEditor
----------
KEYS:
(E)
This command will attempt to call up your favourite editing program, and
pass it the name of the file you are currently viewing. To determine
what that editor might be, it looks for an entry in your environment by
the name of EDITOR. In practise at the moment, this means a file in
your currently ASSIGNED ENV: directory, by the name of EDITOR. IF this
entry is not found, a requester will attempt to discover your choice.
Enter in the path and name of your editor, and we'll give it a try.
(eg: c:ed - as mine reads for CygnusEdPro)
PrintFile
---------
KEYS:
(P) (SHIFT-F7)
This command will cause the file requester to re-appear, and solicit
a destination for this copy of the file. It will default to PRT: if
you just hit (RETURN), but you can enter ANY valid AmigaDOS file, and
the WHOLE FILE will be "printed" there.
If the FILE exists already, another requester will appear to inquire
whether you want to APPEND to the existing file (add on the end) -
OVERWRITE the existing file (replace it) or CANCEL the whole operation.
PrintScreen
-----------
KEYS:
(*) (PrtSc) (F7)
Use of this command operates similarly to PrintFile, but will result
only in the CURRENTLY DEFINED PAGE being printed to your chosen
destination.
NOTE:
The definition of the CURRENT PAGE will match what you see which leads
to an extra measure of flexibility - you can define fairly precisely
just what will be printed by scrolling and resizing the window as
necessary to "frame" just what you want in the resulting file. Of
course, if what you want to print exceeds 1 screen full, you can APPEND
other sections as required.
Help
----
KEYS:
(H) (HELP) (?) (F1)
Touching any of the above keys will cause a requester to appear
with a reminder of all of the commands that this program recognizes,
and a question: (MORE HELP?) Choosing YES will cause the second
"page" of commands to appear, and NO will cause your return to the
main program.
-----------------------------------------------------------------------
THE FILE REQUESTER
------------------
This came attached to the files I received: should speak for itself!
=============================================================================
Official release of version 1.22, Jan '90
Req.library is Copyright ©1989, 1990 by C.W. Fox and Bruce Dawson. It is
freely distributable. No charge may be made for it's distribution, except
for a nominal media fee.
Feel free to distribute and use this library with your programs, along
with a notice that the library is 'FreeWare'.
=============================================================================
This program was written with the aid of the above redistributable
Requester library. This library was first released on the disk
with CygnusEdPro from ASDG. (a GREAT editor :-)
Here is a USER GUIDE of sorts for you...
BASIC REQUESTER USAGE
You probably have some familiarity with file requesters, if you have used
your Amiga for any length of time - but this one has more flexibility
than most of the alternatives - and thus perhaps needs a bit of an
explanation.
The requester will open up a LARGE window on your screen (I have it set
to display up to *40* files if your screen is big enough!), containing
several Boxes within it - all with specific purposes.
At the very TOP of the requester is a Title bar, containing, from left to
right, a CLOSE GADGET (for cancelling it) a descriptive TITLE (which
should tell you what operation you are selecting files for) and the usual
system BACK and FRONT GADGETS.
Next is a line describing the files it has found in the current directory,
and specifying how many it has shown, or hidden in the main area.
Directly under this is a PARENT gadget, which will return you one level
up in the directory tree, if there IS a higher level. This could
change, for example, the file list from those for RAM:Work to those
for RAM:
Now there is the MAIN or FILE area. In this are displayed all the files
in the current directory that match the conditions set elsewhere. They
will first appear in the order they are found, but a click in the
accompanying SCROLL GADGET will SORT them for you. You will notice that
in this usage, the FILES and the DIRECTORIES are displayed in different
colours, for easing your recognition. Files additionally have their
SIZE in BYTES displayed to the right of the box, while directories have
the word (dir) displayed to their right.
To the right of the FILE area and its scroll bar is the DEVICE area. In
it is a sorted list of all available DEVICES that could be located in
your system. This includes floppy drives, hard drive partitions, and even
assigned names that you have set up. This area is also accompanied by a
scroll bar should not all entries fit in the "window" available.
Under the FILES area are located two STRING GADGETS, labelled for
DRAWER and FILE respectively. The contents of these two boxes reflect
the choices you have made. You may type directly directly into them
to change their contents at any time. If a COLOURED BLOCK shows up
in a block, then your typing will be directed into that box.
To the right of these are two more STRING GADGETS, labelled HIDE and
SHOW. These may be used by those familiar with WILDCARDS to restrict
the display in the FILES area to those that match whatever criteria
you choose.
The final lineon the bottom consists of three small gadgets, labelled
as OK GET DIR and CANCEL.
Clicking on OK will cause the requester to leave, and the current contents
of the DRAWER and FILE boxes are taken as your choice.
Clicking on GET DIR will cause the requester to rebuild its list of files
in the FILES area. The requester remembers where you were last time, and
will reflect your previous choices. It also remembers the contents of
the directory - and will NOT know of any changes you have made since the
time it last read it. Use this whenever you doubt that it is displaying
the true state of affairs.
Clicking on CANCEL will have the same effect as clicking on the close
gadget in the title bar - you will be assumed to have NOT made a choice.
Typical use of the File Requester will have you seeing the file you wish
in the FILE area, and clicking on it. This will cause the name you choose
to show up in the FILE box, and a click on OK will return this to the
program as your choice. Alternatively you can click QUICKLY twice on the
filename, with the same effect. Clicking on a (dir) entry will cause
the requester to display the contents of the directory you chose
(if any), and between this, the DEVICE list, and the PARENT gadget you
can go ANYWHERE in your file system and display any file there is
available in your FILES area.
KEYBOARD FEATURES
When the requester first comes up, the CURSOR will be in the FILE
box, and any typing you do will appear there - so if the directory
is correct you can just enter the name you wish, and strike (RETURN).
If you need to change the directory, you can use SHIFT-RETURN to
activate the DRAWER BOX, enter a directory name, and then striking
(RETURN) will return you to the FILE box.
If you wish to change the contents of the HIDE or SHOW boxes, they
can be reached by using either ALT key with RETURN, and then you
can switch between them with the same SHIFT-RETURN. Hitting RETURN
in either HIDE or SHOW will return to the FILE box.
RIGHT-AMIGA-L will cause CANCEL to be selected for you.
MULTI-SELECT
Often it can be handy to select more than one file at a time, if you
know you have a few to work on. This program allows it, and the
requester supports it in the most logical way. In the same way
as you can select multiple icons from the WorkBench by clicking on
one, then holding SHIFT and clicking on others - you can do it to
the filenames shown in the FILES area. Double clicking on the last
one, or choosing OK will cause the whole list to be passed on to the
program as your choices.
HIDE and SHOW
Any single instance of the AmigaDOS wildcards (or the ARP ones :-) can
be used to restrict the files shown in the main part of the requester -
which can reduce confusion considerably.
For example, if you are programming, your current directory is likely
to be cluttered up with .o files. An entry of #?.o in the HIDE box
will prevent their display in the FILES area. The top text line will
inform you of how many files are shown and how many are hidden.
You can extend the checking by using the AmigaDOS convention of using
a vertical bar | as an OR operator - so to hide BOTH files ending
in .o and files ending in .i, then the entry should read like
#?.o | #?.i - and neither would show up in the FILES area.
The SHOW gadget works similarly, but has priority over the HIDE gadget
should both contain specifications of this type.
By the way - "nested" definitions are NOT decoded, for the previous
example the AmigaDOS legal #?(.o|.i) specification will NOT work.
Also - I have enabled a feature separate from the Hide and Show boxes
that keeps any file ending in .info from showing up in the requester.
You should NEVER have a reason to see those files in here, as you do
NOT generally READ a .info file! :-)
OTHER REQUESTERS
Most of the other requesters operate in a similar manner where
similarity exists, but with a few additional conveniences. In
particular, several keyboard shortcuts exist as equivalents of
selecting a particular gadget.
(ESC) (Q) (B) (LEFT-AMIGA-B) (N) are all the same as selecting the
CANCEL gadget on any other requester that appears here. The
CANCEL gadget will always be the one on the RIGHT BOTTOM corner
of that requester...
(you will notice that means that (ESC)ape, and (Q)uit and (N)o are
understood, as well as the Intuition managed LEFT-AMIGA-B and its
no-shifted B - for similar behaviour as system requesters..)
(Y) (LEFT-AMIGA-V) are the same as selecting the POSITIVE gadget, which
will be the one on the LEFT BOTTOM of the requester.
-you will notice these correspond to (Y)es and to the system-managed
LEFT-AMIGA-V and V keystrokes.-
If there is a middle gadget, the only shortcut for it is to use
the (M) key...
RIGHT-AMIGA-L should CANCEL any requester that appears...
---------------------------------------------------------------------------
LAST THOUGHTS
-------------
I had a LOT of fun writing this program (and yes, I think I *DID* learn
something). In hopes of making it easier for someone else just learning
Assembly on the Amiga, the source code is included. Perhaps SOME of the
code (and comments) will make it easier to see how it all works. PLEASE
feel free to use any of the code you wish in programs of your own that
are intended for free distribution - but include a reference in your docs
or source to the person who sweated it out first, OK? I retain the
copyright to the code as whole, and do not wish any commercial use to be
made of the program (not that any of the code is that good, probably,
anyway :-) unless I am contacted first...
Thanks to David Choboter for creating an icon - that doesn't look as if
it came from someone who uses only the CLI (as it WOULD have otherwise!)
Finally - many thanks to the Beta testers (OK - entymologists!) who both
helped squash the bugs, and pestered me for improvements where they were
sorely needed!
Michael Velez
Rob Zelt
Brad Nelson
Niel Ericson
Doug McNeil
and others from
Amiga User's of Calgary
(A.M.U.C.)
and the
Central Alberta Amiga Owner's Society
(C.A.A.O.S.)
who also contributed. Thank you one and all!!
Bill Nelson 00:00:01 3 May 1990
-------------------------------------------------------------------------