* BOK001.QM * Written By Tom Hogshead * [ See BOOKxx.QM For Use ] * 8/26/91 * Key Subfile Description * ===== ========= ===================================================== * @(f) --Jump From Index Line To Macro (Encrypted) * @(p) --Decrypt Macro @f * * @(6) --Select Txtfile To Load And Read Macros From Index * @(7) --Select And Read Macros From Index, * Txtfile Not Loaded * @(8) --Read Macros of Subfile on Cursor Line, * Txtfile Not Loaded * @(0) --Save Current Macro Buffer And * Read Previously Saved Macro Buffer * @(eq) @= --Read Current Txtfile's Macros * @(mi) @- --Read Previously Saved Macro Buffer * ^(f1) --Cycle Between Starting and Selected Files * After Invoking @f and @6 * * {e:\up\BOOK19}--Return to BOOKxx.QM * * (Decrypt) @f - How to * (Run) How to run @f * (Index) Modification and Additions * (QConfig) Fitting @f Into QConfig.dat and Setup * (NewKey) Using @f with NewKey * *-- eoi (end of Index) *  * ---------------------------------------------------------------------- * @(6) Select Txtfile To Load And Read Macros From Index * ---------------------------------------------------------------------- * This macro enables the user to select a txtfile, load the selected * txtfile, and read the selected txtfiles' macros, from files listed in * INDXxx.QM. To run, press @6, cursordown to the desired line in * INDXxx.QM, and press . If the Index subfile selected itself * has subfile(s), the user may select the desired subfile at the next * pause by placing the cursor on the desired line and pressing . * The macro ends with the final selected txtfile loaded and it's macros * read. To reload the macro buffer that existed before @6 was invoked, * use @0. To cycle between the selected txtfile and the file in which * @6 was invoked, use ^f1. Add closewindow line if QConfig is * configured to not close window on quit. @6 macrobegin * ---------- Clear Scratch Buffers, Position Files In Ring ----------* onewindow * Close all windows unmarkblock * Unmark any marked blocks defaultwordset * In case altwordset on endline * Position on empty space dropanchor * Mark starting file to clear scratch * buffers and return to after "quit" storescrbuff "1" return * Clear buff 1 (subfile key) storescrbuff "x" return * Clear buff x (INDXxx,QM key) editfile * Load INDX*.QM ************************************* "e:\up\" * Change "e:\up\" to your directory * ************************************* "INDX*.QM" * return * quit * Quit INDX* if loaded to ensure * correct position in ring gotoblockbeg * Return to starting file begline * Col 1 * ---------------- INDX Selection With Key In Index ----------------* editfile return * Load INDX*.QM as next file in ring markline markline * Highlight line 1 FIND "{" return delline return * Put cursor on first Index subfile makectrofscreen * Show top of file begline * Position for selection cursorright * Position for visibilty pause * Pause for Index selection unmarkblock * Unmark line 1 markline * Mark selected line FIND "(" return "L" return * Test if selection has key jfalse NOKEY: * If no key, must be subfile selec cursorright *ELSE put cursor on key markword * Mark key storescrbuff "x" return * Store key to buff x markline * Mark selected line NOKEY: * begline * For Find Find "{" return "L" return * Test if selection has subfile jtrue HASSUB: * If selec has subfile, go to HASSUB quit * No subfile in selection, quit INDX jump END: * End macro * --------------- INDX Selection Without Key In Index ---------------* HASSUB: cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix copy * Copy subfile prefix to scrap quit * Quit INDX*.QM * --------------------------- Load Subfile ---------------------------* horizontalwindow * Window 2 editfile paste ".qm" return * Load subfile in window 2 begfile * Go to subfile begin * -------------------------- Nul Control I --------------------------* horizontalwindow * Window 3 editfile "NUL" return * Load NUL in window 3 writeblock * Needed for macrowrite "y" "c:\1.mac" return return * writeblock * Needed for macrowrite "y" "c:\2.mac" return return * getscrbuff "x" return * Get INDX key from scratch endline * Test if INDX selection had key jfalse NEXTSUB: * If no key, go to NEXTSUB cut *ELSE cut key to scrap prevwindow * Window subfile endpara * Bypass Index cursordown * Position for FIND jump KEY: * Find key in subfile * --------------------- Subfile Index Selection ---------------------* NEXTSUB: prevwindow * Window subfile markline markline * Highlight line 1 zoomwindow * Full window FIND "(" return delline return * Find first Index selection line makectrofscreen * Show top of file begline cursorright * Position for visibilty pause * Pause for Index selection zoomwindow * Half window unmarkblock * Unmark line 1 begline * Re-position cursor wordright markword * Mark key jfalse NEXT: * Bypass until NEXT if no word to mark storescrbuff "1" return * Store key in buffer 1 markline * Find "{" return "L" return * Test if selection has subfile jfalse NEXT: * Bypass until NEXT if no subfile cursorright * unmarkblock * markcharacter * Find "}" return delline return * copy * Copy subfile prefix to scrap * ------------------------- Load Subfile II -------------------------* horizontalwindow * Window 2 editfile paste ".qm" return * Load subfile in window NEXT: * * -------------------------- NUL Control II ---------------------------* nextwindow * Window 3 NUL getscrbuff "1" return * Get key from scratch cut * Cut key to scrap * ----------------------- Subfile II Selection -----------------------* prevwindow * Window subfile begfile * In case file already loaded endpara * Bypass Index scrollup * Put key on line 2 KEY: Find "(" paste ")" return * Find key in subfile "I" return * jtrue FOUND: * If key found, go to FOUND begfile *ELSE key not found, return to bof FOUND: * begline * Col 1 * ----------------------------- Quit NUL -----------------------------* nextwindow * Window NUL quit * Quit NUL, closes window if * QConfig set to close on quit * closewindow * Add this line if QConfig set * to NOT close window on quit zoomwindow * Full subfile window * --------- Save Current Macro Buffer, Read Selected Macros ---------* READ: * macrowrite * "c:\1.mac" return "y" * Save current macro buffer macroread * Read subfile macros currentfilename * of current file backspace backspace * remove extension 'qm' "mac" return * w/extension 'mac' END: * * * 198 bytes Mon 07-29-1991 10:24:51 (TH @6, Initial in AMAC39A) * 298 bytes Fri 08-02-1991 14:59:35 (TH @6, added macrowrite) *  * ---------------------------------------------------------------------- * @(7) Select And Read Macros From Index, Txtfile Not Loaded * ---------------------------------------------------------------------- * This macro enables the user to select and read a txtfiles' macros * from files listed in INDXxx.QM, and return to the file in which @7 * was invoked with the newly loaded macros. The txtfile of macros * selected is NOT loaded. To run, press @7, cursordown to the desired * line in INDXxx.QM, and press . If the subfile selected itself * has subfile(s), the user may select the desired subfile at the next * pause by placing the cursor on the desired line and pressing . * The macro ends with the file loaded in which @7 was invoked, and the * selected macros read and loaded. To reload the macro buffer that * existed before @7 was invoked, use @0. Add the two closewindow lines * at end of @7 if QConfig is configured to not close window on quit. @7 macrobegin * ---------- Clear Scratch Buffers, Position Files In Ring ----------* onewindow * Close all windows unmarkblock * Unmark any marked blocks defaultwordset * In case altwordset on endline * Position on empty space dropanchor * Mark starting file to clear scratch * buffers and return to after "quit" storescrbuff "x" return * Clear buff x editfile * Load INDX*.QM ************************************* "e:\up\" * Change "e:\up\" to your directory * ************************************* "INDX*.QM" * return * quit * Quit INDX*.QM if loaded to ensure * correct position in ring gotoblockbeg * Return to starting file begline * Col 1 * -------------------------- INDX Selection --------------------------* editfile return * Load INDX11 as next file in ring begfile * Go to file begin markline markline * Highlight line 1 FIND "{" return delline return * Find first Index selection line makectrofscreen * Show top of file begline * Position for selection cursorright * Position for visibilty pause * Pause for Index selection unmarkblock * Unmark line 1 markline * Mark selected line FIND "(" return "L" return * Test if selection has key jfalse NOKEY: * If no key, must be subfile selec cursorright *ELSE put cursor on key markword * Mark key storescrbuff "x" return * Store key to buff x NOKEY: * begline * For Find markline * Markline for Find Find "{" return "L" return * Move cursor to subfile lft brace jtrue SELECT: * If no subfile, quit and end quit * Quit INDX jump END: * End macro SELECT: cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix copy * Copy subfile prefix to scrap quit * Quit INDX11 * ----------------------- Setup Subfile Window ----------------------* horizontalwindow * Window 2 editfile escape * For all QConfig's * --------------------------- NUL Control ---------------------------* horizontalwindow * Window 3 editfile "NUL" return * Load NUL in window 3 writeblock * Needed for macrowrite "y" "c:\1.mac" return return * writeblock * Needed for macrowrite "y" "c:\2.mac" return return * getscrbuff "x" return * Get INDX key from scratch endline * Test if INDX selection had key jtrue QUIT: * If no key, go to QUIT * --------------------- Subfile Index Selection ---------------------* prevwindow * Window 2 subfile editfile paste ".qm" return * Load subfile window 2 begfile * Go to file begin markline markline * Highlight line 1 * zoomwindow * Full window FIND "{" return delline return * Test if selection has any subfiles * If so, position cursor on first line jfalse QUITNUL: * If not, read current file macros * makectrofscreen * Show top of file begline * Position for selection cursorright * Position for visibilty zoomwindow * Full window |a makectrofscreen * Show top of file |b pause * Pause for Index selection unmarkblock * Unmark line 1 markline * Mark selected line Find return "L" return * Test if selection has subfile jfalse QUITNUL: * If not, read current file macros cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix copy * Copy subfile prefix to scrap * ----------------------------- Quit NUL -----------------------------* QUITNUL: quit * Quit subfile, closes window if * QConfig set to close on quit * closewindow * Add this line if QConfig set * to NOT close window on quit nextwindow * Window NUL QUIT: quit * Quit NUL, closes window if * QConfig set to close on quit * closewindow * Add this line if QConfig set * to NOT close window on quit * --------- Save Current Macro Buffer, Read Selected Macros ---------* READ: * unmarkblock * Unmark line if marked prevwindow * Return to starting file if * any window still open zoomwindow * Full subfile window if * any window still open macrowrite * "c:\1.mac" return "y" * Save current macro buffer macroread * Read subfile macros paste * of subfile prefix ".mac" return * w/extension 'mac' END: * * * 136 bytes Mon 07-29-1991 10:24:57 (TH @7, Initial in AMAC39A) * 256 bytes Fri 08-02-1991 14:59:02 (TH @7, added macrowrite) * 249 bytes Sat 08-03-1991 15:45:28 (TH @7, added macrowrite) * 248 bytes Sun 08-04-1991 01:41:24 (TH @7, removed unmarkblock) * (In AMACxx v4.0) * 248 bytes Mon 08-05-1991 00:50:00 (TH @7, moved zoomwindow down |a) * 248 bytes Mon 08-05-1991 14:24:16 (TH @7, moved makectrofscreen down |b) *  * ---------------------------------------------------------------------- * @(8) Read Macros of Subfile on Cursor Line, Txtfile Not Loaded * ---------------------------------------------------------------------- * This macro enables the user to read macros of the subfile designated * on the cursor line but not load it's txtfile. If the subfile on the * cursor line itself has subfile(s), the user may select the desired * subfile at the next pause by placing the cursor on the desired line * and pressing . If the starting cursor line does not contain a * designated subfile, the macro ends with the macro buffer unchanged * and cursor on the starting line in col 1. In all cases, the txtfile * of selected macro is NOT loaded and the user is returned to the file * @8 was invoked from with selected macros loaded. To reload the macro * buffer that existed before @8 was invoked, invoke @0. Add the two * closewindow lines at end of this macro if QConfig is configured to * not close window on quit. @8 macrobegin * ---------- Clear Scratch Buffers, Position Files In Ring ----------* onewindow * Close all windows unmarkblock * Unmark any marked blocks defaultwordset * In case altwordset on endline * Position on empty space dropanchor * Mark starting file to clear scratch * buffers and return to after "quit" storescrbuff "1" return * Clear buff 1 begline * Position for selection markline * Mark selected line FIND "(" return "L" return * Test if selection has key jfalse NOKEY: * If no key, must be subfile selec cursorright *ELSE put cursor on key markword * Mark key storescrbuff "1" return * Store key to buff 1 NOKEY: * begline * For Find markline * Markline for Find Find "{" return "L" return * Move cursor to subfile lft brace jtrue SELECT: * If subfile, continue unmarkblock *ELSE unmark line jump END: * And end macro, no macro to read SELECT: cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix copy * Copy subfile prefix to scrap begline * Col 1 * ----------------------- Setup Subfile Window ----------------------* horizontalwindow * Window 2 editfile escape * Needed for all QConfig's * --------------------------- NUL Control ---------------------------* horizontalwindow * Window 3 editfile "NUL" return * Load NUL in window 3 writeblock * Needed for macrowrite "y" "c:\1.mac" return return * writeblock * Needed for macrowrite "y" "c:\2.mac" return return * getscrbuff "1" return * Get key from buff 1 endline * Test if selection had key |a jtrue QUIT: * If no key, go to QUIT * --------------------- Subfile Index Selection ---------------------* prevwindow * Window 2 subfile editfile paste ".qm" return * Load subfile window 2 to test if * it has subfiles begfile * Go to file begin markline markline * Highlight line 1 * zoomwindow * Full window FIND "{" return delline return * Test if selection has any subfiles * If so, position cursor on first line jfalse QUITNUL: * If not, read current file macros begline * Position for selection cursorright * Position for visibilty zoomwindow * Full window |a makectrofscreen * To show top of file |a pause * Pause for Index selection unmarkblock * Unmark line 1 markline * Mark selected line Find return "L" return * Test if selection has subfile jfalse QUITNUL: * If not, read current file macros cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix copy * Copy subfile prefix to scrap begline * Col 1 * ----------------------------- Quit NUL -----------------------------* QUITNUL: quit * Quit subfile, closes window if * QConfig set to close on quit * closewindow * Add this line if QConfig set * to NOT close window on quit nextwindow * Window NUL QUIT: quit * Quit NUL, closes window if * QConfig set to close on quit * closewindow * Add this line if QConfig set * to NOT close window on quit * --------- Save Current Macro Buffer, Read Selected Macros ---------* READ: * prevwindow * Return to starting file zoomwindow * Full subfile window macrowrite * "c:\1.mac" return "y" * Save current macro buffer macroread * Read subfile macros paste * of subfile prefix ".mac" return * w/extension 'mac' END: * * * 198 bytes Sun 08-04-1991 01:53:24 (TH @8) * 200 bytes Mon 08-05-1991 01:06:52 (TH @8, added missing endline, et al |a) *  * ---------------------------------------------------------------------- * @(f) Jump From Index Line To Macro or Item Located Either * In Document Below Or In A Designated Subfile * ---------------------------------------------------------------------- * NOTE: The first three lines of this macro must be decrypted to run. * See @p at the end of this file for decryption instructions. * @f is used to quickly jump from Index line to the desired item * or macro either in the document below or in a subfile whose * name appears in { } following the key or item in ( ). @f uses * a technique that is generally not recommended and rarely * works, i.e. "having a macro read another macro". This is * possible here because the macroread command is the last * command in the macro. * @f provides the user with a means to quickly load any macro in * an Index with just several keystrokes. The number of macros * that can be accessed and run using this macro is theoretically * unlimited; e.g., if no macro subfile of all those designated * in the Index contains more than 10 macros and an Index with * key and subfile contains a list of 1000 macros, each of these * macros could be assigned @1 to @0 in each subfile, and we * could access and run 1000 macros using only the keys @1 to @0 * from one Index with just several keystrokes. Another * advantage using @f is that an addition or modification to a * specific macro only modifies the subfile containing the macro * and it's macfile, thereby reducing considerably the size of * files needing backed up or uploaded when changes are made. * The techniques used in @f become useful and/or necessary when * the total size of macros in a file exceed the 2k limitation or * when the number of macros in a file are greater than 40 and * the user (like me!) prefers to use only the Alternate Number * keys and "@^#" Function keys. The same macro key may be used * for different macros in different subfiles in the same Index, * allowing the convenient Alternate Number keys to be used for * all macros in all subfiles, unless the number of macros in any * subfile of an Index is greater than 10. In other words, we * don't run out of keys! * The user may wish to add or delete items from an (Index). An * item or macro located in the same file as the Index, not in a * subfile, must have the key or first word enclosed with * parentheses ( ) and an item or macro located in another file * (referred to as "subfile") must have the subfile prefix * enclosed with braces { } following the macro key, as follows: * Index * ============================================================ * ( Key ) { Subfile }-- ........... Description ............ * All subfile suffix's must be "QM", and all macfile suffix's * must be "MAC". If the designated subfile does not have a * corresponding macfile, the selected item will be found in the * subfile anyhow, and an error message will be displayed * advising "File Not Found" meaning the subfile does not have a * corresponding macfile. Escape removes the message and shows * the name of the non-existent subfile macfile. Escape again * returns us to normal editing of the subfile with the same * macro buffer as before @f was executed - no problems. * If the selected key or first word on the selected Index line * does not exist enclosed by ( ) anywhere in the document (or in * the subfile if designated), the cursor returns to the * beginning of the file. * If a subfile is designated and the current file happens to be * the designated subfile, @f functions the same as @1, i.e. the * selected macro is found and macro buffer remains unchanged. * If a subfile is not designated (like in the Index line @f at * the top), @f also functions the same as @1. If a key is not * designated (like in the Index line at the top to return to * BOOKxx.QM), the macro attempts to find the first word on the * Index line and returns the cursor to the top of file if the * first word on the Index line cannot be found enclosed in ( ). * @f does not reads macros of the current file if no subfile * macros are designated. It does, however, read subfile macros * if a subfile is designated. To reload the macro buffer that * existed before @f was invoked, invoke @0. * Fit @f In (Qconfig) And Setup ------------------------------ * @f will not fit in QConfig.dat, but we can use a little known * or used trick to accomplish the same thing. Put the following * macro in QConfig.dat with [dir:] as your directory for * bok001.mac: * @f macro_begin macroread "[dir:]bok001.mac" return * where [dir:] is your directory containing 'bok001.mac'. This * QConfig macro key does not have to be @f, but can be any key * the user desires. This macro only loads book001.mac macros, * but if they are already loaded, the key will invoke the * specific exisiting book001 macro, e.g., @f would invoke @f * after book001 macros are loaded. * Invoking @f once loads bok001.mac containing @f. Now @f is * available until any other macros are read. Pressing @f a * second time, and any time thereafter, executes @f. I prefer * the NewKey approach below because of the 0.5k QConfig.dat * limitation. I have numerous macros available to run at all * times, each as a separate NewKey macro, and loads to free * Qconfig buffer space. * If your QConfig is set to NOT close windows on quit, add the * line 'closewindow' commented out in @f. * Using @f With (NewKey) * ---------------------- * An alternative to the above QConfig approach is to use the * following NewKey macro with the key Alternate CursorLeft * key: * * Load And Read Macros From An Index Invoking @f * {begdef altlft}MRe:\up\bok001.mac * * {enddef} * With this NewKey approach, @f is always available at all times * using the handy ^cursorlft key to be invoked in any QEdit file * no matter what macros are loaded in the QEdit buffers. The * NewKey approach has one further advantage over the QConfig * approach: we can not only use a NewKey macro to read a QEdit * macro, but the same NewKey macro can call or execute a macro * of the newly read QEdit macro - e.g., @f is executed after * bok001.mac is read. The QConfig approach requires two steps * to achieve the same thing. Be sure to also change 'e:\up' in * the NewKey macro to your directory containing 'bok001.mac' as * described in the Configuration Section of BOOKxx.QM. * The following macros may also be substituted with NewKey * macros using the user's specific QConfig.dat commands for each * macro command as above, thereby eliminating the need to put * any of the macros in QConfig.dat for macro accesability at all * times: * ^f1 Cycle Between Starting and Selected Files After Invoking macro * @0 Save Current Macro Buffer, Read Previously Saved Macro Buffer * @= Read Current Txtfile Macros * @- Read Previously Saved Macro Buffer * To (Run) @f * ----------- * 1. Press Alt and f at the same time. Line 1 is marked to * highlight. Cursor down to desired line in Index. * * 2. Press Enter. The macro then locates and jumps to the item * selected on the cursor line. If the item or macro is * located in a designated subfile, @f loads the subfile * containing the selected macro, and reads the subfile macros * for running. The selected macro key and it's macro are * found and shown in a full window for editing or viewing. *  @f macrobegin *-- * NOTE: The first three lines of this macro must be decrypted to run. * See @p at the end of this file for instructions. *-- *””뗏›€—‚ξ”揃“€Ž”π—‚󀗏”Œ—ιο„’ζŽ€’”焁ϊτ—€†„”•φ„•€„˜α‰‰”"‘"”…φα„— *””•φ„•€„˜α‰‰”"δ"”…φα„—”珉οαŽφ›„‚•φ”Œ—ιο„’ζŽ€’”ς󀗏”ς󀗏”“€—‚ *””"("”…φα„—”ηŽσ€—”…φα„—”ςθφ„뉕€„—”揃󀗏”θα„™„…€ƒ†φ”οᙏ *-- unmarkblock * Unmark line 1 begline * To find first { | markline * Mark selected line Find "{" return "L" return * Test if selection has subfile jtrue SUBFILE: * If "{" found, macro is in subfile * ------------- Find Index Selection If In Current File -------------* INFILE: * If not found, macro is in this file unmarkblock * Just in case | wordright markword * Mark key copy * Copy key to scrap endpara * Bypass Index Find "(" paste ")" return * "I" return * Jump to key in this file jfalse NOMARK: * maketopofscreen * scrollup * Position cursor line 2 tof begline * If key found, go to begline jump END: * Macfile not read NOMARK: * begfile * If no key found, go to begfile jump END: * Macfile not read * ---------------- Find Index Selection If In Subfile ----------------* SUBFILE: * Come here if macro in subfile begline * Re-position cursor unmarkblock * Just in case | wordright markword * Mark key jfalse NEXT: * Bypass buffers if no word to mark storescrbuff "x" return * Store key in buff x markline * Markline for Find begline * Re-position for Find Find "{" return "L" return * Test if selection has subfile jfalse NEXT: * Bypass buffers if no subfile cursorright * Move to first letter of subfile unmarkblock * Unmark markcharacter * Begin character block Find "}" return delline return * Mark subfile prefix storescrbuff "y" return * Store subfile prefix in buff y copy * Copy subfile prefix to scrap * --------------------------- Load Subfile ---------------------------* horizontalwindow * Window 2 editfile paste ".qm" return * Load subfile in window 2 NEXT: * --------------------------- NUL Control ---------------------------* horizontalwindow * Window 3 editfile "NUL" return * Load NUL in window 3 writeblock * Needed for macrowrite "y" "c:\1.mac" return return * writeblock * Needed for macrowrite "y" "c:\2.mac" return return * getscrbuff "x" return * Get key from scratch cut * Cut key to scrap * ----------------- Find Index Selection In Subfile -----------------* prevwindow * Window subfile begfile * Re-position for search endpara * Bypass Index Find "(" paste ")" return * Find key in subfile "I" return * jfalse NOTFOUND: * If key not found, go to NOTFOUND maketopofscreen * scrollup * Position cursor line 2 tof begline * Col 1 jump QUIT: * Bypass begfile NOTFOUND: * begfile * Key not found, cursor to bof * ----------------------------- Quit NUL -----------------------------* QUIT: * nextwindow * Window NUL quit * Quit NUL, closes window if * QConfig set to close on quit * closewindow * Add if QConfig set to NOT close * window on quit zoomwindow * Zoom starting or subfile * --------- Save Current Macro Buffer, Read Selected Macros ---------* READ: * macrowrite * "c:\1.mac" return "y" * Save current macro buffer macroread * Read subfile macros currentfilename * of current file backspace backspace * remove extension 'qm' "mac" return * insert extension END: * * * 158 bytes Sun 07-21-1991 22:00:00 (TH @f, added use of subfiles) * 166 bytes Mon 07-29-1991 10:25:08 (TH @f, in AMAC39A) * 225 bytes Fri 08-02-1991 14:59:08 (TH @f, added macrowrite) * 228 bytes Mon 08-22-1991 16:55:43 (TH @f, for odd cases) * 201 bytes Mon 08-26-1991 11:59:20 (TH @f, encyrpted with @p) * The following four macros in bok001.qm should be installed in * QConfig.dat and then commented out of bok001.qm after installation. * they will then be available while editing any file as long as no * subsequently installed macros have the same keys. *  * ---------------------------------------------------------------------- * ^(f1) Cycle Between Starting and Selected Files After Invoking @6 * ---------------------------------------------------------------------- * Installing this macro in QConfig.dat, enables the user to cycle * between the starting and selected file after invoking @6. ^f1 macrobegin nextwindow zoomwindow * * 6 bytes Thu 08-01-1991 09:34:42 (TH ^f1) *  * -------------------------------------------- * @(0) Save Current Macro Buffer And * Read Previously Saved Macro Buffer * -------------------------------------------- * Installing this macro in QConfig.dat, enables the user to save the * current macro buffer, then read the previously saved macro buffer. @0 Macro_Begin MacroWrite "c:\2.mac" Return "y" MacroRead "c:\1.mac" Return * * 42 bytes Thu 08-01-1991 00:43:24 (TH @0) *  * ---------------------------------------------------------------------- * @= Read Current Txtfile's Macros @(eq)ual * ---------------------------------------------------------------------- * Installing this macro in QConfig.dat, enables the user to read the * macros of the current file we are editing. @= Macro_Begin MacroRead CurrentFilename Backspace Backspace "mac" Return * * 15 bytes Fri 09-14-1990 14:06:11 (TH @=, @8 in MACRxx.QM) *  * ---------------------------------------------------------------------- * @- Read Previously Saved Macro Buffer @(mi)nus * ---------------------------------------------------------------------- * Installing this macro in QConfig.dat, enables the user to read the * macros that were saved previously when @6, @7 and @f were invoked. @- Macro_Begin MacroRead "c:\1.mac" Return * * 22 bytes Wed 07-31-1991 20:53:50 (TH @-) *  * ------------------------- * @(p) (Decrypt) Macro @f * ------------------------- * These macros are free. However, if you find them useful and * would like to send me a gift for any amount, I will be glad to * accept it. Macro @f is by far the most useful and, although * it's really not very complicated, it represents the culmination * of a lot of work. So, I don't apologize for encrypting it! * I'll be happy to send you the Password to decrypt @f if you * would like to send $15.00 (or any amount) in a self-addressed * envelope to: * T & T Enterprises * PO Box 10786 * Greensboro, NC 27404 * I'll still be glad to send you the Password even if you don't * have $15.00 or don't think these macros are worth it. Just * send a self addressed stamped envelope! The 250+ AMAC macros * have been my full time effort for the last year from which I * have received NO income. I didn't expect to. I just enjoyed * immensely this effort, but now I have to pay the bills ! * I hope you find these macros useful. * To decrypt @f: * 1. Mark the three encrypted lines as a line block * 2. Press @p * 3. Type Password at pause in Nul file, then * 4. Uncomment decrypted lines * 5. SaveFile and re-compile using the following command: * QMACB bok001 @p MacroBegin OneWindow GotoBlockBeg JTrue Label0: MarkLine GotoBlockBeg JTrue Label1: Pause MarkLine Label0: Label1: GotoBlockEnd SetRmargin Return ToggleWordWrap EndLine "­" BegLine GotoBlockBeg UnmarkBlock EndLine BegLine JTrue Label2: NextPara Label2: Label13: MarkColumn EditFile "nul" Return Quit GotoBlockBeg HorizontalWindow EditFile Return "A" "BCDEFGHIJKLMNOPQRSTUVWXYZ" DupLine MarkLine Lower UnmarkBlock CursorUp CursorRight JoinLine ShiftRight CursorUp "152436097" "8" AddLine BegLine CursorRight "κνοι€τζθηπ“υχεωρσςψ덋…•Œš›œ" "žŸ ‘’£ΰˆŠ”˜‚‰ƒ†€‡’Ž—ϊ–„™φαβξ‘δ₯" EndFile AddLine BegLine Pause Label5: CursorLeft JFalse Label3: UnmarkBlock MarkColumn Cut Find Paste Return "G" Return JFalse Label4: DelCh BegLine CursorRight Paste EndFile Jump Label5: Label3: DelLine PrevWindow Label11: MarkColumn Copy NextWindow Label9: BegFile Find Paste Return DelLine Return JFalse Label6: CursorDown JTrue Label7: CursorUp Label7: MarkColumn Copy Label6: PrevWindow MakeCtrOfScreen PasteOver UnmarkBlock CursorRight EndLine JFalse Label8: PrevPosition MarkColumn Copy NextWindow Jump Label9: Label8: Find "­" Return "B" Return JTrue Label10: BegLine CursorDown Label12: EndLine BegLine JTrue Label11: NextPara Jump Label12: NextWindow Quit CloseWindow Jump Label13: Label10: DelCh BegLine CursorDown NextWindow Label4: Quit CloseWindow SetRmargin Return * * 356 bytes Mon 08-26-1991 02:51:27 (TH @p)