Additions and changes made by H. David Nicholas
to YourPasEdit Project. 11/20/98

Note: These changes were made using Delphi 3 and only standard Delphi components

Added to Uses
  1.  FileCtrl for the MinimizeName function.
  2.  IniFiles for saving options and MRU list.

Added to MainMenu
  1.  Reopen MenuItem added to the File MenuItem - displays a dynamic MRU list
  2.  Options MenuItem.
  3.  ClearMRUList added to Options MenuItem. - Clears the MRUList
  4.  MRUAutoClean added to Options MenuItem.- Select whether the MRUList is
        validated on startup
  5.  MRUMaximun added to Options MenuItem. - Select MRUList size of 5 or 10
  6.  Save5 added to MRUMaximum MenuItem.
  7.  Save10 added to MRUMaximun MenuItem.
  8.  StartWithNew added to Options MenuItem. - Select whether program starts
        with an new sheet.
  9.  mmUpdateSyntax MenuItem added to Edit MenuItem - to call the UpdateSyntax
        procedure.

Added to the Private declarations
  1.  InsertOn: Boolean  Keeps track of the Insert key toggles
  2.  MRUList: TStringList - Stores and manipulates file list
  3.  MaxMRU: Integer - Maximum number of items in the MRUList
  4.  procedure CheckMRUList - Removes nonvalid file names from MRUList
  5.  procedure UpdateMRUList(fName: String; UpdateMenu: Boolean) - Updates the
        MRUList and optionally the Reopen menu
  6.  procedure UpdateReopenMenu - Updates the Reopen menu
  7.  procedure AnyMRUClick(Sender: TObject) - Opens a file from the Reopen menu
  8.  procedure UpdateSyntax - Updates the Syntax Highlighting of text in the
        active TRichEdit

Added PageControl1Change method to update the cursor position when you
  change pages. Also added code to the LoadFile, LoadFilePT, LoadFileDFM and
  mmNewClick methods that triggers the OnSelectionChange method to update the
  cursor position for that RichEdit.

Added call to UpdateMRUList in the following procedures:
  1.  LoadFile
  2.  LoadFileDFM
  3.  LoadFilePT
  4.  pmaClosePageClick
  5.  mmSaveClick
  6.  mmSaveAsClick

Added call to UpdateReopenMenu in the following procedures:
  1.  FormCreate
  2.  pmaClosePageClick
  3.  ClearMRUList1Click
  4.  Save5Click

Added to the Forms OnCreate event:
  1.  Set the OpenDialog and SaveDialog Initial Directory
  2.  Create the MRUList
  3.  Read the Ini file information
  4.  if MRUAutoClean1.Checked is True call CheckMRUList procedure
  5.  Set either Save5 or Save10 checked property to True
  6.  Call UpdateReopenMenu now that the MRUList is filled and ready
  7.  Set InsertOn to True

Added to the Forms OnDestroy event:
  1.  Use EraseSection to clear the 'Files' section of the Ini file
  2.  Write the MRUList to the Ini file
  3.  Save the other settings to the Ini file
  4.  Free the MRUList that was created in the OnCreate event

Added to the Forms OnKeyDown event:
  1.  if the key is VK_INSERT then toggle Boolean value InsertOn

Added to the Forms OnShow event:
  1.  mmNewClick is now only called if the StartwithNew1.Checked is True

Changes made to the LoadFileDFM procedure:
  1.  Added code that passes the text through the PasConversion to add syntax
      highlighting before it is loaded in the RichEdit.  This gives it the same
      look that Delphi has when a form is viewed as text.  Tests that I have done
      using a Binary file compare (Norton Navigator) indicate that the file can
      be save with out being corrupted.

Changes made to the CheckCapslock procedure:
  1.  The Key State for Insert/Overwrite is now tracked within the program
      instead of using the GetKeyState function.  See my notes in the procedure.
  2.  I changed the Odd method to (GetKeyState(virtual-key code) and $01) <> 0
      when I was trying to fix the Insert problem and left it that way!

Changes made to the pmaClosePageClick procedure and Form OnCloseQuery event:
  1.  The MessageDlg now displays the full path of the file.  If you change the
      variable S to anything other than the full path file name, then in the two
      lines "if FileExists(S) then UpdateMRUList(S,False)" S will have to be
      replaced with PageControl1.ActivePage.Hint to avoid duplicates in the
      MRUList.  If you decide to use PageControl1.ActivePage.Caption instead
      then you can add a line such as S := Copy(S,1,Length(S)-1) to remove the
      asterisk from the MessageDlg.
  2.  Added code to the pmaClosePageClick procedure that clears the cursor
      position displays in the StatusBar if the last page is closed.

Changes made to the mmPasteClick procedure:
  1.  Added code that checks if the file extension for the active TRichEdit is
        'TXT'.  If NOT then it calls the UpdateSyntax procedure.  You could
        remove this code and manually update the syntax if you don't always want
        it to happen.

Other Changes:
  1.  I Commented out a couple of things in the project file and mmPasToRtf file
      to stop getting compiler messages.  I left notes in the files to show the
      changes.

Final note: I apologize if the fact that I don't like writing these readme
            files shows!
