___ __ \_ ile-\ hainer \ \__ Version 1.2 ----------- 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). [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. ATTENTION! The filechain will be written to a file named as you entered first WITHOUT caring if there is another file named the same. Any file that is named the same as the file-chain will be overwritten. So be careful when entering the destination-name. Known Bugs: ----------- -not really a bug (the files in the chain are simlpy jsr'ed): 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). if you should have found a bug, pleaze contact me (address b-low) for i can fix it. Future enhancements, suggestions: --------------------------------- -WorkBench support (yuccck!). -Confirmation requester before overwriting the DestFile -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 Thanx to: --------- - Jay Miner for this froody machine. - IRC for keeping me in contact with some 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 or: i1100401 at dbstu1.bitnet or: i1100401 at dbstu1 December 1, 1991 Bilbo the first of Hypenosis.