RACEEDIT is a simple full screen editor that will allow you to write a
message to a user from within RACE. RACEEDIT does not have block
commands or search and replace or any other fancy do-dads. It's
a basic editor that will allow you to write a quick message to a
user. If you would like to use your own editor, see the technical
notes in the second half of this document.
Place RACEEDIT.EXE in the same directory as RACE.EXE. From within the
RACE main screen, press ALT-E to bring up the message editor. If you
are a registered RACE user, ALT-E will also bring up the editor in the
validation screen. If you are not registered, "Unavailable in
unregistered version" is displayed if you press ALT-E in validate.
RACEEDIT is executed directly from with RACE and command.com is not
used. Whether or not RACE swaps out before running RACEEDIT is
determined by your settings for Swap file in RACECFG. See RACE.DOC for
full information on the swap file set up.
RACEEDIT gets most of the message header information from the welcome
message configuration set up in RACECFG. The TO: field is filled with
the name of the user currently being viewed in the main screen or in
validate mode if registered as previously mentioned.
The lack of ability to edit header information was a design decision
meant to prevent accidental posting of messages to non-existant users,
in message boards where they shouldn't go (echomail), undefined boards,
etc. The primary purpose of the built in editor is for use during
validation and so using the welcome message set up information was felt
to be the best and safest way to go.
RACEEDIT will allow creation of a message up to 64k in length or
available memory, whichever is the lesser of the two.
RACEEDIT.EXE is basically a Turbo Professional TpMemo editor that was
written specifically to work with RACE.
You CANNOT simply rename your favorite editor to RACEEDIT.EXE and use it
in place of the supplied editor. This was not done intentionally to
prevent using a different editor. One reason for this is that the best
method of determining what RACE should do next on return from running the
editor is by examining the errorlevel the editor has dropped. Most
editors don't drop an errorlevel upon exit and if they do, they probably
won't match what RACE needs to know. The following errorlevels are
defined in RACEEDIT.EXE:
0 = normal termination, message text saved
1 = normal termination, message text NOT saved
2 = window error (probably insufficient heap space)
3 = error writing message file
4 = error reading message file
5 = buffer allocation or memory error
The first two errorlevels are obviously the most important and if you
have an editor that can drop those under the proper conditions, you MAY
be able to use it in place of RACEEDIT. Note that most editors will
probably (?) return an errorlevel of 0 no matter what happens short of
the editor crashing. If that is the case, RACE may attempt to import
the text file even if you aborted the save in your editor. More on this
The next thing you need to know is that RACEEDIT writes any saved text
to a file called RACETMP.MSG. This is the filename RACE will look for
if an errorlevel of 0 is returned when exiting the editor. Once this
file is successfully imported, RACE deletes it.
Another thing to keep in mind is that RACEEDIT saves the underlying
screen before it pops up and restores it upon exit. If your editor
doesn't do this, it could get messy looking.
I have tested RACE with Qedit by renaming Qedit.exe to RACEEDIT.EXE and
it does work for the most part. Even though RACEEDIT does not need the
text file name passed to it, RACE passes 'RACETMP.MSG' for the use
of other editors. By providing this, you won't have to answer your
editor's prompt for a filename everytime you want to write a message.
You will probably need the registered version of Qedit because I believe
the unregistered version does not save the underlying screen. Although
RACE updates all the information after any action, it does NOT redraw
the entire screen and as mentioned before, it might not be pretty if
your editor doesn't save the screen.
Next you will need to rename QEDIT.EXE to RACEEDIT.EXE and place it in
the same directory as RACE. Future versions of RACE may allow you to
define the editor name, but for now "RACEEDIT.EXE" is hard coded into
When using Qedit with RACE =YOU= will have to be sure you don't save
any text if you wish to abort the message. QEDIT will not create
RACETMP.MSG until you save or save and exit so RACE will be able to
tell there is nothing to import if you leave Qedit properly.
Since Qedit doesn't drop the same (or any?) errorlevels as the real
RACEEDIT, the only way RACE can tell the message was aborted is by the
absence of RACETMP.MSG. If it finds this file it =WILL= import it if
you are using an editor other than the 'official' RACEEDIT.
Last but not least, you will have to insure the margins within Qedit are
reasonable. RACE imports the message text as is with absolutely NO
formatting. Set your right margin to 65 or 70 and all should be fine.
The above procedures may or may not work with other editors. You'll
just have to experiment a bit.
** EOF **