** You've tried GLF" . . . **** AND YOU'VE PROBABLY USED "TLF" . . . ******* N O W -- G E T R E A D Y F O R . . . ********** ****************************************************************** * * * PLF - Process Library Files * * * * by * * * * Rick Charnes (10/16/87) * * * ****************************************************************** +++++++++++++++++++++++++++++++++++++++++++++ GUINNESS BOOK OF WORLD RECORDS WINNER: "World's longest alias" $$$$ 1st prize 1st prize 1st prize $$$ +++++++++++++++++++++++++++++++++++++++++++++ SYNTAX: PLF [DIR:]LIBNAME PLF is a multi-purpose ZCPR3.3 library alias to be inserted in one's ALIAS.CMD, used to type, extract, and/or print up to three individual compressed or uncompressed members from inside a library in a single pass from its internal command line. The compressed files may be crunched or squeezed. They will be uncompressed during extraction. PLF combines the functions of GLF and TLF and adds much more. After loading, PLF will present you with a directory of the specified library and prompt you for the name(s) of the file(s) to view, extract, or print. One, two or three filenames may be specified. To view, enter either '/V' ('View') or '/T' ('Type'), then the filename(s) separated by spaces, i.e. as individual parameters. To extract, first enter '/E', then up to three filename parameters. A DIR: or DU: specification may be given on any or all filenames to which to extract the file(s), and wildcards may be used. Since LT, the program that PLF uses for viewing library files, is patched to ignore all common binary filetypes, entering '/V *.*' or other file mask involving wildcards works quite nicely. PLF/LT will type on the console each text file in the library and ignore all non-ASCII files. To print, use '/P' instead of 'E'. PLF will extract your file(s), print them and then erase them so as not to clutter up your disk. If you are using the standard, shorter floppy disk version of PLF (PLF.CMD), you will be then be put into an "inspect" mode for printing. If the file presented to you is indeed one you wish to be printed, you may type "Y" or and the file will be printed. The longer, hard and RAM disk version (PLF-RAMD.CMD) works in a more automatic fashion and usually is able to select your files for you. PLF assumes with the printing option that you have no need for the files existing on disk outside the library and therefore erases them after printing. Wildcards may be used with the /P option only if all files are uncompressed. Finally, one often wants to extract and rename a file in the same operation, so PLF makes provision for this with its '/R' switch. The first parameter after the '/R' should be the desired file to extract, with the proper DIR:/DU: spec if desired, followed by the filename to which you wish it renamed. Be sure to specify the correct DIR: at the FIRST filename. Unlike view, extract or print, the rename option will permit only one filename. After any of these (optionally multi-file) operations you will again be presented with a directory and an opportunity to repeat the operations. CTL-C to abort when done. A help screen may be brought up if PLF is invoked with no parameter or the traditional ZCPR3 '//' help syntax. ------------------- REQUIREMENTS: ------------ This alias requires ZCPR3.3, and will work without modification only on systems allowing the character to go directly to extended command processing. Users with systems configured to permit only the ALTSPACE character ('/') should simply change the space characters. PLF assumes you are running a version of ARUNZ that runs at 8000 hex. (see the GO command in P4). You must also be using the Z33 flow control package and Z33IF.COM for PLF to work. Your ECHO, transient or resident, should be able to display lower case letters with '%>'. Files you must have along your path: ----------------------------------- Not supplied: PRINT.COM RS.COM (RESOLVE.COM renamed) LT.COM (standard CP/M Library Typer) LLF.COM SAK.COM LEX.COM (Bob Peddicord's new Library EXtracter) Supplied: S.COM (quiet-patched version of SHVAR.COM) REG.COM (quiet-patched ZCPR3 utility for use only if you do not have REG turned on in your RCP) RENA.COM (Terry Hazen's great RENAMZ renamer renamed) T.COM (My own patched version of TYPEL36) M.LBR (put this in your A0: directory, contains help file PLF, typed by T.COM) My preferred message of creating and accessing a help message screen or status display is by making a text file and storing it in a file M.LBR that I always keep in A0:. Then in my alias I read/display it with my version of TYPEL.COM renamed to T.COM. This is short, very fast (loads much faster than making a COM file out of it with one of the text- to-COM-file makers and storing it in one's COMMAND.LBR) and packs a real wallop. One can fit a huge number of help and status messages in one's M.LBR. This is what I have done with my help file PLF which is stored inside M.LBR here. I urge folks to adopt this method if they find it valuable. My own M.LBR has perhaps 25 tiny text files that add greatly to the professional appearance of my aliases. Using an ECHO command line directly inside one's alias is sometimes fine but quickly overflows the command line buffer for anything but the very shortest messages. The file 'S.COM' provided in this package is SHVAR.COM renamed to save space in this alias, and should be placed along your path. I am at all times in my alias-writing process acutely cognizant of the 200- character command line buffer limit, and I always do everything I possibly can to conserve space. Renaming files is one of the easiest ways to do this. I long ago renamed the ELSE command in my FCP to L; all my alias use this L command. In a long alias using much flow control this can save a tremendous amount of space. I have supplied in PLF10.LBR my own version of the alias in which I use 'L' for 'ELSE'. If you take a look at P7 you see I can fit an extra possible filetype in there that overflows the command line buffer if the full name ELSE is used. I have done the same with my RCP ECHO command which I have renamed to E; I do a lot of ECHOing and status reporting and this saves me precious buffer space in long aliases. I make use in PLF of the ZCPR3 register 0. This alias works best if you have REG implemented in your RCP, and also that it be patched to not echo any console display. Otherwise you're bothered by the display of numbers floating on screen as the register value is sent to the console. This can get distracting and takes away from the professional "feel." The easiest way to do this is to go into RCPREG.LIB and put a single RET instruction just before the routine "REGTEST01:". I have provided a version of RCPREG.LIB modified in this way. If you would like to have your registers set quietly simply re-assemble your RCP using this file. Then if you ever want to have the register numbers echoed to screen as they are changed, simply rename your transient REG.COM and use it for those purposes. If on the other hand, God forbid you don't have REG turned on in your RCP, and prefer not to for some reason, I have also provided a patched version of the transient REG.COM (do not distribute this) that will do its thing without displaying anything to the screen. Setting the quiet flag in one's command line and running the unpatched REG.COM is not sufficient; it will not print its sign-on message but will still display the register value. We want NO screen output at all; this takes care of it. Have fun with PLF. Please phone or write if you like it or have any comments. Rick Charnes (415) 826-9448 or, only if the first is busy, 821-4345. 1165 Shotwell St. San Francisco, CA 94110