home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / misc / qedit30 / qtips.doc < prev    next >
Text File  |  1994-02-24  |  54KB  |  1,107 lines

  1. A compilation of QEdit Tips from the SemWare Technical Support Staff.
  2.  
  3.  
  4. The InsertDate Command in QEdit 2.15 & 3.00
  5. ─────────────────────────────────────────────────────────────────────────────
  6.  
  7.   In QEdit 2.15 when you used the InsertDate command, the output contained the
  8.   full year:
  9.  
  10.                              Tue 11-02-1993
  11.  
  12.  
  13.   However, in QEdit 3.00 the output of InsertDate does not contain the first
  14.   part of the year:
  15.  
  16.                               Tue 11-02-93
  17.  
  18.   To have QEdit 3.00 insert the "19" part of the year, use the following
  19.   macro:
  20.  
  21.   <KEY>   MacroBegin
  22.               SaveSettings        * Save Settings of Insert, WordWrap, etc.
  23.               SetScreenOff        * Turn off screen updates
  24.               InsertDate          * Insert the Date
  25.               SetInsMode          * Set Insert ON
  26.               CursorLeft  2       * Move Back to the beginning of the year
  27.               "19"                * Insert the 19 part of the year
  28.               CursorRight 2       * Move to the end of the year
  29.               RestoreSettings     * Restore our original condition
  30.  
  31.   This macro can be bound to any available key in your QCONFIG.DAT file.
  32.  
  33.  
  34. Converting QEdit 2.x Macros to 3.0
  35. ─────────────────────────────────────────────────────────────────────────────
  36.  
  37.   The binary macro files compiled with QMAC from QEdit 2.15 and earlier are
  38.   not completely compatible with QEdit 3.00.  However, there is a painless
  39.   process to convert your macros from 2.15 to 3.00.
  40.  
  41.   To follow this process you will need to determine if you have text file
  42.   versions of your macros.  If you don't, you will need to follow this
  43.   process:
  44.  
  45.     (1) Copy all of your binary macro files (*.MAC) to a temporary directory.
  46.  
  47.     (2) Copy the QMAC program (QMAC.EXE) from your QEdit 2.15 directory to
  48.         your temporary directory.
  49.  
  50.     (3) For each of the *.MAC files, run QMAC to convert them to text files.
  51.         For example:
  52.  
  53.             C:\QETMP>QMAC <FileName>.MAC <FileName>.Q /A- /T
  54.  
  55.         Where <FileName> is the file to convert.
  56.  
  57.   This process creates the text file versions of your macros.  The files will
  58.   have the same name as the original macros, but with a ".Q" extension.
  59.  
  60.   This process is for everyone, it will convert your QEdit 2.15 macros into
  61.   QEdit 3.0 macros:
  62.  
  63.     (1) Copy all of text macro files (for those who followed the first
  64.         process: the *.Q files in the temporary directory) to your QEdit 3.0
  65.         directory.
  66.  
  67.     (2) For each of the text macro files, run the QMAC program (from QEdit
  68.         3.0) to convert them to binary files.  For example:
  69.  
  70.             C:\QE3>QMAC <FileName>.MAC <FileName>.Q /A- /B
  71.  
  72.   That's it!  You have now successfully re-compiled your macros for QEdit 3.0.
  73.  
  74.  
  75. Multi-Line Macro Format
  76. ─────────────────────────────────────────────────────────────────────────────
  77.  
  78.   In QEdit 3.0 you can have multi-line macros in your QCONFIG.DAT file. This
  79.   new capability gives QEdit much more power over previous versions.
  80.  
  81.   When upgrading from QEdit 2.15 (or earlier) there are a couple of
  82.   conventions that must be followed when formatting your QCONFIG.DAT file:
  83.  
  84.     (1) The key must appear in the first column of the command assignment or
  85.         macro.
  86.  
  87.     (2) When writing macros, all succeeding lines must be indented one or more
  88.         columns.
  89.  
  90.   The reason for these conventions is to allow QEdit to differentiate between
  91.   commands and keys.  Consider this example, which does _not_ follow the new
  92.   conventions:
  93.  
  94.     * This comment starts in column one.
  95.     *
  96.         CursorDown CursorDown BegLine
  97.         CursorUp CursorUp BegLine
  98.  
  99.   Before QEdit 3.0, the first word on each line would have been interpreted as
  100.   a key automatically.  However, with multi-line macros it is no longer clear
  101.   exactly what the user intended here.  These lines could be seen as either
  102.   two individual key assignments, or as a single macro. (Granted, it would be
  103.   a silly macro -- one step forward and two steps back!)
  104.  
  105.   Here is an example of a few key assignments that follow the new format:
  106.  
  107.     * This comment starts in column one.
  108.     *
  109.     ^k_h        MacroBegin                          * Fancy Home Macro
  110.                 BegLine
  111.                 isCurrChar ' '      MacroQuitFalse
  112.                 FirstNonWhite
  113.     CursorDown  CursorDown                          * Down / BegLine
  114.                 BegLine
  115.     CursorUp    CursorUp BegLine                    * Up / BegLine
  116.  
  117.  
  118. Startup Macros
  119. ─────────────────────────────────────────────────────────────────────────────
  120.  
  121.   QEdit has the capability of loading and/or executing your compiled macro
  122.   files on startup through the use of command line parameters. The macro files
  123.   being used must be in binary format created using the MacroWrite command
  124.   <Esc><M><W> command or QMAC (QEdit's macro translator).
  125.  
  126.   To _load_ a macro from the command line enter "-l" or "/l" (a dash or slash
  127.   and the letter "l") followed immediately by a macro filename.  The maximum
  128.   size of a loadable macro file is 2k. The format for loading a macro follows:
  129.  
  130.           q <filename to edit> -l<macro filename>
  131.  
  132.   To _execute_ a macro from the command line enter "-e" or "/e" followed
  133.   immediately by a macro filename.  The maximum size of an executed macro is
  134.   500 bytes.  The format for executing a macro on startup follows:
  135.  
  136.           q <filename to edit> -e<macro filename>
  137.  
  138.   When using the execute ("-e or /e") option, the first macro in the macrofile
  139.   is executed.  The macro is then executed only after the file to be edited
  140.   has been loaded.  The macro file is executed once and not loaded into the
  141.   editor.
  142.  
  143.   A filename must be supplied to QEdit to make use of the command line
  144.   parameters.  Both the load and execute macro parameters may be used at the
  145.   same time.  The order that they are specified on the command line is not
  146.   important.  The format for executing a macro and loading a macrofile on
  147.   startup follows:
  148.  
  149.           q <edit filename> -e<macro filename> -l<macro filename>
  150.  
  151.   To illustrate the above, suppose you want to edit a file called WORK.TMP and
  152.   at the same time, from the command line, load the macro file called
  153.   FIRST.MAC and execute the macro file called SECOND.MAC.  From the command
  154.   line you would enter:
  155.  
  156.           q work.tmp -lfirst.mac -esecond.mac
  157.  
  158.  
  159. QMac: The Basic's
  160. ─────────────────────────────────────────────────────────────────────────────
  161.  
  162.   QMac is a translator of QEdit macro files.  It translates QEdit macros from
  163.   the binary file in which QEdit saves macros to a text file which allows easy
  164.   macro editing, and translates such text files back into a QEdit binary file.
  165.  
  166.   This allows you to "record" a macro using QEdit; fine-tune it by editing the
  167.   text representation of the macro; and then translate the edited version and
  168.   reload it into QEdit for replay.
  169.  
  170.   QMac allows appending to or overwriting existing files, making it easy to
  171.   add new macros to existing files. QMac's text file format allows comments,
  172.   permitting documentation of the macros within their "source file".
  173.  
  174.   To see a summary of QMac's operations, type "QMAC ?" at the DOS prompt and
  175.   press Return.  All of the command line switches are optional and are only
  176.   necessary to control QMac's operation in special ways.
  177.  
  178.   Here is quick run-through of what you can do with QMac, including recording
  179.   a macro, saving it to disk, and converting it with QMac.  The keystrokes
  180.   mentioned below assume you are using the default QCONFIG.DAT supplied with
  181.   QEdit; if you have re-installed your keyboard using QCONFIG, please modify
  182.   as needed.
  183.  
  184.   Recording a Macro:
  185.   ~~~~~~~~~~~~~~~~~
  186.   1. From inside QEdit, select MacroRecord.  (Either hit <Ctrl M> or select
  187.   "Macro record" from the "Macro" menu in the pull-down menu system, by
  188.   pressing <Escape><M><M>).
  189.  
  190.   2. At the prompt that says "Assign to what key:" press a key to redefine.
  191.   We will use <Ctrl F10>
  192.  
  193.   3. Press Find <Ctrl QF>, type "the" and press Return, and type "IW" and
  194.   press Return again.  (This is just an example of what you can do, you could
  195.   of course record any legal series of QEdit keystrokes here.)
  196.  
  197.   4. Select MacroRecord again to end the macro, like step 1 above.
  198.  
  199.   5. Now, you can press <Ctrl F10> to search for the word "the" in your text
  200.   in just one step.
  201.  
  202.   Saving the Macro:
  203.   ~~~~~~~~~~~~~~~~
  204.   6. Let's write this macro to disk in a file that QMac can use. Select
  205.   MacroWrite from the pull down menus, by pressing <Escape> then <M><W>.
  206.  
  207.   7. Give it a filename of "FIND.MAC", and press Return to save this macro on
  208.   disk.
  209.  
  210.   Converting the Macro to Text:
  211.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  212.   8. Press Dos <Alt F9> to send a command to MS-DOS. Type:
  213.  
  214.        QMAC FIND.MAC FIND.TXT /A- /T
  215.  
  216.   to convert FIND.MAC to a text form in the file FIND.TXT. Press Return.  (The
  217.   /T selects text output).
  218.  
  219.   9. Press EditFile <Alt E> to load this file into QEdit. Type "FIND.TXT" to
  220.   load the text file you just created with QMac. Press Return.  You should see
  221.   something like this on the screen:
  222.  
  223.        * * Converted by QMAC from: C:\FIND.MAC * ^f10
  224.        MacroBegin Find "the" Return "IW" Return
  225.  
  226.   Which is, of course, a text representation of the keystrokes you just
  227.   recorded.
  228.  
  229.   10. You can now edit your macro if need be.  Let's change the word "the" to
  230.   "and", and save the file back to disk by pressing File <Ctrl KX>.
  231.  
  232.   Converting the Macro from Text back to Binary:
  233.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234.   11. Press Dos <Alt F9> to send a another command to MS-DOS. This time, type:
  235.  
  236.        QMAC FIND.MAC FIND.TXT /A- /B
  237.  
  238.   to convert FIND.TXT back to its BINARY form, FIND.MAC. (NOTE that we use /B
  239.   to tell QMac to make the binary file from the text file we just edited).
  240.   Press Return.
  241.  
  242.   QMac Additional Notes:
  243.   ~~~~~~~~~~~~~~~~~~~~~
  244.   QMac will create whichever of the two files (binary or text) that did not
  245.   exist already:  If the text macros already exist, it will convert them to
  246.   binary.  Or if the binary macros already exist, it will convert them to
  247.   text.
  248.  
  249.   However, if both files exist, you must supply one of the optional switches
  250.   to determine the direction.  The switch /B tells QMac to create a Binary
  251.   file, while /T tells it to create a text file.
  252.  
  253.   If the output file already exists, you must also supply a /A+ or /A- switch
  254.   to tell QMac whether to "append" to the existing file. With /A+ it will
  255.   append, /A- tells QMac to overwrite the existing file.
  256.  
  257.   Anywhere an asterisk ("*") appears on a line, outside of a quoted string,
  258.   the rest of the line is treated as a "comment" and is ignored by QMac.  You
  259.   can use this to include notes to yourself about how your macros work, or
  260.   what they are supposed to do.  Comments are not included in the binary macro
  261.   file that QEdit loads, so there is no penalty for including them in your
  262.   text macro files.
  263.  
  264.   A macro can continue onto more than one line, simply indent the second and
  265.   subsequent lines of the macro one or more spaces. The macro continues until
  266.   QMac runs out of text or encounters another key at the beginning of a
  267.   subsequent line.
  268.  
  269.   Lines in your text macro files can be up to 512 characters long.
  270.  
  271.  
  272. QEdit in 43/50 Line Mode on Startup
  273. ─────────────────────────────────────────────────────────────────────────────
  274.  
  275.   If you want to have QEdit start-up in 43/50 line mode, you can select the
  276.   "Startup video mode" option under Colors/Screen in the QCONFIG program.
  277.   Using this option, you can force QEdit to come up in 28 or 43/50 line mode.
  278.  
  279.  
  280. Saving Files and Exiting
  281. ─────────────────────────────────────────────────────────────────────────────
  282.  
  283.   QEdit provides several different ways to save files, discard files, and exit
  284.   the editor.  A set of five basic commands provides various combinations of
  285.   saving, discarding, and exiting in order to suit individual preferences.
  286.  
  287.   We recommend selecting one or two methods with which you feel most
  288.   comfortable and use them consistently.  Below is a description of the basic
  289.   commands for both single and multiple files along with our default key
  290.   combinations.
  291.  
  292.   1)  SaveFile <Ctrl K><S> - save the currently edited file to disk. The file
  293.           remains loaded into the editor for further editing.
  294.  
  295.       GSave <Alt Y> - Like the SaveFile command but it issues the SaveFile
  296.           command for all the files that have been modified.
  297.  
  298.   2)  File <Ctrl K><X> - Unconditionally saves and then discards the current
  299.           file.  It then either goes to the next file in the QEdit file ring
  300.           or the file to edit prompt.
  301.  
  302.       GFile <Alt F><G> - Like the File command but it instructs the editor to
  303.           save all files that have been modified and then discards all the
  304.           files that are loaded and exits.
  305.  
  306.   3)  Exit <Ctrl K><D> - Conditionally discards the currently edited file.  If
  307.           the file has not been modified, the file is discarded without
  308.           prompting and the editor is exited.  If the file has been modified,
  309.           the editor will prompt "Save Changes (Y/N)?"  Selecting <Y> will
  310.           save and discard the file, then exit.  Selecting <N> will discard
  311.           the file without saving any changes and exit.
  312.  
  313.       GExit <Alt X> - Like the Exit command but it issues the Exit command for
  314.           all loaded files.  If no files have been modified, it will
  315.           immediately exit the editor.  If any files have been modified, the
  316.           "Save Changes (Y/N)?" prompt will be displayed for each modified
  317.           file.
  318.  
  319.   4)  PQuit <Ctrl K><Q> -  A protected quit that will warn the user of a
  320.           modified file before discarding the file.  If the file has not been
  321.           modified, it is discarded without prompting. If the file has been
  322.           modified, the editor will prompt "Lose Changes (Y/N)?"  Selecting
  323.           <Y> will discard the current file without saving changes and then
  324.           either go to the next file in the QEdit file ring or the file to
  325.           edit prompt. Selecting <N> will return you to the file to resume
  326.           editing.
  327.  
  328.       GPQuit <F3> - Like the PQuit command but it issues the PQuit command for
  329.           all loaded files.  If no files have been modified, it will
  330.           immediately exit the editor.  If any files have been modified, the
  331.           "Lose Changes (Y/N)?" prompt will be displayed for each modified
  332.           file and then the editor is exited.
  333.  
  334.   5)  Quit - An unconditional quit.  The current file is discarded regardless
  335.           of any changes made to it.  NOTE: Use this command with caution!
  336.           The Quit command is not assigned to a default keystroke.
  337.  
  338.   The Exit, File, PQuit commands can be configured to terminate or not
  339.   terminate the editor and ask for another file to edit. This option can be
  340.   customized using the configuration program QCONFIG.EXE.  Run QCONFIG.EXE,
  341.   select G)eneral Options, and return till you get to the option that reads:
  342.  
  343.       Do you want the PQuit, Exit and File commands to return to "EditFile"
  344.       prompt (Y/N)? [Y]
  345.  
  346.   The default configuration is set to <Y> and will return you to the EditFile
  347.   prompt upon executing the PQuit, Exit, and File commands or go to the next
  348.   file in the QEdit file ring.  If set to <N>, it will terminate QEdit upon
  349.   executing the above commands.  The SaveFile and Quit commands are not
  350.   affected by this setting.
  351.  
  352.   A Few Recommendations:
  353.   ~~~~~~~~~~~~~~~~~~~~~
  354.   *  If you know what you are doing and want to get in and out of the editor
  355.      quickly, use the GFile command.
  356.  
  357.   *  If you want to make one more final check before you exit the editor, use
  358.      the GExit.
  359.  
  360.   *  PQuit/GPQuit and Exit/GExit are not intended to be used at the same time,
  361.      but to give the user opposing approaches to saving files and exiting the
  362.      editor.
  363.  
  364.  
  365. Types of Block Marking and Unmarking
  366. ─────────────────────────────────────────────────────────────────────────────
  367.  
  368.   A block is a portion of a text file which has been defined by using QEdit's
  369.   Block marking commands.  QEdit has a rich set of Block commands.  These
  370.   commands mark Blocks by lines, columns, and characters.
  371.  
  372.   To define a block, you must first "mark" or outline a Block. There are four
  373.   Block types in QEdit: line, column, inclusive character blocks, and
  374.   non-inclusive character blocks.  The one you choose will depend on the
  375.   editing situation and what you feel most comfortable using.  Below is a
  376.   description of the commands along with our default key combinations.
  377.  
  378.   MarkLine <Alt L> - will mark only complete lines and no portions of lines.
  379.       To use this command, place the cursor anywhere on the first line of the
  380.       text you want to mark and press <Alt L>.  Now move the cursor to the
  381.       last line of text you wish to be marked and press <Alt L> again.
  382.  
  383.   DropAnchor <Alt A> - will mark a Block one character at a time. The Block
  384.       will contain a stream of characters and can span over multiple lines.
  385.       To use this command, place the cursor over the first character of text
  386.       you wish to mark and press <Alt A>.  Now move the cursor toward the end
  387.       of text to be marked. (Notice that the Block "follows" the cursor
  388.       position.)  Once the cursor is placed over the last character to be
  389.       marked, press <Alt A> again.
  390.  
  391.   MarkCharacter - will work just like DropAnchor except that while the Block
  392.       is being marked, the cursor is _not_ included within the Block.
  393.       MarkCharacter is not assigned to a default keystroke.
  394.  
  395.   MarkColumn <Alt K> - will mark one or more columns of text. To use this
  396.       command, place the cursor over the upper left-hand character of the text
  397.       you wish to mark and press <Alt K>. Now move the cursor to the right
  398.       and/or downward toward the end of text to be marked.  (Notice that the
  399.       Block "follows" the cursor position.)  Once the cursor is placed over
  400.       the lower right-hand character of the Block, press <Alt K> again.
  401.  
  402.   MarkBlockBegin <Ctrl K><B> and MarkBlockEnd <Ctrl K><K> - will mark one
  403.       character at a time.  These commands do _not_ show the block until
  404.       MarkBlockEnd is executed.  To use this command, place the cursor over
  405.       the first character of the text you wish to mark and press <Ctrl K><B>.
  406.       Now position the cursor one character past the end of the text that is
  407.       to be marked and press <Ctrl K><K>.
  408.  
  409.   MarkWord <Ctrl K><T> - will mark a single word.  To use this command, place
  410.      the cursor at the first character of the word you wish to mark and press
  411.      <Ctrl K><T>. (If no word is at the current cursor position, then no
  412.      action is taken.)
  413.  
  414.   UnMarkBlock <Alt U> - will cause the currently marked Block to be unmarked.
  415.  
  416.   A few side notes:
  417.   ~~~~~~~~~~~~~~~~
  418.   *  QEdit allows you to mark one Block at a time.
  419.  
  420.   *  If you mix Block types, QEdit will mark the Block according to the last
  421.      command entered.
  422.  
  423.   *  MarkCharacter is provided as a replacement for the DropAnchor command.
  424.      If you want the cursor position included in the character Blocks, then
  425.      continue to use DropAnchor; otherwise, replace the DropAnchor command
  426.      with MarkCharacter in the QCONFIG.DAT file.
  427.  
  428.   *  When using MarkLine, MarkCharacter, MarkColumn, and DropAnchor commands,
  429.      it is not necessary to mark the end of the Block.  QEdit will assume the
  430.      end of the Block to be the current cursor position and/or line depending
  431.      on the command being used.  Marking the end of the Block is only
  432.      necessary when moving or copying text within the same file.
  433.  
  434.  
  435. Manipulating Marked Blocks (Part A)..
  436. ─────────────────────────────────────────────────────────────────────────────
  437.  
  438.   QEdit provides several ways to manipulate a marked Block. Manipulation can
  439.   be done directly, using the scrap buffer (Clipboard), or using the scratch
  440.   buffers.  Following is a description of each of QEdit's block manipulation
  441.   commands along with our default key combinations.
  442.  
  443.   Manipulating Directly
  444.   ~~~~~~~~~~~~~~~~~~~~~
  445.   The following commands allow you to manipulate a marked Block directly.
  446.  
  447.   CopyBlock <Alt C> - will make a copy of the marked Block and insert it where
  448.       you decide.  This can be either in another place in the same file, or in
  449.       another file.  To use this command, mark the Block and move the cursor
  450.       to the position where you wish to insert the marked text. Now press <Alt
  451.       C> and notice the Block will be inserted at the new position. To unmark
  452.       the copied Block, enter the UnmarkBlock command.
  453.  
  454.   CopyOverBlock <Alt Z> - will work just like the CopyBlock command except the
  455.       Block is copied to the current cursor position by overlaying the
  456.       existing text.  The command can _only_ be used with column Blocks.  The
  457.       Block will be inserted without shifting the text to the right.
  458.  
  459.   MoveBlock <Alt M> - will work just like the CopyBlock command except that
  460.       upon entering the MoveBlock command, the original marked Block is
  461.       deleted from the file.
  462.  
  463.   DeleteBlock <Alt G> - will delete a marked Block of text from the file.  To
  464.       use this command, mark the Block of text to be deleted, then enter the
  465.       DeleteBlock command.
  466.  
  467.   ShiftLeft <Shift 7> and ShiftRight <Shift F8> - will shift the text
  468.       contained in a marked Block one column to the left or right.  To use
  469.       these commands, mark the Block and enter the ShiftLeft or ShiftRight
  470.       command.  If there is not a marked Block or the cursor is outside of the
  471.       Block, the current cursor line will be shifted.
  472.  
  473.   Manipulating Using the Scrap Buffer (Clipboard)
  474.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  475.   The Scrap Buffer is a temporary holding area for marked Blocks of text.  The
  476.   commands Cut, Copy, Paste, and PasteOver are solely responsible for
  477.   manipulating text to and from the Scrap Buffer.
  478.  
  479.   Cut <grey -> - will copy the marked Block into the Scrap Buffer. The Block
  480.       is then deleted from the file being edited.  If no Block is marked, the
  481.       cursor line is cut into the Scrap Buffer.
  482.  
  483.   Copy <grey +> - will copy the marked Block into the Scrap Buffer and then
  484.       unmark the Block.  If no Block is marked, the cursor line is copied into
  485.       the Scrap Buffer.
  486.  
  487.   Paste <grey *> - will insert the contents of the Scrap Buffer to the current
  488.       cursor position.  If the Scrap Buffer contains a character or column
  489.       Block, it is inserted at the cursor position.  If the Scrap Buffer
  490.       contains a line Block, it is inserted before or after the cursor line
  491.       depending on the configuration setting.
  492.  
  493.   PasteOver <Ctrl PrtSc> - will work like the Paste command, but for column
  494.       Blocks.  It takes a column Block which has been loaded into the Scrap
  495.       Buffer using the Cut or Copy commands and places it at the current
  496.       cursor position by overlaying the existing text and without shifting
  497.       text to the right.
  498.  
  499.   When you issue a Copy or Cut command, the marked Block is placed in the
  500.   Scrap Buffer.  The next time you Copy or Cut a Block into the Scrap Buffer,
  501.   the previous contents of the Scrap Buffer are deleted and replaced with the
  502.   new Block.
  503.  
  504.   You can use the Paste and PasteOver commands as many times as needed to
  505.   insert a copy of the Block held in the Scrap Buffer at multiple positions in
  506.   your file or files.  The Paste and PasteOver commands will not purge the
  507.   contents of the Scrap Buffer.
  508.  
  509.   The Cut and Copy commands can be configured to act on the current cursor
  510.   line if no Block is marked.  This option can be customized using the
  511.   configuration program QCONFIG.EXE.  Run QCONFIG.EXE, select A)dvanced
  512.   options, and return till you get to the option that reads:
  513.  
  514.           Should Cut and Copy use the current line if no block marked (Y/N)?
  515.           [N]
  516.  
  517.   The default configuration is set to <N> and will result in no action if the
  518.   Cut and Copy commands are used outside of a block. If set to <Y>, QEdit will
  519.   take use the current cursor line if the Cut and Copy commands are issued.
  520.  
  521.   Manipulating Using the Scratch Buffer
  522.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  523.   A Scratch Buffer is a special type of buffer to which you assign a name.
  524.   QEdit allows you to create and name up to 99 Scratch Buffers for each
  525.   editing session.  These can be useful if you have several different Blocks
  526.   of text that you want to insert in multiple locations.  The commands
  527.   StoreScrbuff, AppendScrbuff, and GetScrbuff are used to place text in, and
  528.   retrieve text from, a Scratch Buffer. Whenever you issue one of these
  529.   commands, QEdit will ask you for the name of the Scratch Buffer. The
  530.   contents of all Scratch Buffers are discarded when the editor is terminated.
  531.  
  532.   StoreScrbuff <Ctrl B><S> - will copy the marked Block to the named Scratch
  533.       Buffer.  The editor will prompt for the name of the Scratch Buffer.
  534.  
  535.   AppendScrbuff <Ctrl B><A> - will append the marked Block to the end of the
  536.       named Scratch Buffer.  The existing contents of the named Scratch
  537.       Buffers are _not_ lost.  If the named Scratch Buffer does not exist, a
  538.       new Scratch Buffer will be created.
  539.  
  540.   GetScrbuff <Ctrl B><L> - will insert the contents of the named Scratch
  541.       Buffer at the cursor position.
  542.  
  543.  
  544. Manipulating Marked Blocks (Part B)..
  545. ─────────────────────────────────────────────────────────────────────────────
  546.  
  547.   QEdit provides several other ways to manipulate a marked Block. Manipulation
  548.   of Marked Blocks can be done by using the Upper, Lower, Flip, Sort, Fill,
  549.   Print, and WriteBlock commands. Following is a description of each of
  550.   QEdit's block manipulation commands along with our default key combinations.
  551.  
  552.   Upper <Alt 1> - will change all characters in a marked block to upper case.
  553.  
  554.   Lower <Alt 2> - will change all characters in a marked block to lower case.
  555.  
  556.   Flip <Alt 3> - will reverse the case (upper to lower and lower to upper) of
  557.       all characters in a marked block.
  558.  
  559.   The Upper, Lower, and Flip commands must be used within the marked block.
  560.   If the cursor is outside of the marked block or if no block is marked, the
  561.   character at the current cursor position is changed to upper case.
  562.  
  563.   Sort <Shift F3> - will sort a range of lines in ascending order. The sort
  564.       key is determined by a marked column block.  The length of the column
  565.       block determines the range of lines to be sorted.
  566.  
  567.       This command can _only_ be used with a single, nonzoomed window on the
  568.       screen.
  569.  
  570.   FillBlock <Ctrl K><L> - will fill an entire block with any ASCII character.
  571.       FillBlock is recommended for use with column and word blocks only
  572.       because it will fill other type blocks with characters beyond column 80.
  573.  
  574.   PrintBlock <Alt P><B> - will print the entire contents of the marked Block.
  575.       The marked Block must be in the current file.
  576.  
  577.   WriteBlock <Alt W> - will write the marked Block to the named file.  The
  578.       editor will prompt for the name of the file.
  579.  
  580.       This feature will also allow you to save your current file under a
  581.       different name.  To do so, press <Alt W> with no marked blocks in the
  582.       file.  QEdit will prompt you for a filename. If the filename already
  583.       exists, QEdit will prompt you with "Overlay existing file" and "Append
  584.       to file." Select the option you desire or press escape to abort.
  585.  
  586.       If there is a marked block in the file, the WriteBlock command will, as
  587.       before, write the current marked block to the named file.
  588.  
  589.  
  590. QEdit's Keyboard Configuration
  591. ─────────────────────────────────────────────────────────────────────────────
  592.  
  593.   Are you tired of signing your names to all those messages you write in
  594.   QEdit?  Would you like to change the help screen to the F10 key like it was
  595.   in your "other" editor?  This is where QEdit's flexible keyboard
  596.   configuration is extremely helpful. It will provide you with the ability to
  597.   assign editor commands and macros to almost any key you prefer.  Below you
  598.   will find an explanation of QEdit's keyboard definition file (QCONFIG.DAT)
  599.   and how to modify it to meet _your_ needs.
  600.  
  601.   What is QCONFIG.DAT?
  602.   ~~~~~~~~~~~~~~~~~~~~
  603.   It is QEdit's keyboard definition file which contains the default settings
  604.   for the keyboard.  This file contains a list of all the keys to which
  605.   commands may be assigned.
  606.  
  607.   The configurable keys are on the left side of the file with the commands or
  608.   macros assigned to the keys on the right.  Blank lines and lines starting
  609.   with an asterisk "*" are ignored.  The control, alternate, and shift keys are
  610.   used within QCONFIG.DAT to assign to commands.  The following are some
  611.   examples of each.
  612.  
  613.        - Control keys are specified with a "^". (i.e. - ^F1 means Control F1
  614.          and ^PgUp means Control Page Up)
  615.  
  616.        - Alternate keys are specified with a "@". (i.e. - @F1 means Alternate
  617.          F1 and @PgUp means Alternate Page Up)
  618.  
  619.        - Shift keys are specified with a "#". (i.e. - #F1 means Shift F1)
  620.  
  621.   The case of the commands, as well as underscores in command names, are
  622.   ignored by the configuration program (QCONFIG.EXE). This means that
  623.   CursorDown, cursor_down, and Cursor_Down all refer to the same command.
  624.  
  625.   What are twokeys?
  626.   ~~~~~~~~~~~~~~~~~
  627.   A twokey is a keystroke sequence assigned to two distinct keystrokes.  This
  628.   allows for more key assignment possibilities. To assign a command to a
  629.   twokey, enter both of the keystrokes of the twokey in the first column
  630.   separated by an underline. The key here is that the commands must be
  631.   separated by a '_'.  For example, to assign the Exit command to the twokey,
  632.   <Ctrl F1><F2>, enter the following into your keyboard definition file:
  633.  
  634.           ^F1_F2  Exit
  635.  
  636.   Any QEdit command can be assigned to a twokey, including macros.
  637.  
  638.   How can I modify MY QEdit keys?
  639.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  640.   Any QEdit user can modify his/her keys to suit their needs.  It is easy and
  641.   simple.  Just follow the steps below to modify your QCONFIG.DAT file.
  642.  
  643.           1.  Edit QCONFIG.DAT  (i.e. - q QCONFIG.DAT).
  644.           2.  Make the appropriate changes to your QCONFIG.DAT file.  (i.e. -
  645.               change the definitions of @0 and ^F2 to be:
  646.  
  647.               @0      InsertDate
  648.  
  649.               ^F2     MacroBegin "Matthew Giles" Return "SemWare Technical
  650.                       Support"
  651.  
  652.               Remember that the first line of a command assignment must start
  653.               in column 1.  Command assignments can wrap or continue for
  654.               multiple lines, as long as each succeeding line starts in a
  655.               column greater than 1.
  656.  
  657.               Also remember that text should be enclosed in single or double
  658.               quotes.
  659.  
  660.           3.  Save your QCONFIG.DAT file.
  661.           4.  Run QCONFIG.EXE, enter program name and select K)eys
  662.           5.  Enter keyboard definition name
  663.           6.  Select S)ave options and quit
  664.  
  665.   You have now installed your new keyboard definitions into QEdit. Next time
  666.   the editor is loaded your new keys will be in effect.
  667.  
  668.   What if I liked the keys assignments on my "other" editor?
  669.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  670.   There are many keyboard definition files written by QEdit users and staff
  671.   that will allow you to customize your editor to run like another editor.
  672.   You may find these additional keyboard definition files on the SemWare
  673.   Support BBS.  To install and/or edit the other keyboard definition file,
  674.   follow the steps above with the addition of entering the new filename when
  675.   it prompts you for the keyboard definition filename.
  676.  
  677.  
  678. QEdit TSR's Benefits
  679. ─────────────────────────────────────────────────────────────────────────────
  680.  
  681.   Have you ever been in a program and wanted to simply jot a note to yourself?
  682.   Have you ever had the need to take a quick look at a document, but the
  683.   program you were in had no shell option? Then, QEdit TSR, the memory
  684.   resident version of QEdit, is for you!
  685.  
  686.   As a memory-resident version of QEdit Advanced, QEdit TSR (Terminate and
  687.   Stay Resident) resides in the background, giving you the power of QEdit with
  688.   a single keystroke, but without having to exit the file you're working in.
  689.   Unlike more familiar TSR programs, QEdit TSR utilizes a unique swapping
  690.   feature to provide the benefits of a TSR without draining precious memory.
  691.   QEdit TSR uses less than 9k memory, and when popped up swaps your current
  692.   applications out of memory and into extended/ expanded memory or to disk.
  693.   In this configuration, you can edit files up to 400k in size.
  694.  
  695.   QEdit TSR contains all of the QEdit v2.15 commands plus four additional
  696.   commands.  These are described below along with the default key combination
  697.   for each.
  698.  
  699.   GrabScreen <Ctrl F10> - reads in the contents of the screen, as it appeared
  700.       when you popped up QEdit TSR as a marked block at your current cursor
  701.       position, and inserts it into the current file as a marked block. The
  702.       GrabScreen command behaves as if you were using the QEdit Advanced
  703.       ReadBlock command.
  704.  
  705.   GoBack <ESC><Q><G> - returns you to your DOS application, in the exact
  706.       configuration as when you left it.  The GoBack command can be customized
  707.       to prompt you to save edited files.  This is done by using QTCONFIG,
  708.       QEdit TSR's configuration program.
  709.  
  710.   Purge <ESC><Q><P> - purges QEdit TSR from memory after first prompting the
  711.       user to save any changed files.
  712.  
  713.   TsrPaste - "pastes" a marked block into the foreground application.
  714.       TsrPaste does not have a default keyboard assignment.  To use this
  715.       command, follow these steps:
  716.  
  717.       1) When the foreground application is waiting for input, pop up QEdit
  718.          TSR.
  719.  
  720.       2) Within QEdit TSR, mark a block of text and stuff it into the keyboard
  721.          buffer with the [TsrPaste] command (available as the last item on the
  722.          "Quit" pulldown menu).
  723.  
  724.       3) Quit QEdit TSR and return to the foreground application by issuing
  725.          the [GoBack] command, and the text will be immediately pasted into
  726.          the foreground application.
  727.  
  728.   Notes: Each line that is pasted, including single lines, has a carriage
  729.       return appended to it.
  730.  
  731.   Although QEdit TSR has all the features QEdit Advanced is famous for, most
  732.   users want a non-TSR editor as well.  For this reason, QEdit TSR currently
  733.   comes bundled with a separate copy of QEdit Advanced.  Registered users may
  734.   purchase only the TSR software at a discount over the full TSR package
  735.   price.  Please call us at 404-641-9002 M-F 9a-5p EST for details!
  736.  
  737. QEdit's Line/Box Drawing
  738. ─────────────────────────────────────────────────────────────────────────────
  739.  
  740.   Do you want to spice up your memos?  Do you want to draw boxes around text
  741.   to emphasize it?  Then QEdit's Line/Box drawing feature is for YOU!  Give
  742.   emphasis to your documents without the need to use a drawing program.  It's
  743.   simple and easy to use!
  744.  
  745.   QEdit contains two line drawing commands.  These are described below along
  746.   with the default key combination for each.
  747.  
  748.   ToggleBoxDraw <Shift F1> - this mode of operation can be switched ON or OFF.
  749.       In the ON position, the cursor movement keys (up, down, right, and left)
  750.       can be used to "draw" lines in the text.  To switch Line/Box Drawing
  751.       mode ON, enter <Shift F1>. To switch it OFF, enter <Shift F1> again.
  752.  
  753.   ToggleBoxType <Alt F1> - this command prompts the user to select from
  754.       various line drawing styles for use in the Line/Box Drawing mode.  The
  755.       selectable options are:  single, double top, double side, double, and
  756.       eraser.
  757.  
  758.   The status line indicates when the line/box drawing mode is on. The letter
  759.   'B' is displayed on the status line whenever line/box drawing mode is
  760.   selected.
  761.  
  762.   To print the lines/boxes you have drawn in your text file, first set your
  763.   printer to use the IBM graphics character set.  Then use any of QEdit's
  764.   printing options.
  765.  
  766.  
  767. QEdit's Conditional Logic for Macros
  768. ─────────────────────────────────────────────────────────────────────────────
  769.  
  770.   Have you ever wanted to test to see if the cursor is at the beginning of the
  771.   line?  Have you ever wanted to perform a task only if you find what you are
  772.   searching for in a macro?  QEdit brings you all the power of looping and
  773.   branching in it's conditional logic commands.
  774.  
  775.   There are three commands in QEdit for use within macros: Jump, JTrue, and
  776.   JFalse.  Placing one of these commands following another QEdit command in a
  777.   macro allows for branching or looping during macro execution.
  778.  
  779.   All QEdit commands set an internal result code to either "true" for
  780.   successful execution, or "false" for unsuccessful execution or if no action
  781.   occurs.  The Jump command makes an unconditional jump.   The JTrue command
  782.   makes a jump only when a result code of "true" is returned.  Likewise, the
  783.   JFalse makes a jump only for a result code of "false".
  784.  
  785.   Labels can be defined for branching, in the format "label:". The maximum
  786.   label length is 15 characters.
  787.  
  788.   For example, here is a macro to delete from the cursor position to the
  789.   beginning of the line, and assigned to the f10 key:
  790.  
  791.           f10     MacroBegin
  792.                   begin:
  793.                      CursorLeft
  794.                      JFalse done:
  795.                      DelCh
  796.                      Jump begin:
  797.                   done:
  798.  
  799.  
  800. Little known QEdit Commands
  801. ─────────────────────────────────────────────────────────────────────────────
  802.  
  803.   Have you ever wanted to adjust some of your settings temporarily?  Have you
  804.   wanted to turn off the sound while performing a repeated find command?  Have
  805.   you wanted to find the decimal code for a character?  QEdit Advanced lets
  806.   you accomplish these tasks and more!  These additional general and advanced
  807.   macro commands increase the power of QEdit.  The following is a list of the
  808.   commands added to QEdit in version 2.15 with a brief description of each,
  809.   plus several examples.
  810.  
  811.   General Commands:
  812.   ~~~~~~~~~~~~~~~~
  813.   AsciiChart - Displays a scrollable ASCII chart on the screen.
  814.  
  815.   ListFiles -  Displays a list of the currently loaded files. To switch to
  816.       another file, move the cursor to the appropriate file and press <Enter>.
  817.       To resume editing the current file, press <Escape>.
  818.  
  819.   FirstNonWhite -  Intended as a replacement and/or supplement to the BegLine
  820.       command. Places the cursor at the first non-white character on the line,
  821.       or column 1 if the line doesn't have any non-white characters. "White"
  822.       characters are tabs or spaces. A useful macro would be:
  823.  
  824.           Home MacroBegin BegLine JTrue done: FirstNonWhite done:
  825.  
  826.       (Explanation: If already at the start of a line, go to the first
  827.       non-white character on the line; otherwise, if not already at the start
  828.       of a line, go to the start of the line.)
  829.  
  830.   Advanced Macro Commands:
  831.   ~~~~~~~~~~~~~~~~~~~~~~~
  832.   The following commands, intended primarily for QEdit macro writers, are
  833.   designed to simplify the writing of certain kinds of macros.  This group of
  834.   macro commands forces the indicated mode or setting.  If the setting is
  835.   already in that condition, they set QEdit's result code to TRUE; otherwise,
  836.   they set it to FALSE.
  837.  
  838.   In some cases, a macro can behave differently based on the currently set
  839.   QEdit modes.  The following three commands give some control in establishing
  840.   the proper environment so that your macro will always work as intended.
  841.  
  842.   SetInsMode - Sets Insert mode on. To set Insert mode "off" (that is, set
  843.       overwrite mode "on"), do the following: SetInsMode ToggleInsert
  844.  
  845.   SetAutoIndentMode - Sets AutoIndent mode "on". To set AutoIndent mode off,
  846.       do the following: SetAutoIndentMode ToggleIndent
  847.  
  848.   SetWordWrapMode - Sets WordWrap mode "on". To set WordWrap mode off, do the
  849.       following: SetWordWrapMode ToggleWordWrap
  850.  
  851.   The Find command sounds a tone when the search string cannot be found. This
  852.   can be irritating in the case of a long-running macro that may possibly
  853.   execute hundreds of finds that fail. The following commands allow you to
  854.   selectively turn the sound "on" and "off".
  855.  
  856.   SetSoundOn - Sets sound "on".
  857.  
  858.   SetSoundOff - Sets sound "off".
  859.  
  860.   Most macros execute dozens of QEdit commands, sometimes hundreds of times.
  861.   This can cause the screen to flash rapidly as the macro runs. Not only is
  862.   this disconcerting to watch, it actually decreases the speed of some macros.
  863.   The following commands allow you to temporarily suspend or resume screen
  864.   updating, while a macro is running.
  865.  
  866.   SetScreenOn - Turns screen updating "on".
  867.  
  868.   SetScreenOff - Turns screen updating "off". You must turn screen updating
  869.       back on before your macro prompts for input, or if there is some output
  870.       from the macro that you want displayed on the screen.
  871.  
  872.   NOTE: QEdit will AUTOMATICALLY turn screen updating back on when the macro
  873.   has finished executing. Thus, it is not necessary to issue the SetScreenOn
  874.   command at the end of the macro.
  875.  
  876.   Many times, it would be nice for a macro to force a few settings, do its
  877.   assigned task, and then restore the original settings. The following
  878.   commands allow you to do just that. Note that each time SaveSettings is
  879.   executed, the previous settings saved with SaveSettings are overwritten.
  880.  
  881.   SaveSettings - Saves the current settings of: Insert, AutoIndent, WordWrap,
  882.       Sound, and Screen Updating.
  883.  
  884.   RestoreSettings - Restores the saved settings listed above.
  885.  
  886.   The following commands set QEdit's result code to TRUE or FALSE based on the
  887.   condition being tested. These commands make certain types of macro tests
  888.   easier and more reliable.
  889.  
  890.   isBegLine - Returns TRUE if the cursor is at column 1; otherwise, FALSE is
  891.       returned.
  892.  
  893.   isEndLine - Returns TRUE if the cursor is past the last non-white character
  894.       on the current line; otherwise, FALSE is returned, including the case
  895.       when the cursor is on an empty line.
  896.  
  897.   isEmptyLine - Returns TRUE if the current line is empty or contains only
  898.       white space; otherwise, FALSE is returned.
  899.  
  900.   isLastLine - Returns TRUE if the cursor is on the last line of the currently
  901.       edited file; otherwise, FALSE is returned.
  902.  
  903.   isFirstLine - Returns TRUE if the cursor is on the first line of the
  904.       currently edited file; otherwise, FALSE is returned.
  905.  
  906.   isCursorInBlock - Returns TRUE if the cursor is inside a marked block;
  907.       otherwise, FALSE is returned.
  908.  
  909.   To demonstrate how these concepts tie together, consider the following
  910.   simple macro to delete all the blank lines in a marked block. The cursor
  911.   should be at the beginning of the block when the macro is invoked.
  912.  
  913.   ^f9  MacroBegin
  914.        SetScreenOff                  * turn off screen for speed
  915.   begin:
  916.        isCursorInBlock jFalse done:  * exit if not in block
  917.        isEmptyLine     jFalse next:  * skip if not empty line
  918.        isLastLine      jTrue  last:  * special handling for last
  919.                                      * line
  920.        DelLine         jump  begin:  * delete empty lines
  921.   next:
  922.        CursorDown      jTrue begin:  * try next line
  923.        jump done:                    *
  924.   last:
  925.        DelLine                       * delete the last line
  926.   done:                              * that's all, folks!
  927.  
  928.  
  929. Replacing a CR with a CR/LF
  930. ─────────────────────────────────────────────────────────────────────────────
  931.  
  932.   Have you ever loaded a file and gotten the message "long line splits"?  Have
  933.   you ever had a database file that just had a carriage return at the end of
  934.   line of text?  We have developed a small macro that allows you to replace a
  935.   visible carriage return (CR) with a carriage return/line feed (CR/LF).
  936.  
  937.   The DOS standard specifies that a CR/LF be appended to each line of text in
  938.   an ASCII text file.  Some databases, as well as the Macintosh, only use
  939.   carriage returns at the end of their lines of text in files.  The following
  940.   macro can be used when you see the carriage return (it will appear as a
  941.   musical note) in your text. The macro will replace the carriage return
  942.   (ASCII 13) with a carriage return/line feed (ASCII 13/10).
  943.  
  944.   <key>    MacroBegin SetScreenOff Find #13 Return 'i' Return top: Delch
  945.            SplitLine CursorDown JoinLine BegLine RepeatFind JTrue top
  946.  
  947.   NOTE: <key> is the key to which you should tie this macro.  In addition, the
  948.         macro must all be on one line in your QCONFIG.DAT file.  Once you have
  949.         added the macro to your keyboard, run QCONFIG.EXE to install the
  950.         changes. To use QCONFIG.EXE, run it, press return to accept Q.EXE,
  951.         press K for keys, press return to accept QCONFIG.DAT, then press S to
  952.         save your changes.
  953.  
  954.  
  955. Eliminating all tabs in your file
  956. ─────────────────────────────────────────────────────────────────────────────
  957.  
  958.   Have you ever wanted to get rid of _all_ the tabs (ASCII 9) that
  959.   are in your text file?  It gets pretty frustrating trying to
  960.   figure out how to do this, right?  This is a question that the
  961.   SemWare Technical Support Staff is often asked.  In response, in
  962.   QEdit 3.0, the TabsToSpaces command has been added.  From the
  963.   reference manual:
  964.  
  965.   TabsToSpaces        <Esc><O><X>
  966.   ------------------------------------------------------------
  967.   Expands tab characters to the appropriate number of spaces. Tabs within
  968.   quotes (single and double) are not expanded.  If the cursor is within a
  969.   marked Block when this command is executed, only tabs within the Block are
  970.   expanded; otherwise, this command operates on the entire file.
  971.  
  972.  
  973. Drawing Boxes in Text
  974. ─────────────────────────────────────────────────────────────────────────────
  975.  
  976.   Have you ever wanted to box in parts of a text file for emphasis, or to
  977.   spice up messages with fancy boxes?  We have developed a simple one-key step
  978.   for boxing in your text with QEdit.
  979.  
  980.   QEdit has a versatile line/box drawing capability. But since most of us like
  981.   to make text editing as simple as possible, we took QEdit's box drawing
  982.   feature and incorporated it into two different versions of a macro.  Each
  983.   version takes a _column block_, _marked word_, or _character block_ that the
  984.   user marks and draws a box around the text.  Then, depending on which
  985.   version is used, it reinserts the boxed text into your file in one of two
  986.   ways: "insert" or "overwrite."
  987.  
  988.   Give one of the versions of the macro a try and see how it gives your text
  989.   files an exciting new look!
  990.  
  991.   This version of the macro will box the text and re-insert it _without_
  992.   overwriting other text in the file.
  993.  
  994.   <key>   MacroBegin SetScreenOff EditFile "nul" Return Quit GotoBlockEnd
  995.           AddLine GotoBlockBeg InsertLine Cut EditFile Return GotoColumn '2'
  996.           Return Paste InsertLine GotoBlockEnd ToggleBoxDraw upagainr:
  997.           CursorUp JTrue upagainr leftagaint: CursorLeft JTrue leftagaint
  998.           GotoBlockEnd CursorDown leftagainb: CursorLeft JTrue leftagainb
  999.           upagainl: CursorUp JTrue upagainl CursorRight ToggleBoxDraw
  1000.           UnMarkBlock BegFile MarkColumn EndFile CursorLeft Copy Quit Paste
  1001.           UnMarkBlock
  1002.  
  1003.   This version of the macro will box the text and re-insert it into the file
  1004.   while overwriting text surrounding the block with the new box.
  1005.  
  1006.   <key>   MacroBegin SetScreenOff EditFile "nul" Return Quit GotoBlockBeg Cut
  1007.           Paste FillBlock " " Return CursorUp CursorLeft EditFile Return
  1008.           GotoColumn '2' Return Paste InsertLine GotoBlockEnd ToggleBoxDraw
  1009.           upagainr: CursorUp JTrue upagainr leftagaint: CursorLeft JTrue
  1010.           leftagaint GotoBlockEnd CursorDown leftagainb: CursorLeft JTrue
  1011.           leftagainb upagainl: CursorUp JTrue upagainl CursorRight
  1012.           ToggleBoxDraw UnMarkBlock BegFile MarkColumn EndFile CursorLeft Cut
  1013.           Quit PasteOver UnMarkBlock
  1014.  
  1015.   NOTE: <key> is the key to which you should tie each macro.
  1016.  
  1017.       Once you have added the macro to your QCONFIG.DAT file, run QCONFIG.EXE
  1018.       to install the changes. To use QCONFIG.EXE, run it, press return to
  1019.       accept Q.EXE, press K for keys, press return to accept QCONFIG.DAT, then
  1020.       press S to save your changes.
  1021.  
  1022.  
  1023. Loading a Filelist into QEdit
  1024. ─────────────────────────────────────────────────────────────────────────────
  1025.  
  1026.   Do you often work with the same group of files?  Does it take you awhile to
  1027.   load these files?  If so, you are like many others who use the same files
  1028.   quite often and who spend a lot of time loading them into the editor.  Now
  1029.   you can use the flexibility of QEdit to load _all_ those files with a single
  1030.   keystroke.
  1031.  
  1032.   To use the following macro to load your list of files, first create a file
  1033.   (ie - FILELIST).  Then list each one of the files you need to load
  1034.   (including it's path) on separate lines. Finally, save that file for future
  1035.   use (note that you may have several lists of files for different needs).  In
  1036.   the future you can just load your filelist into the editor and run the
  1037.   macro. Notice that since you have not actually viewed the files yet, they
  1038.   will not be loaded until you move to them the first time . This will permit
  1039.   the user to take care of any "Press Escape" prompts.
  1040.  
  1041.   The end result will be to load each of the files in the filelist into the
  1042.   editor in the order that they were listed and to remove the FILELIST from
  1043.   the current file ring.
  1044.  
  1045.   <key>     MacroBegin SetScreenOff EndFile REPEAT: UnMarkBlock MarkLine Copy
  1046.             EditFile CurrentFilename " " Paste Return CursorUp JTrue REPEAT:
  1047.             Quit NextFile
  1048.  
  1049.   NOTE: <key> is the key to which you should tie this macro. Once you have
  1050.       added the macro to your QCONFIG.DAT file, run QCONFIG.EXE to install the
  1051.       changes. To use QCONFIG.EXE, run it, press return to accept Q.EXE, press
  1052.       K for keys, press return to accept QCONFIG.DAT, then press S to save
  1053.       your changes.
  1054.  
  1055.  
  1056. Macro Table is Full
  1057. ─────────────────────────────────────────────────────────────────────────────
  1058.  
  1059.   Are you running out of macro space in QEdit?  Does QEdit respond with a
  1060.   MACRO TABLE FULL error when installing your keys?  Then, it looks like you
  1061.   need more space for QEdit macros.  Although the configuration area for key
  1062.   definitions is fixed in the editor, there still is a solution.  Setting up
  1063.   external macro files are a good way to add macros to the editor when the
  1064.   macro table is full.
  1065.  
  1066.   The configuration area for key definitions holds approximately 2000 bytes of
  1067.   information.  When that space is full, you will receive an error message:
  1068.   'macro table full at line #:'.  One solution is to go into your keyboard
  1069.   definition file (normally QCONFIG.DAT) and delete macros that are no longer
  1070.   needed. Alternatively you can move several of your larger macros to an
  1071.   external macro file and compile it with QMAC, QEdit's external macro
  1072.   compiler.  Each of these external macro files can be up to 4k in size and
  1073.   you can generate as many such files as needed. Thus, users have access to an
  1074.   unlimited amount of macro space through the use of external macro files.
  1075.  
  1076.   For example, create a macro file named MYMACS.MAC that has several of your
  1077.   larger macros included in it.  Next create a batch file, such as Q.BAT, to
  1078.   run QEdit, and load your macros. To eliminate confusion about where you
  1079.   execute Q.BAT, rename Q.EXE to QEDIT.EXE.  The batch file will then be
  1080.   similar to the following:
  1081.  
  1082.        qedit %1 %2 %3 %4 %5 %6 %7 %8 %9 -lc:\qedit\mymacs.mac
  1083.  
  1084.   The batch file loads QEdit, loads up to nine files on the command line, and
  1085.   loads the external macro file.  Modifications to the 'c:\qedit\mymacs.mac'
  1086.   section of the batch file may be needed, depending on the name of your macro
  1087.   file and it's location on your system.
  1088.  
  1089.   The end result is a keyboard definition file with more space available, plus
  1090.   an easy way to load the deleted macros in an external macro file.  All this
  1091.   with still just the touch of one keystroke!
  1092.  
  1093.  
  1094. Printing to LPT1 and LPT2
  1095. ─────────────────────────────────────────────────────────────────────────────
  1096.  
  1097.   Have you ever wanted to print to another printer port in QEdit? Do you have
  1098.   two printers and want to toggle between them?
  1099.  
  1100.   As shipped, QEdit's printer routines output all data to PRN, which usually
  1101.   points to LPT1.  A number of users have expressed a need to print to LPT2,
  1102.   or to toggle between LPT1 and LPT2.  In response, in QEdit 3.0, you can
  1103.   select the device to print to, PRN, LPT1, LPT2, LPT3, or even a disk file.
  1104.  
  1105.   This printer output device can be set permanently via QCONFIG, or
  1106.   temporarily inside QEdit via the Print pulldown menu.
  1107.