Program: Zmanager Author Bob Peddicord ZMANAGER Version 21d 11/18/88 by Bob Peddicord Program now logs into drv/user the way it should. also will change back to menu #1 when menu name is changed. Version 21c 09/06/88 Just added the ability to turn the cursor on and off. This is more for DataStamper then anything else. If set cursor is turned off on entry to program and turned on exiting the program. There are 2 patch points to put in your escape sequences. If this is not wanted just make sure null is first char. Version 21b 08/08/88 Just a few small changes: 1. Zmanager now knows it's name no matter what you name it, so no more problems with renameing and not being able to find itself. 2. Whatever name you give the program will now be displayed in the header instead of Zmanager. 3. Zmanager is now stored on the shell stack like zfiler/ease. This means that the Dr/Usr is first then the name. 4. The bug that caused the pointer to not return to pointed file is fixed, it will find the file no matter what system bit is set. 5. The WS diamond has been added back in, it's now a option that can be turned off and on. VERSION 21a: 07/07/88 This release is the work of 2 or 3 months in changes. The main reason it took so long was waiting for the new library's. Well at this release i still don't have the library's but have reworked the old ones, with much disassemble of different programs, i have most of the old library routines changed. This makes it so that the program is smaller then older copyies and runs faster. The program has been updated to ZCPR33/34 compatability, and some of the new routines require ZCPR34. One of the changes was to put the filemask in the shell stack. This leaves the program using just system file 2 and 3 and leaves 1 and 4 for the user to use. Some code was taken out as it was redundent, and consolidated other routines, the major changes took place in the way the command lines and menu display are processed. The menu process was similar to the macro process of ZFILER, but has been changed so that both the menu display and commands process use the same routines to expand them. This makes the menu part similar to MENU in that it can display the expanded system file names, DIR/DU and many other enhancements. The program now supports DateStamper, if DS is present the time and date is displayed in the header, if not it is blank. The display can be disabled by changeing the option, see option display, or by setting the option to no. The display can be changed to whatever display you want. As always the options and controls are changeable (see insert). Another major change is in the ^Z commmand, (for executing commands), after you input whatever you want to do. The command line is parsed just like the menu display and menu controls. This means that you can use the builtin formats ($p,$tc,$Hd/r etc.) all formats may be used and will be correctly expanded. Including the date if DS is present. Another minor change was to the way zmanager stores the menu number, it is now a full word (2 bytes) instead of 1 byte. This means that you can store it anywhere in memory you want to. Just change the 2 bytes after CTRLS in the program to whatever location you want. (remember low byte first) I want to thank J. SAGE for his arunz program for this was where i got some of the ideas, plus i want to thank him for the use of some of his documentation from ARUNZ. As in past copies, ALL special chars must be preceded by a '$' this is the escape char for the program. The following is a list of the known parameters to the program, you will notice that most are similar to ARUNZ'S parameters. By no means am i trying to replace arunz, this program was written to work in conjunction with Arunz. parameter forms: $Tc parsed token $Hd home DIR $Hr home DU $" user input $' alternate user input $P Current file, complete spec DU:FILENAME $Du Date/Time $& Menu change (external) $: Menu change (internal) $Sc# System file $Am ENV address $+m ENV offset address $@fAm ENV address content $@f+m#### ENV offset content $Mf#### memory contents $Rf## register contents See included SPEC.VMN for how to use. A. Parameter Summary -------------------- format 'f' = H hex D 3 decimal F floating decimal T two decimal O one decimal module 'm' = B BIOS M MSG C CCP/CPR N NDR D DOS P PATH E ENV R RCP F FCP S SHL I IOP X XFCB L MCL component 'c' = N FN D drive or default T FT U user or default F FN[.FT] C current file units 'u' = Y year H hour (mil) M month C hour (civ) D day N minute A AM/PM Version 18 thru 21 not released Zmanager now has the capability of using A..Z, 0..9 and any and all special characters as menu choices. I changed the "Z" command to a control char "^Z", so that one could use as many characters as possible. MAJOR COMPATIBILITY CHANGES - PLEASE TAKE NOTE. I have changed the macro parameter designator character from '%' to '$' to be consistent with all the other script-building programs. In order to expand the files correctly, I had to make the menu change character into '$:'. Also had to change login character to '$&'. Have eliminated the 'P' from all macro's so all menu's will have to be changed. You will have to change all '%' characters to '$'. You will also have to change any resulting '$$' to '$P'. I have eliminated the old '%PF' alternate to '$P' for the complete file specification for the currently pointed-to file. Since '$$' is now needed for a dollar sign, only the '$P' form can be used for the file. ZMANG pushes only the name of the program (default ZMANG) followed by a null as the command. By not prefacing it with a DUU: or DIR: but instead relying on the path to find it, it avoid problems with systems that do not recognize either or both of those forms. All other parameters are derived from other data on the shell stack or from the system file names in the environment. When ZMANG is first invoked by the user, the current directory and any requested directory and file mask included as a parameter on the command line are stored in the shell stack entry. The two directories are stored in binary form as used by the SYSLIB routines. This saves code and avoids any problems with recognizing DU and DIR forms. It also avoids problems with returning to a directory with a password. Once one has been admitted to a directory, subsequent accesses are automatic. By keeping the original DU on the shell stack, ZMANG can return to the directory from which the user invoked it no matter how many other directories were subsequently logged in as the result of macro executions or 'Z' commands. In the past, after executing a command line from the 'Z' command, the shell wait flag was always set and one was always greeted by a "strike any key" prompt before returning to ZMANG. With ZMANG if you enter a command line starting with a space, then shell waiting will be disabled and you will return directly to ZMANG without any delay. A major change has been made in the way macro scripts are expanded, and along with it some changes were made in the old parameters, and new parameters have been added. The macro line is expanded in three steps. First, any prompted user input is processed. This is initiated by the parameters $" or $' that begin the prompt text (NOTE: this replaces the earlier convention of using just the single or double quote characters -- now they are parameters and there must be a dollar sign with them). The prompt is terminated by a matching single or double quote (no dollar sign). If you want to include one kind of quote character in the prompt, use the other form as the delimiter. The great advantage introduced by expanding user input first is that it is now possible for the user to be prompted to enter a MACRO LINE, including parameters. The second step in the macro expansion is the substitution for all parameters that do not depend on the pointed-to file. This part of the expansion is done for both regular and group macros. The final step in the macro expansion is the substitution for parameters that depend on the file pointed to. The matter of entering dollar signs into macro scripts is a very subtle one. The way it works in ZMANG is that expressions of the form $C, where 'C' is any character, are passed as is if the expression is not one of the recognized parameter expressions. '$$' is the parameter expression for a dollar sign. One final comment. Don't forget that ZMANG macros run from the home directory, the one you were logged into when you invoked ZMAMAGER. If the commands you are using can accept DU: prefixes (CRC, for example), then you can use the $P parameter. Alternatively, you can log into the currently displayed directory using $d$u: and return home using $h:. The first method is to be preferred, since the second will give problems if you are in a user area beyond 15 and your version of ZCPR33 does not support logging into those user areas. ; Version 1.7 06/25/87 Bob Peddicord ; 1. Stripped out code for logging in Dr/User ; 2. Made Compatable with zcpr33 ; ; Version 1.6 04/01/87 Bob Peddicord (not Released) ; 1. Minor Changes ; ; Version 1.5 03/07/87 Bob Peddicord ; 1. 'Z' command is now builtin command (can be changed at ctable) ; command display may be changed by patching just after ; options. Enter a space as first char to disable shell wait. ; 2. '^J' added to jump to specified file (ala Zfiler/Vfiler). ; 3. '[ any file ]' is now in highlighted in reverse vidio, ; not in dim. ; ; Setzmang Ver. 1.4 updated to allow all special chars to be input. ; ; Version 1.4 03/01/87 Bob Peddicord, (not released) ; 1. Changed help format to be more logical. ; 2. Added 2 more controls ( +,- ). ; 3. Zmanager now uses shell stack for storing drive/user. ; 4. Changed name to reflect ZSIG program. ; 5. Now logs into drive/user with login option. ; ; Version 1.3 2/15/87 Bob Peddicord, (not released) ; 1. Zmanager now comes back to pointer file. ; 2. Reworked command line to use BDOS (ZRDOS) line editor. ; 3. Changed (nofile) to [any file]. ; ; Added program Setzcmd to allow changing options and controls ; without having to reassemble program. (or use other programs to change ; patch bytes) ; ; Rewritten: Bob Peddicord ; ; 1. The options are now changable, like Vfiler. (use ESC to call) ; The options may only be changed if the WHEEL byte is set. ; 2. The options are stored on the shell stack to allow more ; universal shell management. ; 3. The directory change routines have been condensed together, ; you may now change menu's manually from the command line. ; 4. Two new commands have been added: Delete a file, and Rename. ; Both commands require the WHEEL and/or OPTIONS to be set in ; order to work. ; 5. The program now works with either Dim or Reverse ; vidio Terminals. ; This makes it more universal with different terminal types. ; 6. Fixed the display of $SYS files, so that if WHEEL is not set ; they will not show up. (didn't like the way it was handled) ; 7. Now have the ability to display the amount of K for ; individual files ^G command. ; Also has the ability to display size just after ; Current file name. ; 8. A help screen is now avaiable, ; as displayed in the command line. ; It shows all the control characters used. ; ; OPTION LIST: ; Display $SYS files ; Display amount of free space ; Display size of program ; Allow renameing files ; Allow deleting files ; Sort by type