Object-Oriented Programming with Turbo C++ Source Code Disk
                         README FILE

Herein lies the source to all the major program listings
in the book. Both project and make files are supplied for
each of the programs. (The project files have been archived
into the self-extracting file prjfiles.exe.)

All of the programs were tested and compiled in Turbo C++ 1.01.

WARNING: Since the graphics programs use a different memory model
         than the text mode programs do, and since the graphics
         menus use a defined macro (GRAPHICS), you may have
         trouble getting some programs to compile correctly
         if you've previously compiled the text mode programs.
         The reason is that MAKE knows nothing about memory
         models or defined macros, and won't re-compile the
         files when it should. So, if you encounter a problem,
         delete all .obj files, and then try the make again.

Known problems:

The Turbo C++ IDE has a bug in which the scan codes for the
shift-arrow keys get mangled while running a program from
within the IDE. Thus, the program SKTEST.EXE will not work
properly if run under the IDE. It does work properly if run
outside the IDE.

The browser programs (browse1.c and browse2.cpp) only work
if compiled in the large memory model.

In later chapters, a change was made in several places to
pass the ColorPak structure by reference instead of using
pointers. The places changed are so noted in the files.

/////////////////////////////////////////////////////////////
Chapter 1
////////////////////////////////////////////////////////////

EXPENSE1.C       Page 11
EXPENSE2.CPP     Page 12
EXPENSE3.CPP     Page 19

/////////////////////////////////////////////////////////////
Chapter 2
/////////////////////////////////////////////////////////////

BROWSE1.C        Listing 2.1  Page 29
BROWSE1.MAK
BROWSE1.PRJ

BROWSE2.CPP      Listing 2.2  Page 44
BROWSE2.MAK
BROWSE2.PRJ

/////////////////////////////////////////////////////////////
Chapter 3
/////////////////////////////////////////////////////////////

SKTEST.CPP       Page 70
SKTEST.MAK
SKTEST.PRJ

TXUNIT.H         Listing 3.1  Page 73
TXUNIT.CPP       Listing 3.2  Page 74

SCRNSTY.H        Listing 3.3  Page 79
SCRNSTY.CPP      Listing 3.4  Page 80

KEYBRD.H         Listing 3.5  Page 81
KEYBRD.CPP       Listing 3.6  Page 82

/////////////////////////////////////////////////////////////
Chapter 4
/////////////////////////////////////////////////////////////

MOUSETST.CPP     Page 99
MOUSETST.MAK
MOUSETST.PRJ

MGRPHTST.CPP     Page 104
MGRPHTST.MAK
MGRPHTST.PRJ

MSMOUSE.H        Listing 4.1  Page 106
MSMOUSE.CPP      Listing 4.2  Page 108

MCURSOR .CPP     Listing 4.3  Page 113

/////////////////////////////////////////////////////////////
Chapter 5
/////////////////////////////////////////////////////////////

TRTEST.CPP       Page 131
TRTEST.MAK
TRTEST.PRJ

RSOUNIT.H        Listing 5.1  Page 135
RSOUNIT.CPP      Listing 5.2  Page 136

TRSOUNIT.H       Listing 5.3  Page 138
TRSOUNIT.CPP     Listing 5.4  Page 139

/////////////////////////////////////////////////////////////
Chapter 6
/////////////////////////////////////////////////////////////

TFSOTST.CPP      Page 157
TFSOTST.MAK
TFSOTST.PRJ

TFSOTST2.CPP     Page 158
TFSOTST2.MAK
TFSOTST2.PRJ

FSOUNIT.H        Listing 6.1  Page 164
FSOUNIT.CPP      Listing 6.2  Page 165

TFSOUNIT.H       Listing 6.3  Page 167
TFSOUNIT.CPP     Listing 6.4  Page 168

/////////////////////////////////////////////////////////////
Chapter 7
/////////////////////////////////////////////////////////////

WSOTST1.CPP      Page 197
WSOTST1.MAK
WSOTST1.PRJ

WSOTST2.CPP      Page 198
WSOTST2.MAK
WSOTST2.PRJ

BUTTON1.CPP      Page 201
BUTTON1.MAK
BUTTON1.PRJ

ISOUNIT.H        Listing 7.1  Page 207
ISOUNIT.CPP      Listing 7.2  Page 209

TWSOUNIT.H       Listing 7.3  Page 223
TWSOUNIT.CPP     Listing 7.4  Page 223

WSOTXSCR.CPP     Listing 7.5  Page 225
WSOTXSCR.H       Listing 7.6  Page 225

/////////////////////////////////////////////////////////////
Chapter 8
/////////////////////////////////////////////////////////////

TMENU1.CPP       Page 241   
TMENU1.MAK
TMENU1.PRJ

TMENUTST.CPP     Page 248
TMENUTST.MAK
TMENUTST.PRJ

MSOUNIT.H        Listing 8.1  Page 254
MSOUNIT.CPP      Listing 8.2  Page 256

/////////////////////////////////////////////////////////////
Chapter 9
/////////////////////////////////////////////////////////////

VW.CPP           Page 280
VW.MAK
VW.PRJ

MSGTST.CPP       Page 285
MSGTST.MAK
MSGTST.PRJ

OPTEXMPL.CPP     Page 288
OPTEXMPL.MAK

TXSCROLL.H       Listing 9.1  Page 292
TXSCROLL.CPP     Listing 9.2  Page 293

DIALOGUE.H       Listing 9.3  Page 300
DIALOGUE.CPP     Listing 9.4  Page 300

/////////////////////////////////////////////////////////////
Chapter 10
/////////////////////////////////////////////////////////////

GTEST.CPP        Page 320
GTEST.MAK
GTEST.PRJ

GMENUTST.CPP     Page 322
GMENUTST.MAK
GMENUTST.PRJ

GRSOUNIT.H       Listing 10.1  Page 327
GRSOUNIT.CPP     Listing 10.2  Page 327

GFSOUNIT.H       Listing 10.3  Page 330
GFSOUNIT.CPP     Listing 10.4  Page 300

GWSOUNIT.H       Listing 10.5  Page 334
GWSOUNIT.CPP     Listing 10.6  Page 335

GRPHSCRN.H       Listing 10.7  Page 336
GRPHSCRN.CPP     Listing 10.8  Page 337

/////////////////////////////////////////////////////////////
Chapter 11
/////////////////////////////////////////////////////////////

GBUTNTST.CPP     Page 344
GBUTNTST.MAK
GBUTNTST.PRJ

BXSTRTCH.CPP     Page 360
BXSTRTCH.MAK
BXSTRTCH.PRJ

GBUTTON.H        Listing 11.1  Page 364
GBUTTON.CPP      Listing 11.2  Page 365

GSCROLL.H        Listing 11.3  Page 367
GSCROLL.CPP      Listing 11.4  Page 368
