Professional Documents
Culture Documents
___________________________________________________________________________
i
/Wx,y,w,h (set the window size TRANCOPY: A project transfer item
and location) . . . . . . . 43 utility . . . . . . . . . . . . . 52
TLIB . . . . . . . . . . . . . . 43 TRIGRAPH: A character-conversion
Why use object module utility . . . . . . . . . . . . . 53
libraries? . . . . . . . . . . 44 Transfer macros . . . . . . . . . 54
The TLIB command line . . . . 44 State macros . . . . . . . 54
The operation list . . . . . 46 File name macros . . . . . 54
File and module names . . 46 Instruction macros . . . . 55
TLIB operations . . . . . 46 Running DOS commands . . . . . 59
Using response files . . . . . 48 Transfer memory settings . . . 59
Creating an extended dictionary: Turbo Editor macros . . . . . . . 60
The /E option . . . . . . . . 49 TEMC command line . . . . . . . . 60
Setting the page size: The /P Syntax . . . . . . . . . . . . . 61
option . . . . . . . . . . . . 49 Key codes . . . . . . . . . . . . 62
Advanced operation: The /C Named keys . . . . . . . . . . 63
option . . . . . . . . . . . . 50 Predefined editor commands . . . 64
Examples . . . . . . . . . . . 51
TOUCH . . . . . . . . . . . . . 51 Index 77
ii
TABLES
___________________________________________________________________________
iii
Online document
___________________________________________________________________________
Other utilities
===========================================================================
HOW TO USE THIS FILE
===========================================================================
-------------------------------------------------------
Name Description
-------------------------------------------------------
- 1 -
CPP Preprocessor
GREP File-search utility
OBJXREF Object module cross-referencer
PRJCFG Updates options in a project file from a
configuration file, or converts a project
file to a configuration file
PRJCNVT Converts Turbo C project files to the Turbo
C++ format
PRJ2MAK Converts Turbo C++ project files to MAKE
files
THELP Turbo Help utility
TLIB Turbo Librarian
TOUCH Updates file date and time
TRANCOPY Copies transfer items from one project to
another
TRIGRAPH Character-conversion utility
TEML/TEMC Turbo Editor Macro Language and Compiler
-------------------------------------------------------
===========================================================================
BGIOBJ: Converting graphics drivers and fonts
===========================================================================
- 2 -
To convert a driver or font file to a linkable object
file, use the BGIOBJ.EXE utility. This is the
simplified syntax:
BGIOBJ source_file
- 3 -
routine returns a nonnegative value if the driver or
font is successfully registered.
---------------------------------------------------------------------------
Driver file registerbgidriver Font file registerbgifont
(*.BGI) symbolic name (*.CHR) symbolic name
---------------------------------------------------------------------------
---------------------------------------------------------------------------
------------------ Suppose you want to convert the files for the CGA
An example graphics driver, the gothic font, and the triplex font
------------------ to object modules, then link them into your program.
Here's what you do:
bgiobj cga
bgiobj trip
bgiobj goth
- 4 -
the TCC command line. For example, the TCC command
line would look like this:
/* ... */
/* ... */
- 5 -
mand lines direct BGIOBJ to use segment names of the
form EGAVGA_TEXT and SANS_TEXT.
bgiobj /F egavga
bgiobj /F sans
For files created with /F, you must use these far
registering routines instead of the regular
registerbgidriver and registerbgifont. For example,
if (registerfarbgidriver(EGAVGA_driver_far) < 0)
exit(1);
if (registerfarbgifont(sansserif_font_far) < 0)
exit(1);
-------------------------------------------------------
Component Description
-------------------------------------------------------
- 6 -
5 for a detailed discussion of
/F.)
-------------------------------------------------------
- 7 -
If you choose to use your own public name(s), you have
to add declaration(s) to your program, using one of the
following forms:
#include <graphics.h>
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <process.h>
#include <alloc.h>
main()
{
void *gothic_fontp; /* points to font buffer
in memory */
int handle; /* file handle used for
I/O */
unsigned fsize; /* size of file (and
buffer) */
- 8 -
int errorcode;
int graphdriver;
int graphmode;
- 9 -
settextstyle(GOTHIC_FONT, HORIZ_DIR, 4);
outtextxy(getmaxx()/2,getmaxy()/2,
"Borland Graphics Interface (BGI)");
/* press a key to terminate */
getch();
/* shut down graphics system */
closegraph();
return(0);
}
===========================================================================
CPP: The preprocessor
===========================================================================
- 10 -
This output file is a text file containing each line of
the source file and any include files. Any preproces-
sing directive lines have been removed, along with any
conditional text lines excluded from the compile.
Unless you use a command-line option to specify other-
wise, text lines are prefixed with the file name and
line number of the source or include file the line came
from. Within a text line, any macros are replaced with
their expansion text.
An example =======================================================
main()
BEGIN
printf("%s\n", NAME);
END
Output:
HELLOAJ.c 1:
HELLOAJ.c 2:
HELLOAJ.c 3:
- 11 -
HELLOAJ.c 4:
HELLOAJ.c 5: main()
HELLOAJ.c 6: {
HELLOAJ.c 7: printf("%s\n","H.R. Floyd");
HELLOAJ.c 8: }
Output:
main()
{
printf("%s\n","H.R. Floyd");
}
===========================================================================
GREP: A text-search utility
===========================================================================
- 12 -
Command-line =======================================================
syntax
The general command-line syntax for GREP is
The command
GREP ?
- 13 -
individually (like this: -i -d -l), or you can combine
them (like this: -ild or -il, -d, and so on); it's all
the same to GREP.
------------------------------------------------------------------------------
Option Meaning
------------------------------------------------------------------------------
-c Match Count only: Prints only a count of matching lines. For each file
that contains at least one matching line, GREP prints the file name and
a count of the number of matching lines. Matching lines are not
printed. This option is off by default.
-l List file names only: Prints only the name of each file containing a
match. After GREP finds a match, it prints the file name and processing
immediately moves on to the next file. This option is off by default.
-n Line Numbers: Each matching line that GREP prints is preceded by its
line number. This option is off by default.
- 14 -
. any character \ quote next character
* match zero or more + match one or more
-u Update options: GREP will combine the options given on the command line
with its default options and write these to the GREP.COM file as the
new defaults. (In other words, GREP is self-configuring.) This option
allows you to tailor the default option settings to your own taste. If
you want to see what the defaults are in a particular copy of GREP.COM,
type
GREP ?
at the DOS prompt. Each option on the help screen will be followed by a
+ or a - depending on its default setting. This option is off by
default.
-v Nonmatch: Prints only nonmatching lines. Only lines that do not contain
the search string are considered to be nonmatching lines. This option
is off by default.
An alternate form of this option lets you specify the set of legal word
characters. Its form is -w[set], where set is any valid regular
expression set definition.
-z Verbose: GREP prints the file name of every file searched. Each
matching line is preceded by its line number. A count of matching lines
in each file is given, even if the count is zero. This option is off by
default.
------------------------------------------------------------------------------
- 15 -
------------------ Remember that each of GREP's options is a switch: Its
Order of state reflects the way you last set it. At any given time,
precedence each option can only be on or off. Each occurrence of a
------------------ given option on the command line overrides its previous
definition. Given this command line,
GREP runs with the -d option on, the -i option on, and the
-r option off.
grep -u -z
- 16 -
------------------ When you use the -r option (on by default), the search
Operators in string is treated as a regular expression (not a literal
regular expression). The following characters take on special
expressions meanings:
------------------
---------------------------------------------------------------------------
Option Meaning
---------------------------------------------------------------------------
\ The backslash escape character tells GREP to search for the literal
character that follows it. For example, \. matches a period instead
of "any character." The backslash can be used to quote itself; that
is, you can use \\ to indicate a literal backslash character in a
GREP expression.
---------------------------------------------------------------------------
- 17 -
Note Four of the "special" characters ($, ., *, and +) don't
have any special meaning when used within a bracketed
set. In addition, the character ^ is only treated
specially if it immediately follows the beginning of
the set definition (immediately after the [ delimiter).
File =======================================================
specifications
file(s) tells GREP which files (or groups of files) to
search. file(s) can be an explicit file name, or a
"generic" file name incorporating the DOS ? and *
wildcards. In addition, you can enter a path (drive and
directory information) as part of file(s). If you give
file(s) without a path, GREP searches the current
directory.
------------------ The search string here tells GREP to search for the
Example 1 word main with no preceding lowercase letters ([^a-z]),
------------------ followed by zero or more occurrences of blank spaces
(\ *), then a left parenthesis.
Command line:
grep -r [^a-z]main\ *( *.c
- 18 -
Matches: main(i:integer)
main(i,j:integer)
if (main ()) halt;
if (MAIN ()) halt;
Files searched:
*.C in current directory.
Command line:
grep -ri [a-c]:\\data\.fil *.c *.inc
Matches: A:\data.fil
c:\Data.Fil
B:\DATA.FIL
Files searched:
*.C and *.INC in current directory.
- 19 -
Files searched:
*.DOC in the current directory.
Files searched:
*.DOC in the current directory.
Files searched:
*.DOC and *.C in the current directory, and
MYFILE.* in a directory called \WORK on
drive A.
- 20 -
------------------ This example searches for any one of the characters
Example 6 " . : ? ' and , at the end of a line.
------------------
The double quote within the range is preceded by an
escape character so it is treated as a normal character
instead of as the ending quote for the string. Also,
the $ character appears outside of the quoted string.
This demonstrates how regular expressions can be
concatenated to form a longer expression.
Command line:
grep -rd "[ ,.:?'\"]"$ \*.doc
Files searched:
*.DOC in the root directory and all its
subdirectories on the current drive.
------------------ This example ignores case and just prints the names of
Example 7 any files that contain at least one match. The three
------------------ command-line examples show different ways of specifying
multiple options.
Command line:
grep -ild " the " \*.doc
or
grep -i -l -d " the " \*.doc
or
grep -il -d " the " \*.doc
- 21 -
Files searched:
*.DOC in the root directory and all its
subdirectories on the current drive.
Command line:
grep -w[=] = *.c
Matches: i = 5;
j=5;
i += j;
Files searched:
*.C in the current directory.
===========================================================================
OBJXREF: The object module cross-reference utility
===========================================================================
- 22 -
different output file name is specifically indicated
with the -o TCC command-line option.
- 23 -
Entering OBJXREF with no file names or options produces
a summary of available options.
-------------------------------------------------------
Option Meaning
-------------------------------------------------------
or
- 24 -
and then the current directory for files, you
would enter
OBJXREF /Dborland;.
-------------------------------------------------------
Report options
=======================================================
- 25 -
-------------------------------------------------------
Option Report generated
--------------------------------------------------
--------------------------------------------------
- 26 -
Response files =======================================================
You can specify more than one response file on the com-
mand line; additional .OBJ and .LIB file names can
precede or follow them.
------------------ You can also use project files of the type generated by
Project files Turbo C++'s integrated environment as response files.
------------------ In the command line, precede the project file name with
/P, like this:
/Pfilename
- 27 -
File names in the project file with a .C extension or
no extension are interpreted as specifying the
corresponding .OBJ file. You need not remove file
dependencies specified inside parentheses; they are
ignored by OBJXREF.
/* test1.c */
int i1; /* defines i1 */
extern int i2; /* refers to i2 */
static int i3; /* not a public name */
extern void look(void); /* refers to look */
/* test2.c */
#include <process.h>
extern int i1; /* refers to i1 */
- 28 -
int i2; /* defines i2 */
SYMBOL DEFINED IN
_i1 TEST1
_i2 TEST2
_look TEST2
_main TEST1
- 29 -
MODULE: TEST2 defines the following symbols:
public: _i2
public: _look
_exit (EXIT)
C0
TEST2
_i1 (TEST1)
TEST2
_i2 (TEST2)
_look (TEST2)
TEST1
_main (TEST1)
C0
- 30 -
------------------ A report by sizes lists segment names followed by a
Report of module list of modules that define the segment. Sizes in bytes
sizes (/RS) are given in decimal and hexadecimal notation. The word
------------------ uninitialized appears where no initial values are
assigned to any of the symbols defined in the segment.
Segments defined at absolute addresses in a .ASM file
are flagged Abs to the left of the segment size.
BSS
4 (00004h) TEST1
2 (00002h) TEST2
...
132 (00084h) total
CODE
6 (00006h) TEST1
- 31 -
10 (0000Ah) TEST2
16 (00010h) total
DATA
143 (0008Fh) C0
143 (0008Fh) total
- 32 -
default report by reference, listing public names and
the modules that reference them.
\TC\lib\c0l
test1 test2
test1.exe
test1.map
\TC\lib\cl
test1
test2.c
- 33 -
OBJXREF error =======================================================
messages and
warnings OBJXREF generates two sorts of diagnostic messages:
error messages and warnings.
- 34 -
===========================================================================
PRJCFG: Configuration file utility
===========================================================================
===========================================================================
PRJCNVT: Old projects for new
===========================================================================
or
- 35 -
If you don't provide an extension, .TC is assumed. If
PRJCVNT can't find a .TC file, it looks for a .PRJ
file.
===========================================================================
PRJ2MAK: From project file to MAKE file
===========================================================================
The default name for the new MAKE file is the base file
name of the .PRJ file with the extension .MAK. The
default name for the new .CFG file is the base file
name of the .MAK file with the extension .CFG.
PRJ2MAK MYPROJ
- 36 -
This execution creates a makefile called MYPROJ.MAK and
a configuration file called MYPROJ.CFG.
===========================================================================
THELP: The Turbo Help utility
===========================================================================
- 37 -
You need to first load THELP in order to use it from
within another program (or from the command line). Make
sure that TCHELP.TCH, the text file containing the
Turbo C++ online help information, is in the current
Warning! If you directory. (If you want to keep TCHELP.TCH in another
are going to have directory, THELP has a special /F command-line option
THELP resident in that will enable THELP to find it; the INSTALL program
memory at the same inserts the correct path information into THELP.)
time as SideKick
1.x or SideKick To load THELP, just type
Plus, make sure
you load THELP THELP [options]
before you load
SideKick. at the DOS command line before you go into your
application. This needs to be done only once, when you
first boot up.
----------------------------------------------------------------------
Key What it does
----------------------------------------------------------------------
Shift-Arrow
Moves the cursor while marking a block.
- 38 -
PgUp/PgDn
Moves from screen to screen if additional screens are
available.
Enter Selects a Help entry for the item highlighted in the current
Help screen.
Shift-F1 Displays the Help Index. You can search for a specific
keyword incrementally. For example, you can find printf by
typing p r i. With each letter you type, the list jumps to
the keyword that starts with p, then to pr, then to pri, and
so on.
Alt-F Selects a new Help file (if you have specified more than one
help file in the THELP.CFG file or on the
command-line).
Ctrl-P Pastes the marked block or example text into your current
application.
----------------------------------------------------------------------
-------------------------------------------------------
Summary of THELP Option Specifies
command-line -------------------------------------------------------
options
- 39 -
Table 1.1: Summary of THELP command-line options
(continued)____________________________________________
-------------------------------------------------------
-------------------------------------------------------
Number Element
-------------------------------------------------------
- 40 -
-------------------------------------------------------
-------------------------------------------------------
First digit (background) Second digit (foreground)
-------------------------------------------------------
0 Black 0 Black
1 Blue 1 Blue
2 Green 2 Green
3 Cyan 3 Cyan
4 Red 4 Red
5 Magenta 5 Magenta
6 Brown 6 Brown
7 Gray 7 Gray
8 Intense black
ORing the color value 9 Intense blue
with 0x80 produces a A Intense green
blinking color unless B Intense cyan
blinking has been C Intense red
disabled. D Intense magenta
E Intense brown (yellow)
F Intense gray (white)
-------------------------------------------------------
------------------ The name that follows the /F option should be the full
/Fname (full path drive/directory path name of the help file to use; for
and name for help example,
file)
------------------ THELP /FC:\TC\OWLHELP.TCH
THELP /FC:\TC\TCHELP.TCH
- 41 -
------------------ Any of these options displays a summary of THELP's com-
/H, /?, and ? mand-line options.
(display help
screen)
------------------ This option allows you to reassign a function to a new
/Kxxyy (reassign hot key. The option must be followed by the shift state
hot key) (xx) and the scan code (yy) of the new key. Virtually
------------------ any shift state/scan code combination may be selected.
Here's a quick summary of some common shift states and
scan codes:
-------------------------------------------------------
Shift states (can be OR'ed together):
Scan codes:
F11 57h
F12 58h
-------------------------------------------------------
- 42 -
------------------ This option removes THELP from memory. If other TSRs
/U (remove THELP have been loaded after THELP, make sure to remove them
from memory) before removing THELP.
------------------
------------------ Where:
/Wx,y,w,h (set the x = window column location (zero based)
window size and y = window row location
location) w = window width
------------------ h = window height
/W0,0,80,25
===========================================================================
TLIB
===========================================================================
When it modifies The libraries included with Turbo C++ were built with
an existing TLIB. You can use TLIB to build your own libraries, or
library, TLIB to modify the Turbo C++ libraries, your own libraries,
always creates a libraries furnished by other programmers, or commercial
copy of the libraries you've purchased. You can use TLIB to
original library
with a .BAK exten- o create a new library from a group of object modules
sion. Better safe
than sorry! o add object modules or other libraries to an existing
library
- 43 -
See the section on TLIB can also create (and include in the library file)
the /E option an Extended Dictionary, which may be used to speed up
(page 49) for linking.
details.
Although TLIB is not essential for creating executable
programs with Turbo C++, it is a useful programming
productivity tool. You will find TLIB indispensable for
large development projects. If you work with object
module libraries developed by others, you can use TLIB
to maintain those libraries when necessary.
- 44 -
Table 1.2: TLIB options
---------------------------------------------------------------------------
Option Description
---------------------------------------------------------------------------
libname The DOS path name of the library you want to create or
manage. Every TLIB command must be given a libname.
Wildcards are not allowed. TLIB assumes an extension of .LIB
if none is given. We recommend that you do not use an exten-
sion other than .LIB, since both TCC and TC's project-make
facility require the .LIB extension in order to recognize
library files. Note: If the named library does not exist and
there are add operations, TLIB creates the library.
/Psize Sets the library page size to size; see page 49 for a
detailed explanation.
listfile The name of the file listing library contents. The listfile
name (if given) must be preceded by a comma. No listing is
produced if you don't give a file name. The listing is an
alphabetical list of each module. The entry for each module
contains an alphabetical list of each public symbol defined
in that module. The default extension for the listfile is
.LST. You can direct the listing to the screen by using the
listfile name CON, or to the printer by using the name PRN.
---------------------------------------------------------------------------
- 45 -
------------------ The operation list describes what actions you want TLIB
The operation list to do. It consists of a sequence of operations given
------------------ one after the other. Each operation consists of a one-
or two-character action symbol followed by a file or
module name. You can put whitespace around either the
action symbol or the file or module name, but not in
the middle of a two-character action or in a name.
TLIB operations
=======================================================
- 46 -
is not important for operations that use a pair of
characters. The action symbols and what they do are
listed here:
-------------------------------------------------------
TLIB action Action
symbols symbol Name Description
-------------------------------------------------------
- 47 -
Table 1.3: TLIB action symbols (continued)_____________
You can't directly -* Extract & TLIB copies the named module
rename modules in *- Remove to the corresponding file name
a library. To and then removes it from the
rename a module, library. This is just
extract and remove shorthand for an extract
it, rename the followed by a remove
file just created, operation.
then add it back
into the library. -+ Replace TLIB replaces the named module
+- with the corresponding file.
This is just shorthand for a
remove followed by an add
operation.
-------------------------------------------------------
- 48 -
Creating an =======================================================
extended
dictionary: The /E To speed up linking with large library files (such as
option the standard Cx.LIB library), you can direct TLIB to
create an extended dictionary and append it to the
library file. This dictionary contains, in a very
compact form, information that is not included in the
standard library dictionary. This information enables
TLINK to process library files faster.
- 49 -
power of 2, and it may not be smaller than 16 or larger
than 32,768.
Advanced =======================================================
operation: The /C
option When you add a module to a library, TLIB maintains a
dictionary of all public symbols defined in the modules
of the library. All symbols in the library must be
distinct. If you try to add a module to the library
that would cause a duplicate symbol, TLIB displays a
message and won't add the module.
If you want to use It may seem odd that, without the /C option, TLIB
the library with rejects symbols that differ only in case, especially
other linkers (or since C and C++ are case-sensitive languages. The
allow other people reason is that some linkers fail to distinguish between
to use the library symbols in a library that differ only in case. Such
with other linkers, for example, will treat stars, Stars, and
linkers), for your STARS as the same identifier. TLINK, on the other hand,
own protection you has no problem distinguishing uppercase and lowercase
should not use the symbols, and it will properly accept a library contain-
/C option. ing symbols that differ only in case. In this example,
then, Turbo C++ would treat stars, Stars, and STARS as
three separate identifiers. As long as you use the
library only with TLINK, you can use the TLIB /C option
without any problems.
- 50 -
Examples =======================================================
===========================================================================
TOUCH
===========================================================================
- 51 -
this is to use the TOUCH utility. TOUCH changes the
date and time of one or more files to the current date
and time, making it "newer" than the files that depend
on it.
===========================================================================
TRANCOPY: A project transfer item utility
===========================================================================
- 52 -
===========================================================================
TRIGRAPH: A character-conversion utility
===========================================================================
-------------------------------------------------------
Trigraph Character
-------------------------------------------------------
??= #
??( [
??/ \
??) ]
??' ^
??< {
??! |
??> }
??- ~
-------------------------------------------------------
- 53 -
creates a new file with the original file name and the
appropriate conversions performed. For example,
trigraph -u *.c
===========================================================================
Transfer macros
===========================================================================
- 54 -
$DIR($EXENAME)$NAME($EDNAME).OBJ
C:\WORK\TEST\MYPROG.OBJ
$DIR $EXT()
$DRIVE() $NAME()
$EDNAME $OUTNAME
$EXENAME
Instruction macros
=======================================================
- 55 -
You can use any $CAP MSG(filter): Captures program output into the
program that has Message window, using filter as a DOS filter for
line-oriented converting program output into Message window format.
messages output
(file and line We've provided several filters for this macro:
number) with this GREP2MSG.EXE for GREP and TASM2MSG.EXE for Turbo
macro. Assembler (TASM). We've included the source code for
these filters so you can write your own filters for
other transfer programs you install.
TEML is a Pascal- Use this macro with the Turbo Editor Macro Language
like language that (TEML) compiler. With it, you can edit the TEML script
has many built-in file in an editor and then invoke the Turbo Editor
primitive editor Macro Compiler (TEMC) to process the script. When the
commands. Its use configuration file is reloaded, your new or modified
is documented in editor commands will be in effect. When installing TEMC
this file. as a transfer item, use the following command line:
$EDNAME $CONFIG
- 56 -
$EDNAME: Complete file name of file in active editor.
This is a null string if the active window is not an
editor.
- 57 -
$OUTNAME: This macro expands to the path and file name
that appear in the Project|Local Options Output Path
type-in box (in the active edit window). For example,
if the project contains STARS.C, the default Output
Path type-in is STARS.OBJ. So if STARS.C is in the
active edit window, $OUTNAME expands to STARS.OBJ. If
you've edited the type-in box so it says ..\MOON.XYZ,
$OUTNAME will expand to ..\MOON.XYZ. This macro is
useful when you are specifying modules for your user-
defined translators. For example, you could define a
TLIB translator and set the command line to
/c $PROMPT dir
$SAVE CUR: This macro tells the IDE to save the file in
the current editor if it has been modified. This
ensures that the invoked program will use the latest
version of the source file.
- 58 -
$TASM: This macro is predefined for use with Turbo
Assembler. It uses the TASM2MSG filter to trap TASM
messages. $TASM is essentially shorthand for this:
- 59 -
tie up more resources than when not debugging. Use
Program Reset (Ctrl-F2) to free up debugging memory.
===========================================================================
Turbo Editor macros
===========================================================================
===========================================================================
TEMC command line
===========================================================================
- 60 -
TEMC by default modifies the commands used by the IDE
when the Alternate command set is specified in Options|
Environment|Preferences. The optional -u switch, which
can also be specified as /u, causes TEMC to modify the
CUA command set instead.
===========================================================================
Syntax
===========================================================================
MACRO <macroname>
<command1>;
[ <command2>; ... ]
END;
- 61 -
SetMark(5);
MACRO MacScrollUp
ScrollScreenUp; FixCursorPos;
END;
<key-sequence>: <command>;
or
===========================================================================
Key codes
===========================================================================
- 62 -
Some keys cannot be entered directly into a TEMC
script. Those keys can be referred to by their names,
as described in the following table.
-------------------------------------------------------
Key name Notes
-------------------------------------------------------
Home
End
PgUp
PgDn
LfAr Left arrow
RgAr Right arrow
UpAr Up arrow
DnAr Down arrow
Ins
Del
Enter
Return Same as Enter
BkSp Backspace
Tab
BkTab No longer available, use Shift-Tab
- 63 -
Esc
Star * key on the numeric keypad
Minus - key on the numeric keypad
Plus + key on the numeric keypad
Space Spacebar
PrtSc
F1 to F10 Function keys
-------------------------------------------------------
===========================================================================
Predefined editor commands
===========================================================================
-------------------------------------------------------
TEMC editor Command name What the editor does
commands -------------------------------------------------------
- 64 -
Table 1.4: TEMC editor commands (continued)____________
- 65 -
Table 1.4: TEMC editor commands (continued)____________
- 66 -
Table 1.4: TEMC editor commands (continued)____________
- 67 -
Table 1.4: TEMC editor commands (continued)____________
- 68 -
Table 1.4: TEMC editor commands (continued)____________
- 69 -
Table 1.4: TEMC editor commands (continued)____________
- 70 -
Table 1.4: TEMC editor commands (continued)____________
- 71 -
Table 1.4: TEMC editor commands (continued)____________
-------------------------------------------------------
- 72 -
The keys listed next to some of the commands below are
the ones used by default when the Alternate mode of the
IDE is selected.
- 73 -
Modify Evaluates expression/modify
variable (Ctrl-F4).
NextError Moves to next item in message
window (Alt-F8).
NextWindow Selects next window in IDE (F6).
OpenFile Opens dialog box for File Open
(F3).
OptionsMenu Selects Options menu (Alt-O).
PrevError Moves to previous item in message
window (Alt-F7).
PrintBlock Writes selected text to the
printer.
ProjectMenu Selects Project menu (Alt-P).
Quit Exits the IDE (Alt-X).
ReadBlock Opens dialog box requesting a file
name to be read into the buffer at
the cursor location and marked as
selected text.
RepeatSearch Searches again, using previous
parameters.
Replace Opens an dialog box for the Replace
operation.
ResetProgram Resets program being debugged
(Ctrl-F2).
RunMenu Selects Run menu (Alt-R).
RunProgram Makes and runs current executable
(Ctrl-F9).
RunToHere Runs program until statement at
cursor (F4).
SaveFile Saves current editor buffer (F2).
SaveFileAs Opens dialog for File SaveAs.
SearchMenu Selects Search menu (Alt-S).
Step Step over (F8).
SystemMenu Selects Sytem menu (Alt-Spacebar).
ToggleBreakpoint Sets/Clears a breakpoint at the
cursor location
Trace Trace into (F7).
Transfer0 Selects nth item from transfer menu
Transfer1 .
Transfer2 .
Transfer3 .
Transfer4 .
Transfer5 .
Transfer6 .
Transfer7 .
Transfer8 .
Transfer9 .
ViewCallStack Views Call Stack (Ctrl-F3).
- 74 -
ViewUserScreen Displays User Screen (Alt-F5).
WindowList Displays window list (Alt-0).
WindowMenu Selects Window menu (Alt-W).
WindowCascade
WindowTile
WordHelp Context sensitive help (Ctrl-F1).
WriteBlock Opens dialog box requesting a file
name to which the selected text
will be written.
ZoomWindow Zooms/unzoomd current window (F5).
- 75 -
- 76 -
INDEX
___________________________________________________________________________
D
C -d GREP option (directories) 14
-c GREP option (count only) 14 /D OBJXREF option (directory) 24
Index 77
debugging extended dictionary
include files 10 TLIB and 45, 49
macros 10 extract and remove (TLIB action) 47
$DEF transfer macro 56
Defines option
transfer macro 56 F
$DEP transfer macro 56 /F BGIOBJ option 6
dependencies /F BGIOBJ option (far routines) 5
explicit 56 /F OBJXREF option (include full
$DIR transfer macro 56 library) 25
directories /F THELP option 41
CPP 10 /F THELP option (Help file path and
GREP option 14 name) 40
include files files
transfer macro 57 dates
libraries changing 51
transfer macro 57 destination
.OBJ files 24 BGIOBJ 7
transfer macro 56 extensions 57
DLLs linker response, used by OBJXREF
creating 57 28, 33
DOS macros
commands expanded 10
running from the IDE 59 matching
$DRIVE transfer macro 56 GREP option 14
names
macros
E transfer 54
/E TLIB option (extended printing (GREP) 15
dictionary) 45, 49 output, generated by OBJXREF 25
editor path
macro language (TEML) macros 56
using 56 saving
$EDNAME transfer macro 56 all 58
$ERRCOL transfer macro 57 searching 12-22
$ERRLINE transfer macro 57 source
$ERRNAME transfer macro 57 BGIOBJ 7
errors filters 55
linker GREP 56
graphics drivers and fonts 5 Resource Compiler 56
OBJXREF (list) 34 TASM 56
examples fonts
OBJXREF 28-33 adding to graphics library 3
.EXE files files, converting to .OBJ files 2
file name transfer macro 57 included with Turbo C++ 4
$EXENAME transfer macro 57 linker errors and 5
$EXT transfer macro 57 linking 2-10
registering 3, 8
- 78 -
stroked 2-10 white space in 18
linking 2 using 13
wildcards and 18
GREP.COM 16
G GREP2MSG.EXE 56
graphics drivers
adding to graphics library 3
converting to .OBJ files 2, 2-10 H
included with Turbo C++ 4 /H THELP option (help) 40, 42
linker header files
errors and 5 graphics.h 8
linking 2 help
registering 3, 8 GREP (file searcher) 13
graphics.h (header file) OBJXREF 23
BGIOBJ and 8 THELP 40, 42
GRAPHICS.LIB hot keys
adding to 3 scan codes 42
GREP (file searcher) 12-22
capturing messages 56
examples 18 I
files to search 18 -i GREP option (case sensitivity)
help 13 14
literal character 17 /I OBJXREF option (case
matches 17 sensitivity) 24
operators 17 $INC transfer macro 57
optimizing use of 16 include files
options debugging 10
case sensitivity (-i) 14 directories
count only (-c) 14 transfer macro 57
default 15, 16 integrated environment
discussion 13 DOS commands and 59
file names (printing) 15 memory needs 59
-i (case sensitivity) 14
line numbers (-n) 14
lines, nonmatching (-v) 15 K
list matching files (-l) 14 /K THELP option (change hot key)
-n (line numbers) 14 40, 42
-o (UNIX output format) 14 keyboard
precedence 16 trigraph program 53
regular expression search (-r)
14
UNIX format (-o) 14 L
updating (-u) 15 -l GREP option (list matching
-v 15 files) 14
-v (nonmatching lines) 15 /L OBJXREF command (linker response
verbose 15 file) 28
word search (-w) 15 $LIB transfer macro 57
search strings 16 libname (TLIB option) 45
Index 79
libraries column number 57
directories file name 57
transfer macro 57 line number 57
files 22 module names, TLIB 46
contents of 22
graphics
adding driver and font files to N
3 -n command-line compiler option
object files 43, 44 CPP and 10
creating 47 -n GREP option (line numbers) 14
OBJXREF /N OBJXREF option (limit reports)
including all 25 26
page size 49 $NAME transfer macro 57
$LINE transfer macro 57 $NOSWAP transfer macro 57
lines numbers
numbering 57 column 56
printing (GREP) 14 line 57
linker
error: segment exceeds 64K 5
response files O
used by OBJXREF 28, 33 -o GREP option (UNIX format output)
linking 14
graphics drivers 2 /O OBJXREF option (output file for
listfile (TLIB option) 45 reports) 25
.OBJ files
converting font files into 2
M converting graphics drivers files
macros into 2
CPP and 11 defined 22
debugging 10 directories 24
editor 56 libraries
expanded advantages of using 44
list of 10 creating 47
preprocessing 11 TLIB and 43
preprocessor 10 names 22
MAKE (program manager) response files and 27
modifying 51 object modules
project files and 36 defined 22
$MEM transfer macro 57, 59 names 22
memory OBJXREF 22-34
requirements directories 24
IDE 59 error messages 34
transfer programs 57, 59 examples of reports 29, 30, 31,
Message window 32
capturing output into 55 help 23
copying text from 59 /L command (linker response
messages files) 28
capturing from programs 55
- 80 -
linker files wildcards and 23
as response files 28 operations (TLIB option) 45
options 23 operators
/N (limit information) 26 GREP 17
/RV 26 $OUTNAME transfer macro 57
/RC 31 output
control 24 capturing 55
directories (/D) 24 output file
/F (include full library) 25 generated by OBJXREF 25
ignore case (/I) 24
include full library (/F) 25
include zero-length segment P
definitions (/Z) 25 -P CPP option (source file names
list file names (/V) 25 and line numbers) 11
modified reports 26 /P OBJXREF command (project files)
/O (output file) 25 27
reports 25 /P TLIB option (page size) 49
by class type page size (libraries) 49
example 33 path
by class type (/RC) 26, 31 transfer macro 57
by external reference (/RX) precedence
26, 30 GREP options 16
by module (/RM) 26, 29 TLIB commands 46
by public names (/RP) 26, 29 PRJ2MAK (project file converter) 36
by reference (/RR) 26, 30, 33 PRJCNVT (project file converter) 35
default type 33 $PRJNAME transfer macro 58
of all types (/RV) 26 programs
of module sizes (/RS) 26, 31 capturing output 55
of unreferenced symbol names file name 57
(/RU) 26, 32 memory assignments 59
output file (/O) 25 project files
verbose OBJXREF and 27
example 33 used by OBJXREF 33
verbose (/RV) 26, 32 projects
/V (verbose output) 25 files
verbose report (/RV) 32 converting from old versions 35
/Z (include zero-length segment converting to MAKE files 36
definitions) 25 file name transfer macro 58
project files $PROMPT transfer macro 58
as response files 27 public names
project files (/P) 27 defined 22
reports 23
modifying 26
output file for (/O) 25 R
response files 23, 27 -r GREP option (regular expression
example 33 search) 14
linker 28 /RC OBJXREF option (report) 31
warnings 34 /RC OBJXREF option (reports) 26
Index 81
redirecting program output 55 in text files 12-22
registerbgidriver (function) swapping
BGIOBJ and 3, 8 to User Screen 57
registerbgifont (function) syntax
BGIOBJ and 3, 8 CPP 10
registerfarbgidriver (function) TLIB 44
BGIOBJ and 6, 8
registerfarbgifont (function)
BGIOBJ and 6, 8 T
remove (TLIB action) 47 TASM2MSG.EXE 56
replace (TLIB action) 48 $TASM transfer macro 58
Resource Compiler text
capturing messages 56 Message window 59
resources text files
rebuilding automatically 56 searching 12-22
response files THELP (Turbo Help utility) 37-43
file-name extensions and 27 additional Help on highlighted
formats 27 word 39
free-form 27 cursor keys 38
example 33 index 39
linker files and 28 invoking 37
OBJXREF and 23, 27, 28 keywords 38
example 33 loading 37
project files and 27 options 39-43
TLIB 48 colors (/C) 40
TLINK, OBJXREF and 33 colors (/C) 39
/RM OBJXREF option (reports) 26 Help file path (/F) 40
/RP OBJXREF option (reports) 26 help file path (/F) 41
/RR OBJXREF option (reports) 26 help on (/?
/RS OBJXREF option (reports) 26 /H
/RU OBJXREF option (reports) 26 ?) 40, 42
/RV OBJXREF option (reports) 26 Help screen colors (/C) 39
/RX OBJXREF option (reports) 26 help screen colors (/C) 40
hot keys (/K) 40, 42
reassign hot keys (/K) 40, 42
S removing THELP (/U) 40, 43
$SAVE ALL transfer macro 58 screen colors (/C) 39, 40
$SAVE CUR transfer macro 58 /U (removing THELP) 40, 43
$SAVE PROMPT transfer macro 58 /W (window options) 40
scan codes 42 window options 43
searches window options (/W) 40
text files 12-22 paging through 38
source files paste page 39
separately compiled 44 previous screens 39
standalone utilities 1 quitting 39
strings removing from memory 40, 43
searching for scan codes 42
as expressions (GREP) 14 using 38
- 82 -
TLIB (librarian) 43-51 $INC 57
action symbols 46-48 instruction 55
capabilities 43 $LIB 57
examples 51 $LINE 57
extended dictionary (/e) $MEM 57
TLINK and 49 $NAME 57
module names 46 $NOSWAP 57
operations 46 $OUTNAME 57
precedence 46 $PRJNAME 58
options $PROMPT 58
case sensitivity (/c) 45, 50 $SAVE ALL 58
/E 45, 49 $SAVE CUR 58
extended dictionary (/e) 45, 49 $SAVE PROMPT 58
libname 45 $TASM 58
listfile 45 $WRITEMSG 59
operations 45 trigraphs
page size (/P) 49 translating 53
using 44 undo option (-u) 53
response files Turbo Assembler
using 48 capturing messages 56
syntax 44 $TASM macro 58
TLIB (Turbo librarian) 43-51 TURBOC.CFG 10
options 39-51
TLINK (linker)
response files U
OBJXREF and 28 -u GREP option (updating) 15
TLIB extended dictionary and 49 /U THELP option 43
TOUCH 51, 52 /U THELP option (remove THELP) 40
transfer macros UNIX
$CAP EDIT 55 format (GREP) 14
$CAP MSG 55 User Screen 57
$COL 56 utilities
$CONFIG 56 standalone 1
$DEF 56 TLIB 43-51
defined 54 TOUCH 51
$DEP 56
$DIR 56
DOS commands 59 V
$DRIVE 56 -v GREP option (nonmatching lines)
$EDNAME 56 15
$ERRCOL 57 /V OBJXREF option (verbose output)
$ERRLINE 57 25
$ERRNAME 57
$EXENAME 57
$EXT 57 W
file names 54 -w GREP option (word search) 15
glossary of 55 /W THELP option (ser window
how expanded 54 size/location) 40
Index 83
/W THELP option (window options) 43 Z
wildcards -z GREP option (verbose) 15
CPP and 10 /Z OBJXREF option (include zero-
OBJXREF and 23 length segment definitions) 25
TOUCH and 52
$WRITEMSG transfer macro 59
- 84 -