Category : C Source Code
Archive   : TCU_31.ZIP
Filename : AA-READ.ME!

Output of file : AA-READ.ME! contained in archive : TCU_31.ZIP

What's New in TCU V3.1?

Karl Keyte Phone: Work +(49) 6151 902041
European Space Operations Centre Private +(49) 6150 2499
Robert-Bosch Strasse 5
D-6100 Darmstadt e-Mail: Network [email protected]
West Germany Bix kkeyte


History: TCU 1.0 Limited release with basic menu functions. No windows
or forms. Had the name C_MENUS.
TCU 2.0 Added pop-up menus and form entry.
TCU 2.1 New functions to forms including new forms compiler,
also included pull-down menus. Only links with the new
Turbo-C++ compiler.
TCU 2.2 Re-introduced support for Turbo-C compiler after missing
modules were located which caused v2.1 to fail with TC2.0.
Added continuation line facility in form source files,
and corrected a number of minor bugs.
TCU 2.3 Field selection and function key support in forms. New
functions to get information on forms and fields.
All memory models (except TINY) supported. The initial
release of version 2.3 was missing an internal function
which was required for SMALL and COMPACT memory models.
TCU 3.0 Added window support functions. Modified the form field
verification and function key hander interface to allow
full manipulation of the form under edit from the handler
function. Forms Compiler changed to generate relocatable
object modules which may be linked with applications
directly. Forms linked in this way are loaded with the
new 'load_image_form' function.
TCU 3.01 Include file TCU.H was amended to allow compilation under
C++ prototype rules. No functional changes whatsoever.
TCU 3.1 Bug fixes. Added titles for forms and notices. User mouse
mode toggling. New form field type, BUTTON, plus support
for button handlers. Confirmation prompt windows added to
notices subsystem. Enhanced error checking in the forms
compiler, plus support for repeated form blocks for

IMPORTANT: If you use the RTL library supplied with Turbo-C V2.0 rather than
Turbo-C++ V1.0, you MUST also link to the supplied library
TCU_CPP.LIB which provides functions referenced in TCU.LIB but
unavailable in Turbo-C V2.0. In addition, all compilation and
linking with the Turbo-C Utilities must be performed with the
WORD ALIGN option set ON. Failure to do so will result in
incorrect operation of the program.

The following changes have been made since TCU Version 3.0/3.01

Bug Fixes

o The field selection service 'select_field' did not function properly
with forms with no input fields. This has now been corrected.

o The support for enhanced keyboards introduced in version 3.0 did not
always work correctly; sometimes hanging the machine. This has been

Changes & new features

o The demonstration program FSHOW has been changed to select fields with
the press of the left mouse key directly.

o Titles have now been added to notice and forms in a similar fashion to
the menus. For notices, this has necessitated a small change to the
interface of the 'prepare_notice' service. For forms, the interfaces
remain the same as the title specification is made in the form .CUF

o The ESC key now removes notices as well as the RETURN key. For an input
field in a prompt, and an input field in a window, the key assignment
has changed slightly. The CNTL-END key now clears the input area as the
ESC used to, and the ESC key now cancels the input operation returning
an input length of -1 to indicate the aborted operation.

o The mouse mode may now be toggled on and off by the user at will by
using the ALT-M key. The mouse mode may still also be set and reset
with the 'set_mouse_mode' service.

o The 'set_field_help' service has been renamed to 'set_form_help' and is
now set on a form basis rather than a field basis. This is adequate
since the field ID is passed in any case to the help handler function.
The 'set_field_verify' service, though retaining its name, now also
applies to the form rather than individual fields. These changes mean
that the intention is that a help and field verification function is
written for a form rather than for a field. If the application so
requires, a call to another user defined function may be made from the
primary handler. Both services to establish the handlers now omit the
field parameter.

o A new form field type, BUTTON, has been added to select options within
a form. The service 'set_button_fn' establishes a handler function for
buttons. An example program BUTTON.C is provided to illustrate the use
of the new type. The declaration of the type is described in the forms
compiler documentation.

o The current field being edited or selected in a form is now remembered
and calling 'edit_form' or 'select_field' with a start field of 0 will
continue at the previously selected field.

o The service 'get_field_id' has been changed to return the field ID
rather than TCU_OK or TCU_ERROR. If the field ID parameter pointer is
NULL, the ID obtained is only returned, otherwise it is loaded into that
variable and returned. This allows inline calls without the need for a
temporary variable whilst maintaining complete compatibility (other than
the tests for TCU_OK & TCU_ERROR) with the previous form.

o The form compiler now checks for duplicate field names and rejects all

o A new service has been added to receive user confirmations of impending
actions, allowing the user to confirm with 'Y', 'N' or a mouse button.
A string is displayed for the user to confirm or reject.

o Facilities have been added to the forms compiler to support repetitions
of blocks of declarations. The demonstration .CUF files supplied have
been amended to show the new syntax. See the forms compiler document
for full information.

  3 Responses to “Category : C Source Code
Archive   : TCU_31.ZIP
Filename : AA-READ.ME!

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: