home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
595.lha
/
File-Chainer_V1.3
/
File-Chainer_V1.3.doc
< prev
next >
Wrap
Text File
|
1980-01-22
|
9KB
|
212 lines
___ __
\_ ile-\ hainer
\ \__
Version 1.3
-----------
Copyright 1991 by Bilbo the first
---------------------------------
What is it ?
------------
File-Chainer is an executable file, that cannot be started from WorkBench
via icons, but from CLI (as well as from any other program that doesn't
call File-Chainer by using the icon-information).
Furthermore it's purpose is to enable you to create an executable file
out of a desired number of executable files. These executable files will
be executed in given order, when executing the resulting executable file.
"Hmm... This is what i use scripts for" you could say, but listen:
Of course the resulting executable file (in the folling text we wanna
call it the "file-chain") will NOT load the other files to execute them,
but it consists of them. What? Yeah, when you have loaded the file-chain,
you already have loaded with it all chained files. By the way let's have
another approach to the subject (a more technical one). The file-chain
consists of all hunks of the specified files that you wanted to link;
furthermore it includes an additional hunk that will (when starting the
file-chain) execute the other files in given order. This order is
specified by giving the arguments in a specific order.
What is it good for ?
---------------------
Well, tricky... I really don't know exactly. Sorry, but think about it
yourselves. Perhaps someone wants to link his little intro before
another program (remember good ole 64-times). It would be possible
to create a one-file-megademo out of several demos (but indeed you
would need lotsa memory because demos mostly are quite memory
consumptive). Someone proposed to use it to speedup the startup
by chaining sequentially executed files and only execute the file-chain
in the startup-sequence (this will minimize the drive-head movement
for the startup-sequence needs not to be examined between executing
two executable files.)
[Hey, i am happy about every kind of feedback to this production,
when u think that I should know about it, write me what you do
use it for. (address below) ]
Yeah that's great, but...
How do I use it ?
-----------------
usage: FileChainer [DestFile File File {File}]
eh? What does this mean? Well, let's explain it:
The [ ] means the you can omit all parameters.
If you give parameters you must at least specify three filenames
(namely DestFile File1 File2). The first filename will be the name that
will be given to the file-chain when writing it. The other filenames
specify the files that will be linked to the file-chain.
The { File } means that u can specify so many filenames as you like to
or simply omit a further filename. The corresponding files will be
linked to the file-chain in the order you gave the pararmeters
In other words: you must give a destination-filename and as many
filenames (at least 2) of files, that will be linked to the file-chain,
as you like to. Hmmm... let's have an example:
FileChainer RAM:Test SYS:Demos/MyLatestDemo
SYS:AdditionalC/MyVirusChecker
SYS:Games/MyTicTacToe
after pressing the big one (namely Return or Enter) File-Chainer will
ask you for an argumentline for each of the files you specified.
When you don't want specific parameters for a program, simply enter
nothing and press Return/Enter. If you don't have specified an
argument-line for a file, when running the resulting file-chain, this
file will be given the parameters you have given in the argument-line
for the file-chain itselves. Well, when no error
occurred you will find a file named Test in the Ram-disk.
When you should execute this file you will at first see MyLatestDemo,
then MyVirusChecker will look after some little programs that are
creeping around in your memory, and finally you can play MyTicTacToe.
After exiting MyTicTacToe you will return from RAM:Test.
Another example
FileChainer Ram:Test2 File1 File2 File3 File4 File5 File6
will create Ram:Test2 than, if executed, will start the files
File1,..,6 in the following order:
File1, File2, File3, File4, File5, File6
So, but what about the case if I omit all arguments ? Well, then the
File-Chainer will try to use requesters to let you specify the
filenames. So when you omit all parameters, File-Chainer will use
the REQ.library (of course you will need this library in your LIBS:).
You will need at least version 2 of REQ.library (I use revision 5).
The first filerequester enables you to specify the destination name.
Note that this requesters border has another color than the following
requesters for you are warned that this requester asks for a filename
for writing something on your media.
If you cancel the requester you will stop File-Chainer and get
back where you came from. The following filerequester will ask you
for specification of the name of the file that will be executed
first (when starting the resulting file-chain). When u hit Cancel
you will exit with an error-message and get back where you came from
(remember that you must at least give two files that are to chain).
When you entered a filename another requester will ask you for a
further filename. You still can exit the File-Chainer when you cancel
this requester. When you entered a filename File-Chainer will bring up
a further requester every time you entered one more name.
Every requester that asks you for a file to chain in, will be followed
by a string-requester that asks you for an argument line for the last
specified file. Of course arguments are optional. When you cancel the
third (or higher) filerequester you cannot exit anymore, because File-
Chainer assumes that you are ready with your fileselection and will start
to create the filechain.
The filechain will be written to a file named as you entered first.
If there exists any file that is named the same as the file-chain
you will be asked to confirm to overwrite this file.
Known Bugs:
-----------
-not really a bug but caused by the fact that the files in the chain are
simply called by a jsr:
- arp-commands use exit() (but not rts) to leave, so after running
an arp-command in the chain the folling file can't be run (returns
simply to where it came from).
- executable files that do an "unintelligent" segment-splitting
(for starting as backgroundtask) cause an recoverable alert, because
their "unintelligent" method doesn't consider the hunks of the other
files. More intelligent would be to allocate memory, copy the own
hunks into and do a create process (yeah, Zaphod, your Include-
Completion works in every position of a file-chain!). I know I can't
demand to rewrite all these programs, so I must solve this problem in
future versions by doing a create-process on the hunks of each files, so
the files can't mess with segmentsplitting.
if you should have found a bug, pleaze contact me (address b-low) for
i can fix it.
Future enhancements, suggestions:
---------------------------------
-all bugs (know and not known) fixed ;-)
-WorkBench support (yuccck!) (simply the same like execution from CLI
without parameters, or if multiselected, chain all multiselected files).
-Script-files where we can define the files and the parameters
(would be the same effect like compiling a batch-file!)
-Overlay techniques for memory-handling (or freeing mem after running a file)
-File-Unchainer, that extracts all files from a file-chain.
Please tell me which of these you would like to see implemented in future
versions of File-Chainer. If nobody wants any enhancements, there probably
won't be any, so contact me.
History:
--------
V1.0: -this is it and there was none before, what did you expect ???
V1.1: -some minor bugs fixed (commandline parsing)
-now works on chip&fast-hunks, too
-not using ARP-Filerequester or own Requester when REQ.library couldn't
be opened (I simply hate this ARGGH-Filerequester)
-when starting File-Chainer without parameters all output of actions
will be supressed/redirected to requesters instead of CLI-window.
V1.2: -you can give each file an own argument-line
V1.3: -bug fixed: doesn't request an argument-line when having specified
too few files to link
-confirmation requested if our destfile would overwrite an existing
file with the same name
-holding all filenames (of the files that are included in the file-
chain) in a name hunk, for a File-Unchainer (if I should write it)
can extract the files under their original names (excluding path)
Thanx to:
---------
- Jay Miner for this froody machine.
- Zaphod of HYPENOSIS for never beeing content with the current version
of File-Chainer, thus helping to improve it.
- IRC for keeping me in contact with so many nice guys.
- God for his much more froody creation'n'salvation.
If you wanna contact me, for whatever,
send an e-mail
to: i1100401 at dbstu1-rz.tu-bs.de (internet)
or: i1100401 at dbstu1.bitnet (bitnet)
or: i1100401 at dbstu1 (earn)
December 12, 1991 Bilbo the first of Hypenosis.