
History of SCREDIT.

06/01/90	Version 1.10
		Bug Fixes:
		  A memory allocation problem has been fixed when
		  editing and saving several screens during an SCREDIT
		  session.

		Enhancements:
		  Added packed BCD numeric support, along with BCD math
		  routines.  Compatible with BTRIEVE BCD.

		  Added a new date type compatible with BTRIEVE dates,
		  along with some date manipulation routines for this
		  new type of date.

		  Field help text is now built along with the field in
		  SCREDIT, and may be optionally displayed through a
		  new function edithelp_io_fields.

		  A command line switch /ONLY25 has been added to
		  accomodate Tandy 1000 series machines, where the
		  display adapter cannot be reprogrammed to display
		  more than 25 lines.

08/01/90	Version 1.05
		Bug Fixes:
		  Corrected a few last problems with VGA support for
		  greater than 80 columns.  Fixed problem with some
		  EGA BIOS's.

06/30/90	Version 1.04
		Bug Fixes:
		   Corrected some display problems of the status line
		   for some VGA BIOS.  The problem evidenced
		   itself when creating a new window, and the
		   status line would be placed up in your newly
		   created window.  The problem was the assumption
		   that the 30 line mode and character set on the
		   IBM would be implemented the same across all
		   other VGA BIOS, but some are 28, some are  31,
		   etc.

		   Fixed a problem created during the addition of
		   field help.	If an error message was displayed,
		   and you sent the user back to a field that had
		   field help, it would clear the error message.

		Enhancements:
		   TurboC++ is now supported.  SCREDIT.EXE is now
		   compiled and linked using C++.  No advantage has
		   been taken yet of overlays or any object-oriented
		   extensions, but this is the first step.

05/10/90	Version 1.03
		Bug Fixes:
		   Fixed problem with text fields that are right
		   justified.  Previously, if a text field was right
		   justified, exiting the field would not justify
		   it.	Please note:  entering text at the leftmost
		   side of a right justified field, when data is
		   already displayed in the field, will NOT justify
		   it.	This is because the field is considered to
		   be full.  Example:
			"                 Test"
		     If displayed and altered to show:
			"MORE             Test"
		      the field is completely filled, and no
		      justification will take place.  Use the
		      CTRL-ENTER keystroke combination to clear the
		      field from the cursor position to the end of the
		      field.  This will then allow the field to be
		      right justified.

		   Corrected a problem with the copy/move block function.
		   A block was allowed to be copied/moved to a position that
		   would cause the block to extend beyond the logical confines
		   of the current window.  This has been fixed.  If an attempt
		   is made to copy/move the block beyond the logical confines
		   of the current window, an error message will be displayed
		   telling you that the marked block will not fit in the
		   window.  The block is left marked, and you may then change
		   the size of the marked block, or move the cursor to another
		   position to mark the block.

		   Corrected a problem when deleting the last line of the
		   currently displayed window in SCREDIT.  SCREDIT was
		   attempting to pull up all lower lines to replace the
		   deleted line, and was pulling up non-existant lines.

		Enhancements:
		   Dates may now be entered in several fashions, regardless
		   of the definition of the field.  The field will always
		   be redisplayed as defined, however. Dates may be now
		   entered as:
			Jun01,89 or 06.01.89 or 6.1.89 or 6 1 89 or
			 6,1,1989, etc.
		   They will all result in the same date being interpreted.
		   NOTE:  A problem has been fixed if a date earlier than
		   January 1, 1970 was entered.  This would result in a
		   0 or blank date.  This has been corrected.  Note that
		   this limitation is not one of SCREDIT, but is a limitation
		   of the 'C' library routines used.  'C' and UNIX do
		   not support dates earlier than 1/1/70.

		   New date formats are now supported:
		     Jan,90
		     Jan,1990
		     01,90
		     01,1990
		   These field types should only be used as display, not for
		   input, as they contain no day for input, and the size of
		   some of the fields do not allow full date entry, even
		   though the date decoding would support this entry.

		   Each time a new I/O field is created, a default structure
		   name is given for the field, in the form of "iofld_nnn"
		   where "nnn" corresponds to an internal field number given
		   by SCREDIT.	It is STRONGLY suggested that this field name
		   be replaced with a name of your own choosing.

                   More support for EGA/VGA has been made.  A replacement
                   for the TurboC screen initialization has been fashioned.
                   Part of the problem was that TurboC would initialize the
                   screen to a CGA type, putting it into a known state.  It
                   would also initialize an internal video table after
                   setting the video mode.  This has been changed to NOT
                   set the video mode to a CGA, and to initialize the internal
                   video table from values in the BIOS segment.  This module
                   will be linked into your program, leaving the current
                   video setting alone.  So if you are in 43 or 50 line mode,
                   or have a BIOS that supports 132 columns, etc., the
                   monitor will be left in this mode.  Note that SCREDIT does
                   not change the video mode to a mode required by a screen.
                   This is left up to the programmer to ensure that the screen
                   is placed into the correct video mode.  To create screens
                   of greater than 25 rows or 80 columns, the monitor must be
                   placed into the proper mode using your VGA utility, prior
                   to building the screen in SCREDIT.
                   There are some reasons for not having SCREDIT change the
                   video mode.  First of all, prior screens left on the monitor
                   may be 'destroyed', as a video mode change alters the way
                   in which the video memory is viewed by the EGA/VGA card.
                   If a video mode is changed from 80 column text to 132 column
                   text, the video memory has been laid out so that the second
                   row starts immediately after the first.  Changing the number
                   of columns will place the first 52 characters (changing from
                   80 to 132) of the second row to immediately follow the
                   characters on the first row.  As this is probably not the
                   desired effect, it has been decided that for the time being,
                   I will leave it up to the programmer/designer to determine
                   how to interleave mixed-mode screens.

                   It is now possible to define the fill character for a window.
                   This character defaults to a blank, but may be made into
                   any valid IBM graphic set character.  The conversion program,
                   UPDTOBJ, will alter pre-1.03 screen object files to default
                   to a blank.

		   Barmenus have been altered to allow centering all text on
		   the line, as well as allowing you to specify the line that
		   the barmenu is to be displayed.

                   All input fields in SCREDIT now allow the use of the
                   ALT-numeric keypad to generate any valid ASCII character,
                   (0-255).  SCREDIT screen editing now allows these characters
                   as well.

		   An 'Extra-Processing' flag has been added to all input
		   fields.  Setting this flag causes SCREDIT to exit screen
		   editing when this field is exited in a FORWARD motion
		   (TAB, DOWN ARROW).  SCREDIT returns to the caller to
		   allow the programmer to do checking, etc. on this field,
		   or to calculate new default values for other fields in
		   the screen.	Editing may be resumed where left off by
		   simply calling <edit_io_fields> again with the same values,
		   or you may position the cursor to another field by setting
		   the <offset> parameter to another field within the screen.
		   The return value from <edit_io_fields> when exiting in
		   this fashion is <PROCESS_FIELD>, defined in SCREDIT.H.

		   Color translation is now available.	You may also call
		   the new function in SCREDIT.H, <set_scrcolors> (which
		   is in the SCREDIT?.LIB), to allow users of your program
		   to set their own color translations for these screens.
		   You must supply a 256 byte buffer for these new colors
		   to be placed in (no checking is performed for the correct
		   length of the buffer!!).  You may set the color translation
		   mode used by SCREDIT by setting the boolean variable
		   <xlate_colors> to TRUE to perform color translation, or
		   FALSE to prohibit color translation.  To set new colors
		   for SCREDIT to use, move in a new color set (a 256 byte
		   buffer, in the form of attributes 0x00, 0x01, 0x02, ...
		   0xFF), to the variable <scredit_colors>.

		   A seperate configuration file is now created, instead
		   of the configuration being written back to SCREDIT.EXE.
		   This file is named SCREDIT.CFG, and must be in the
		   same directory as SCREDIT.EXE.

10/01/89	Version 1.02
		Bug Fixes:
		   Corrected paging retrieval problem while getting
		   filename in Edit/Print/Rename.

		   Corrected character editing problem in date fields.

		   Corrected window sizing problem when No Borders are
		   selected.

		   Fixed problem of restoring screen underneath file
		   selection screen when no files were found.

		Enhancements:
		    UPDTOBJ.EXE must now be used to update all screen
		    objects created with SCREDIT prior to Version 1.02.
		    Screens that are already of the correct version, or
		    that have been previously updated will not be changed.

		    The macro used to create color attribute bytes has
		    been slightly altered.  It will not strip off the
		    BLINK bit from the attribute.  NOTE:  Carefully check
		    any screens that used backgrounds in the range of
		    0x08 - 0x0F (Dark Gray - HiWhite).	These fields will
		    now blink.	If you do not wish to have these fields
		    blink, you will need to re-edit the screen and change
		    the color attributes.

		    When creating the menu selections for a bar or pulldown
		    menu, SCREDIT now selects the first UPPERCASE letter
		    found in the string and uses this as the 'hotkey'
		    letter.  This will allow using menu selections such as:
			One  Two  tHree  Four  fIve
			^    ^	   ^	 ^	^
			|    |	   |	 |	|
			+----+-----+-----+------+----> 'hotkeys'

		    (See WINDOW.C in SAMPLE.ZIP/.ARC)

		    After creating/editing a screen, the user may now select
		    whether or not SCREDIT should output a header file for the
		    created/edited screen, as well as the structure within
		    the header file.

		    Added ability to override messages for 'Invalid Entry'
		    on non-numeric, non-date fields, 'Invalid Amount' on
		    numeric fields, and 'Invalid Date' on date fields.

		    Added 'Option Type' field.  This is a field type that
		    allows 'scrolling' through a predefined set of options.
		    A value is returned back to the caller to indicate which
		    selection the user made.  This selection may also be
		    set up to any valid, desired value prior to calling the
		    screen edit.  (See INPUT.C in SAMPLE.ZIP/.ARC)

		    Any time a screen object filename is entered without
		    an extension, the default extension will be concatenated
		    to the filename.

		    While editing a screen, blocks may now be marked with
		    the ALT-B key to define the upper left and lower right
		    limits of the block.  Once a block has been defined, you
		    may move or copy it by placing the cursor at the new
		    upper left position of the block and using ALT-M to
		    move the block, or ALT-C to copy the block.  ALT-U is
		    used to unmark a block.  Once a move or copy has been
		    completed, the block is automatically unmarked.  I/O
		    fields within the block are also copied or moved.

		    For Non-IBM Printers, character substitution is now
		    possible through the 'Defaults' selection on the main
		    menu.  This option allows you to specify which characters
		    you wish to replace in the character range of 128 - 253.

		    Graphics character selection is now made through the
		    graphics character help screen (ALT-F1).  You may 'scroll'
		    through the various selections by pressing any key.
		    Once your selection is made, press ESC to exit back to
		    the editor, with the last displayed selection as the
		    graphics set now used.

		    A printer interrupt has been added to enhance the print
		    capabilities of SCREDIT.EXE while printing screens.  If
		    there is a printer error, you will be informed and allowed
		    to correct the situation and continue printing, or to abort
		    the print job without aborting SCREDIT.EXE.

08/12/89	Version 1.01
		Bug Fixes:
		    Corrected stack problem when printing screen information.

		    Demo version now has the following functions added:
			make_bar_menu
			make_pulldown_menu
			make_window
			remove_bar_menu
			remove_pulldown_menu
			remove_window

		    The following macros have been added to SCRDEMO.H:
			attr
			background
			foreground

		Enhancments:
		    None

06/24/89	Version 1.00
		Initial release


Tim Underwood	Compuserve ID 73577,1554

or call:

The Source Connection  (316)-687-0012  24hrs  300/1200  8N1
