OVERVIEW:
==========

TMPHexEditor, TMPHexEditorEx components version 09-09-2003 for delphi 4&6 and BCB 6

TMPHexEditor is a TCustomGrid descendant used to view and edit binary files.

TMPHexEditorEx is an advanced hex editor, supporting OLE drag and drop, printing 
and print preview...


LICENSE:
=========

Author    : markus stephany, vcl_at_mirkes_dot_de
Copyright : (C)1997-2003 markus stephany, all rights reserved

    This source code is freeware. You may use, change, and distribute without
    charge the source code as you like. This unit can be used freely in any
    commercial applications. However, it may not be sold as a standalone product
    and the source code may not be included in a commercial product. This unit
    is provided as is with no warrent or support. Make sure to read relevant
    information and documentation from Microsoft before using this unit.


INSTALLATION:
==============

Delphi 6: open, compile and install the package MPHexEditor_D6.dpk under the vcl\Delphi-6 directory
Delphi 4: open, compile and install the package MPHexEditor_D4.dpk under the vcl\Delphi-4 directory

BCB 6: open, compile and install the package MPHexEditor.bpk under the vcl\BCB-6 directory

others:
  copy all files under the \vcl subdir in a directory contained in delphi's search path.
  add MPHexEditorReg.pas to one of your library packages (e.g. "Borland Delphi User Components")
  and recompile this package.
  After successfull recompiling, the two components TMPHexEditor and TMPHexEditorEx should be 
  available on the "mirkes.de" tab.


USAGE:
=======

read the help file included in this package (under the \doc path).


HISTORY:
=========

 v 09-09-2003: september 09, 2003
         - changed some constants, classes and types from MPTH... to MPH...
         - changed MPHCustTransFieldFrom/To to MPHCustomCharConv
         - BytesPerBlock and SeparateBlocksInCharField propertes added
         - DataSize property is writeable now
         - Page down key now also reaches the last row
         - added OnGetOffsetText property
         - added AddSelectionUndo procedure
         - added defines for delphi7, renamed delver.inc to mpdelver.inc
         - added wildcard search (FindWithWildcard)
         - added SeekToEOF
         - changed keyboard handling, so OnKeyDown should work better
         - added GotoBookmark method to set cursor to a bookmarked position
         - added OnBookmarkChanged property
         - support for unsigned int64 radix conversions
         - Replace method added


 v 07-05-2003: july 05, 2003
         - better handling of odd sized files when BytesPerUnit <> 1
         - added support for pasting clipboard data in fixed filesize mode in TMPHexEditorEx
         - added RegEdit_HexData clipboard support in TMPHexEditorEx


 v 05-25-2003-b: may 25, 2003
         - fixed a bug (moving the cursor beyond eof)


 v 05-25-2003: may 25, 2003
         - added some kind of ownerdraw (see OnDrawCell)
         - no ':' is printed when offset display is not used
         - added hpp generating statements for bcb compatibility
 

 v 05-20-2003: may 20, 2003
         - renamed, added and changed some methods, classes and properties
         - fixed some bugs in the ruler display (e.g. when BytesPerRow is
           changed)
         - fixed some bugs when BytesPerUnit <> 1
         - added some unicode support (UnicodeChars and
           UnicodeBigEndian)
         - fixed some half byte (nibble) related bugs
 

 v 05-17-2003: may 17, 2003
         - added DisplayStart and DisplayEnd functions to retrieve
           the data bounds currently displayed
         - added BytesPerUnit and RulerBytesPerUnit properties to
           treat words/dwords/qwords as a unit
         - added SyncView procedure and OnSelectionChanged property
           to synchronize position and selection with another editor
         - added ShowPositionIfNotFocused property to show the current
           position if the editor is not focused
         - corrected bottom margin handling when printing
         - corrected upper/lowercase hex chars in printing
         - the current unit is selected now when doubleclicking data
         - added flags pfCurrentViewOnly (just print the currently
           visible data) to PrintOptions.Flags
 

 v 10-25-2002: october 25, 2002
         - corrected the BytesPerColumn default value


 v 08-18-2002: august 18, 2002
         - modified painting and selection
	 - implemented an additional ruler bar at the top
	 - new properties: ShowRuler, DrawGutter3D


 v 08-12-2002: august 12, 2002
	 - modified Changed calls to get correct Modified property in OnChange handler


 v 08-09-2002: august 09, 2002
	 - included missing include file delver.inc
	 - added OnChange event

 
 v 07-21-2002: july 21, 2002
	 too many changes to mention here (completely rewritten, basic and advanced versions
	 TMPHexEditor and TMPHexEditorEx), plz read the documentation included with this
	 package for more information 
  



 V 1.16: 02/02/99
         added WMGetDlgCode to avoid problems with shortcut-controls on the form
         changed the property name ReadOnly to ReadOnlyFile ( to avoid confusion, sorry )
         fixed updating when the font gets changed
         added OnKeyPress-support ( now you can modify the key before THexEditor will parse it 
	  in this event )
         property WantTabs : Boolean ; if true, than you can navigate between char and hex 
	  field with the TAB key, if not, you can navigate between your form's controls with 
	  the TAB key, to change the current field in THexEditor, you have to use CTRL+T.
         property ReadOnlyView : Boolean ; if true, than the text/data in THexEditor can't get
         edited via key presses, just selection , moving and scrolling are still available

 V 1.15: 01/03/99
         added option odOctal to TOffsetDisplayStyle to display line offset in 
         octal system ("8"-based)
         fixed a problem on creating a THexEditor dynamically ( thanks to John Shailes , 
	  JohnShailes@email.msn.com )
         property AllowInsertMode : Boolean ; if this is set to true, THexEditor doesn't 
	  overwrite but insert values at the current cursor position ( this cannot be set if 
         NoSizeChange is True )
         property IsInsertMode : Boolean ; readonly, if it returns true, the current mode is
         inserting (see above )
         property AutoCaretMode : Boolean ; if true, the caret will be set to a block
         in overwrite mode and to a left line in insert mode automatically

 V 1.14: not released
         fixed some bugs
         added currently unsupported variable line lengths
         added NoSizeChange property

 V 1.13: 11/07/98
         added AsText and AsHex property ( and converting functions for "aa00bb" style hex
         files ) , MaskWhiteSpaces property to avoid the '.' if you have a font that can
         display chars from #0 to #31; also typing capitals rather than lowercase chars in
         the char field is now possible ( most of this stuff has been suggested from
         Philippe Chessa , Philippe_Chessa@compuserve.com, thanks )

 V 1.12: 10/25/98
	  added Half Byte (Nibble) support (insert/delete, swap hi/lo nibbles in hex view)
	  better performance
         the markers are now available for reading/writing
	  added support for some different code types in the char view :
         ANSI , 8 Bit ASCII ( OEM / Dos style ) , 7 Bit ASCII , Macintosh(TM) character set , 
         IBM(TM) EBCDIC cp 038 also conversion of the file's contents (or a range of them) 
         from one to another code type is possible (many thanks to Christophe LE CORFEC, 
         CLC@khalif.com for ebcdic and half byte suggestions)

 V 1.1 : 10/04/98
         added find,seek, customizable layout (many thanks to John Hamm, John@TEMPUS.COM )

 V 1.0 Beta 1 : 08/15/98
         first public release 


===================


have fun,

markus.

