home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
editors
/
amac41.arj
/
BOK001.QM
< prev
next >
Wrap
Text File
|
1991-08-26
|
45KB
|
809 lines
* 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 <enter>. 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 <enter>.
* 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 <enter>. 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 <enter>.
* 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 <enter>. 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}<esc>MRe:\up\bok001.mac<enter>
* <altf>
* {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 <grin>!
* 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 <enter>
* 4. Uncomment decrypted lines
* 5. SaveFile and re-compile using the following command:
* QMACB bok001 <enter>
@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)