- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
139 lines
4.7 KiB
Plaintext
139 lines
4.7 KiB
Plaintext
New Features of EasyWin
|
|
=======================
|
|
Turbo C++ for Windows provides EasyWin, a feature that lets you
|
|
compile standard DOS applications which use traditional TTY style
|
|
input and output so they can run as true Windows programs. With
|
|
EasyWin, you do not need to change a DOS program to run it under
|
|
Windows.
|
|
|
|
EasyWin now has support for several new features:
|
|
|
|
- Printing support lets you print the contents of the EasyWin window.
|
|
|
|
- Viewable scrolling buffer stores either 100 or 400 lines of text
|
|
(depending on the memory model). This buffer automatically scrolls
|
|
as you move the vertical or horizontal scroll bar thumb tabs.
|
|
|
|
- Redirects output to a file of your choice when the buffer runs out
|
|
of space.
|
|
|
|
- Full Windows Clipboard support, lets you paste to standard input and
|
|
copying from the buffer onto the Clipboard, using either the
|
|
keyboard or the mouse.
|
|
|
|
For additional information about EasyWin, see:
|
|
|
|
- Appendix A, "Using EasyWin" in the User's Guide
|
|
|
|
- In the online help, Search for "EasyWin" or "DOS applications".
|
|
|
|
Printing
|
|
--------
|
|
Use the Print command on the system menu to print the contents of an
|
|
EasyWin window. It activates the standard Print dialog from which you
|
|
can specify printing options.
|
|
|
|
By default, EasyWin prints 80 columns and approximately 54 lines on
|
|
U.S. Letter size (8.5" x 11") paper.
|
|
|
|
Note: The Print command is grayed if you do not have a default
|
|
printer installed under Windows. If you have a printer
|
|
installed but it is not the default, make it the default
|
|
printer before attempting to print from an EasyWin
|
|
application.
|
|
|
|
Scrolling Buffer
|
|
----------------
|
|
EasyWin caches your screen output into a buffer of either:
|
|
|
|
- 400 lines (for compact and large memory models)
|
|
|
|
- 100 lines (for small and medium memory models)
|
|
|
|
You can view the buffer any time by using the scroll bar or any of the
|
|
standard window movement keys.
|
|
|
|
You can change the buffer size of your EasyWin application by
|
|
declaring the following global variable in your main source file with
|
|
the appropriate initializer:
|
|
|
|
POINT _BufferSize = { X, Y };
|
|
|
|
where:
|
|
|
|
X is the number of columns you want. Setting X to a value
|
|
other than 80 is not recommended as the results are
|
|
unpredictable.
|
|
|
|
Y is the number of lines you want. If you need to specify a
|
|
value for Y greater than 100, use the compact or large
|
|
memory model. The small and medium memory models have
|
|
limited local heap space for the buffer.
|
|
|
|
Autoscrolling
|
|
-------------
|
|
If you click and drag either the vertical or horizontal scroll bar
|
|
thumb tab, the text in the buffer automatically scrolls up and down or
|
|
left and right. This is a useful feature when you want to quickly scan
|
|
large amounts of data in the EasyWin window.
|
|
|
|
Saving Text in an Output File
|
|
-----------------------------
|
|
If you want to redirect the output of your program to a file, add the
|
|
following global variable to your main source file:
|
|
|
|
char *_OutputFileName = "C:\\myoutput.txt";
|
|
|
|
Make _OutputFileName the name of the file in which to store the
|
|
redirected output.
|
|
|
|
Note: If the output file you specified already exists, it is deleted
|
|
without warning.
|
|
|
|
Clipboard Support
|
|
-----------------
|
|
EasyWin lets you to cut, copy, and paste text from an EasyWin
|
|
application window.
|
|
|
|
To select text, use the Edit command from the system menu and choose
|
|
Mark. This puts you in Mark mode. You can use the mouse or the
|
|
keyboard to select text. You can move the cursor and select text using
|
|
the standard rules and keystrokes for this feature.
|
|
|
|
Action Explanation
|
|
------ -----------
|
|
Enter Exits Mark mode. Any marked text is copied to the
|
|
Clipboard.
|
|
|
|
Escape Exits Mark mode. No text is selected.
|
|
|
|
Right mouse button same as Enter.
|
|
|
|
Edit|Copy same as Enter.
|
|
|
|
Edit|Paste pastes text into stdin, receiving the contents of
|
|
the Clipboard as input to your program, merging it
|
|
with any keyboard input.
|
|
|
|
Example
|
|
-------
|
|
If you are writing a program that requests its data from the keyboard
|
|
via scanf, cin, or other similar stdio/conio functions:
|
|
|
|
1. Write a data file that contains your entire input.
|
|
|
|
2. Load that file into NotePad, select it, and copy it to the
|
|
Clipboard.
|
|
|
|
3. Run your program, go to the system edit menu, and choose Paste.
|
|
|
|
Your program accepts the contents of Clipboard as input.
|
|
|
|
Notes:
|
|
|
|
- The Paste command is grayed if the Clipboard contains no objects of
|
|
type CF_TEXT or if your program has terminated.
|
|
|
|
- The Copy command is grayed if you have not selected a block of text.
|
|
|