v6.1.0 7 September 2012

Added Delphi XE3 VCL/Win32 and VCL/Win64 Support.
Added C++ Builder XE3 VCL/Win32 Support.

*** Globals & Resources ***
- Improved support for Brazilian Portuguese by Carlos E. Tré.
- Added ThreePiOn4.
- Added PiOn6.

*** Routines ***
- ESBPCSDateUtils: Added RefDateTime2DateTime to convert a Reference Date/Time into a Delphi TDateTime.
- ESBPCSDateUtils: Added NowRefDateTime to return the Current Date/Time as a Reference Date/Time.
- ESBPCSDateUtils: Added RefDateTime2RefDateAndTime to convert a Reference Date/Time into a Reference Date and the Time portions.
- ESBPCSDateUtils: YMD2Str now supports YMD Date Order as well as DMY and MDY.
- ESBPCSFileIO: Improvement to GetCurrUser.
- ESBPCSMath: Slight Improvements to ArcSin and ArcCos routines.
- ESBPCSMath: Slight Improvements to Hyperbolic routines.
- ESBPCSMath: LCM now correctly only returns positive value.
- ESBPCSMath: SumOfSeries now handles values in "wrong order" and negative values.
- ESBPCSMath: Minor Improvements to InverseGamma Calculation.
- ESBPCSMath: Minor Improvements to IncompleteBeta Calculation.
- ESBPCSMath: Minor Improvements to InverseIncompleteBeta Calculation.
- ESBPCSRegistry: Added Delphi XE3 and C++ Builder XE3 support to platform-based routines.

*** Calendar Classes ***
- TESBYear: Added Date2ISODOW Method to return the ISO-8601 Day of Week.

*** Help ***
- Added Help Installation for Delphi XE3 and C++ Builder XE3.

*** Installer ***
- Now supports Delphi XE3 and C++ Builder XE3.
- Other Minor Improvements.
- Help File Updated.

*** Documentation ***
- Minor Improvements.

v6.0.3 20 July 2012

*** Globals & Resources ***
- Improved support for Brazilian Portuguese by Carlos E. Tré.

*** Routines ***
- ESBPCSDateTime: Added GetMemorialDayUS to compute the Date of Memorial Day (US).
- ESBPCSMath: Improvements to Power routines for use under Win64 with XE2.
- ESBPCSMath: Minor Improvements to RoundUp Function.
- ESBPCSMath: Added RoundDown Function that works similar to the one in MS Excel.

*** Edits ***
- For Delphi 2010 and above, ESBPCS Edits now show the DoubleBuffered and ParentDoubleBuffered Property.

*** Memos & RichEdits ***
- For Delphi 2010 and above, ESBPCS Memos now show the DoubleBuffered and ParentDoubleBuffered Property.
- For Delphi 2010 and above, ESBPCS RichEdits now show the DoubleBuffered and ParentDoubleBuffered Property.

*** Calculators & Calculator Edits ***
- TESBCalculator now has an OnExecute event and an OnExecutePos Event that allow you to assign your own Popup Calculator that relies on the Calculator Engine. Useful if you wish a different desing or want to use other 3rd Party components/skins/etc.
- TESBSciCalculator now has an OnExecute event and an OnExecutePos Event that allow you to assign your own Popup Calculator that relies on the Calculator Engine. Useful if you wish a different desing or want to use other 3rd Party components/skins/etc.
- TESBProgCalculator now has an OnExecute event and an OnExecutePos Event that allow you to assign your own Popup Calculator that relies on the Calculator Engine. Useful if you wish a different desing or want to use other 3rd Party components/skins/etc.
- Fixed a problem that can occur with storing the Memory Value in TESBCalculator.
- Fixed a problem that can occur with storing the Memory Value in TESBSciCalculator.
- Fixed a problem that can occur with storing the Memory Value in TESBProgCalculator.
- Calculator Edits have a HideButton property that allows the Calculator Button to be hidden.
- Calculators no longer call Load/Save to Storage when the Execute Methods are called, so if this was required you will need to do manually.

*** Calendars & Calendar Edits ***
- TESBCalendar now has an OnExecute event and an OnExecutePos Event that allow you to assign your own Popup Calendar that relies on the Calendar Engine. Useful if you wish a different desing or want to use other 3rd Party components/skins/etc.
- Calendar Edits have a HideButton property that allows the Calculator Button to be hidden.

*** Calendar Controls and Classes ***
- TESBChristianYear now includes Ascension Day.
- TESBChristianYear now includes Reformation Day.
- TESBChristianYear now includes All Saints Day.
- TESBNationalYear now includes Memorial Day (US).

*** Button Edits ***
- Button Edits have a HideButton property that allows the Calculator Button to be hidden.

*** ListBoxes ***
- For Delphi 2010 and above, ESBPCS ListBoxes now show the DoubleBuffered and ParentDoubleBuffered Property.

*** Storage ***
- Fixed Minor Memory Leak when using ESBStoreCtrl components.

*** Timer Controls ***
- Fixed Minor Memory Leak when using TESBTimerLabel components.

*** Unit Conversions ***
- Decametres added to Distance.
- Decimetres added to Distance.
- Cusec added to Flow.
- Apostilbs added to Luminance.
- Stilbs: fixed conversion.
- Gigatonnes added to Mass Conversions.
- Kilotonnes added to Mass Conversions.
- Megatonnes added to Mass Conversions.
- Decalitres added to Volume.

*** Installer ***
- Minor Improvements.

v6.0.2 27 March 2012

Improved support for Delphi XE2 Win64, components should now correctly be identified as available for Win32 and Win64.

*** Routines ***
- ESBPCSMsgs: ConfirmCancelMsg now uses an out parameter.

*** Edits ***
- Improved Null Handling in Data Aware Edits.

*** Installer ***
- Improved Delphi XE2 64-bit Support.
- Help File Updated.

*** Documentation ***
- ESBPCSMsgs now changed over to XMLDoc.


v6.0.1 30 November 2011

Improved support for Delphi XE2 Win64.

Note: When doing 64-bit Development Extended = Double, so there is loss of "decimal places" and "exponent range". If these are important to you stick with Win32 development.

*** Routines ***
- ESBPCSMath: Added routines to convert between Degrees and Brads (Binary Radians or Binary Degrees).
- ESBPCSMath: Added routines to convert between Radians and Brads (Binary Radians or Binary Degrees).
- ESBPCSMath: Added routines to convert between Degrees and Points (32 Points in a Circle).
- ESBPCSMath: Added routines to convert between Radians and Points (32 Points in a Circle).
- ESBPCSMath: ISqrt and Pow2 fixed for Win64.
- ESBPCSMath: XtoY now use Math.Power for Delphi 2010 and above.

*** Calendar Controls and Classes ***
- TESBChristianYear now includes Maundy Thursday.
- TESBNationalYear now includes Canada Day.

*** Edits ***
- Improved Null Handling in Memos and RichEdits.

*** Conversions ***
- Binary Degrees added to Angle Conversions.
- Binary Radians (Brads) added to Angle Conversions.
- Microdegrees added to Angle Conversions.
- Millidegrees added to Angle Conversions.
- Petabytes (base 2) added to Computer Storage.
- Exabytes (base 2) added to Computer Storage.
- Petabytes (base 10) added to Computer Storage.
- Exabytes (base 10) added to Computer Storage.
- Pebibytes added to Computer Storage.
- Exbibytes added to Computer Storage.
- Petabits (base 2) added to Computer Storage.
- Exabits (base 2) added to Computer Storage.
- Petabits (base 10) added to Computer Storage.
- Exabits (base 10) added to Computer Storage.
- Pebibits added to Computer Storage.
- Exbibits added to Computer Storage.
- Funals added to Force.
- Sthènes added to Force.

*** Installer ***
- Now handles 64-bit Install for Delphi XE2.
- Updated Help.

*** Documentation ***
- Now using Help+Manual v6

v5.6.2 29 September 2011

Added Delphi XE2 Win32 Support - work still needed on Win64 Support, though work has started on this.
Added C++ Builder XE2 Win32 Support.

There was some problems with ESBPCSPositions and ESBPCSPositionConversions. These units have been restructured.

*** Routines
- ESBPCSDateTime: Added DateTime2ISOEnhStr to display Date/Time in 'yyyy-mm-dd hh.mm.ss.nnn' Format.
- ESBPCSDateTime: Added ISOEnhStr2DateTime to convert string in 'yyyy-mm-dd hh.mm.ss.nnn' Format to Date/Time.
- ESBPCSPositions: Fixed problem with Longtitude handling in MakePosition.
- ESBPCSRegistry: Added Delphi XE2 and C++ Builder XE2 support to platform-based routines.

*** Edits ***
- Fixed problem with Ctrl-N Processing for Nulls in some Data Aware Edits.
- Fixed Problem with BlankIsNull in some Data Aware Edits.

*** Unit Testing ***
- Updated PositionTest.

*** Help ***
- Added Help Installation for Delphi XE2 and C++ Builder XE2.

*** Installer ***
- Now supports Delphi XE2 and C++ Builder XE2, and includes a Build 64-Bit Option.

*** Documentation
- ESBPCSPositions now changed over to XMLDoc.
- ESBPCSPositionConversions now changed over to XMLDoc.


v5.6.1 15 July 2011

*** Globals ***
- Added TESBLocation for storing a Geographical Location.
- Added TESBModifiedJulian as a Double representing the Modified Astronomical Julian Day.
- Added TESBRefDateTime as an Integer representing number of Days since the day before 1 January 1 assuming the Gregorian Calendar was always in use, with Time being the fractional component.
- Added Constants for the TESBLocation values of Greenwich, Jerusalem and Mecca.

*** Routines ***
- ESBPCSAstronomy: Updated appropriate Routines to use TESBModifiedJulian.
- ESBPCSConvert: ConvertReturns2Breaks converts Carriage Returns in a string to HTML Breaks.
- ESBPCSDateTime: Fixed problem with Str2DateDef thanks to Stefan Westner.
- ESBPCSDateTime: DaysHMApart supplied Days, Hours and Minutes that two Date/Times are apart.
- ESBPCSDateUtils: Added routines to convert between Reference Dates and Reference Date/Times.
- ESBPCSDateUtils: Added routines to convert between Astronomical Julian Dates and Reference Date/Times.
- ESBPCSDateUtils: Added routines to convert between Modified Astronomical Julian Dates and Reference Date/Times.
- ESBPCSPositions split into ESBPCSPositions and ESBPCSPositionConversions, with the Former now being in the Base Package available to all and the later still being a part of the Calcs Subsystem.
- ESBPCSPositions contains various TESBLocation Routines.
- ESBPCSUITools: Added GetESBColorName to convert a TColor (Integer) into the associated string from the huge choice of colours in ESBPCS.
- ESBPCSUITools: Added Color2HTMLColor to convert a Delphi TColor (Integer) into the associated HTML Colour String (with leading '#').

*** Calendar Controls and Classes ***
- New Class: TESBDate is a Date Class that provides support for Gregorian and Julian Dates, Years prior to 1, Customised Suffix Strings, Null Support and more.
- A few changes to Methods and Properties in TESBYear to make TESBDate a more usable descendant.

*** Storage Controls ***
- StoreCtrls now have DeleteKey.

*** Unit Testing ***
- More Tests added to ESBPCSDateUtil_Test.

v5.6.0 11 May 2011
*** Resources ***
- ESBPCS_RS_Cal now has 2 Sets of Muslim (Islamic Calendar) Month Names.
- ESBPCS_RS_Cal now has 2 Sets of Jewish (Hebrew Calendar) Month Names.

*** Globals ***
- Added TESBRefDate as an Integer representing number of Days since the day before 1 January 1 assuming the Gregorian Calendar was always in use.
- Added Calendar Epochs based on TESBRefDate.
- Added TEraAbbrev as a type to control the Era Abbreviations such BC/AD and BCE/CE.

*** Routines ***
- ESBPCSDateTime: Added GetLaborDayUS to return a TDateTime for Labor Day (US) in the desired Year.
- ESBPCSDateTime: Added GetIndependenceDayUS to return a TDateTime for Independence Day (US) in the desired Year.
- ESBPCSDateTime: Added GetPentecost to return a TDateTime for Pentecost in the desired Year.
- ESBPCSDateTime: Added GetAdventStart to return a TDateTime for First Sunday of Advent in the desired Year.
- ESBPCSDateUtils: Major Updates.
- ESBPCSJewishDates: Major Updates.
- ESBPCSMath: Added IntFloor and IntFloor64 to calculator the Integer Floor of X / Y where X and Y are Integers.
- ESBPCSMath: Added IntCeil and IntCeil64 to calculator the Integer Ceiling of X / Y where X and Y are Integers.
- ESBPCSMuslimDates: Major Updates.

*** ButtonEdits ***
- Fixed problem that would occur with Autosizing and Height.

*** Calendar Controls and Classes ***
- New Unit: ESBPCSCalendarClasses which contains the new Date and Time Classes.
- New Unit: ESBPCSCalendarControls which contains the new generation of Date and Time Controls where things like Years before 1 are needed, and various different Calendar Types are supported.
- New Unit: ESBPCSCalendarSponEdits which contains the new generation of Date and Time Controls where things like Years before 1 are needed, and various different Calendar Types are supported.
- New Class: TESBYear is a Year Class that provides support for Years prior to 1, Customised Suffix Strings, Null Support, Gregorian and Julian Calendar Support.
- New Class: TESBChristianYear is a Year Class is a descendant of TESBYear that supplies Christian Holidays and Special Days.
- New Class: TESBJewishYear is a Year Class is a descendant of TESBYear that supplies Jewish Holidays and Special Days.
- New Class: TESBNationalYear is a Year Class is a descendant of TESBYear that supplies National Holidays and Special Days.
- New Component: TESBCalendarProperties is a non-visual to supply centralised control of selected properties for the new Calendar Controls.
- New Component: TESBUniYearEdit is the new "Universal" Year Edit vased on TESBYear. Currently supports BC/BCE and AD/BC as well as Gregorian and Julian Operations.
- New Component: TESBUniYearSpinEdit is the new SpinEdit based on TESBUniYearEdit. Currently supports BC/BCE and AD/BC as well as Gregorian and Julian Operations.

*** Checkboxes ***
- Checkboxes now have BoxWidth Property and scale better thanks to help from Peter Wright.

*** Conversions ***
- Delisle added to Temperature Conversions.
- Newton added to Temperature Conversions.
- Rømer added to Temperature Conversions.

*** Demos ***
- Muslim Dates Demo added to Dates Demo.
- Jewish Dates Demo added to Dates Demo.

*** Unit Testing ***
- More Tests added to ESBPCSMath_Test.
- More Tests added to ESBPCSDateTime_Test.
- More Tests added to ESBPCSDateUtil_Test.
- Added Unit Testing for ESBPCSMuslimDates.
- Added Unit Testing for ESBPCSJewishDates.
- Added Unit Testing for ESBPCSCalendarClasses.

*** Installer ***
- Installer now includes option to "Pause batch compile on detecting error".
- Installer now remembers the state of "Pause batch compile on detecting error".

*** Documentation ***
- ESBPCSCheckBox now changed over to XMLDoc.
- ESBPCSUITools now changed over to XMLDoc.

v5.5.5 7 April 2011

With this release, we are using our in-house Resource Manager to generate all the Resource files (ESBPCS_RS_xxx.pas) in all the different languages. Please let us know of any problems.

*** Globals ***
- NoAustralianStates, NoUSAStates, NoCanadianStates now in ESBPCSGlobals rather than ESBPCS_RS_States.
- ESBNorthPositive, ESBEastPositive now in ESBPCSGlobals rather than ESBPCSPositions.

*** Routines ***
- New Unit: ESBPCSMuslimDates contains routines for Muslim Dates and Calendar Operation.
- New Unit: ESBPCSJewishDates contains routines for Jewish Dates and Calendar Operation.
- New Unit: ESBPCSDateUtils contains routines that will be used in the upcoming new ESBPCS Date Class.

- ESBPCSAstronomy: Fixed a problem in Julian2DateTime.
- ESBPCSAstronomy: DateTime2ModifiedJulian and ModifiedJulian2DateTime Added.
- ESBPCSConvert: LeftTillChStr now has an optional Start parameter.
- ESBPCSDateTime: Jewish Holidays moved to ESBPCSJewishDates.
- ESBPCSDateTime: Str2Time now also allows 'am', 'a.m', 'a.m.', 'pm', 'p.m', 'p.m.' to be used for AM/PM regardless of Regional Settings.
- ESBPCSMath: Cartesian2Polar2D, Cartesian2Polar3D, Polar2Cartesian2D and Polar2Cartesian3D to convert between Polar and Cartesian Co-ordinates.
- ESBPCSMath: Cartesian2PolarDeg2D, Cartesian2PolarDeg3D, Polar2CartesianDeg2D and Polar2CartesianDeg3D to convert between Polar and Cartesian Co-ordinates using Degrees.

*** Edits ***
- DateEdits and Date/Time Edits now display the entered incorrect Date properly in the Exception.
- TimeEdits and Date/Time Edits now display the entered incorrect Time properly in the Exception.
- TimeEdits and Date/Time Edits now also allows 'am', 'a.m', 'a.m.', 'pm', 'p.m', 'p.m.' to be used for AM/PM regardless of Regional Settings, though display will be as the properties dictate.

*** Time Labels ***
- TESBTimeStatusLabel now has a UseGMT property to force the use of GMT / UT.

*** Buttons ***
- TESBSpeedBtn now has Right, Bottom and Version Properties like the other ESBPCS Components.

*** Unit Testing ***
- Added Unit Testing for the new ESBPCSDateUtils.

*** Documentation ***
- ESBPCSPanel now changed over to XMLDoc.
- ESBPCSStrings now changed over to XMLDoc.
- ESBPCS_RS_xxx (the units containing the Resource Strings) have been changed over to XMLDoc.

v5.5.4 11 March 2011

ESBPCS now on Facebook: http://www.facebook.com/esbpcs

*** Routines ***
- ESBPCSDateTime: Added GetPassover to return a TDateTime for Jewish Passover in the desired Year.
- ESBPCSDateTime: Added GetAshWednesday to return a TDateTime for Ash Wednesday in the desired Year.
- ESBPCSDateTime: Added GetHalloween to return a TDateTime for Halloween in the desired Year.
- ESBPCSDateTime: Str2Time now correctly handles NZ Times which use 'a.m.' and 'p.m.'.
- ESBPCSDateTime: Str2Time now has an optional AMPMAllowFirst parameter (defaults to False) to control whether just the first letter of the AM/PM string is permitted.
- ESBPCSDateTime: StrFull2Time allows decimal seconds to be entered but doesn't allow alternate time separators.
- ESBPCSMatrix: Fixed SumMatrixCol and SumMatrixRow routines so that they access the Matrix as a const rather than a var.

*** Edits ***
- TimeEdits and Date/Time Edits now have AMPMAllowFirst Property (defaults to False) to control whether just the first letter of the AM/PM string is permitted.

*** Calculators ***
- Calculator Engine now generates EMathError exceptions.
- Added AsFloat Property to the Calculator Engine Interface.
- In Programmer Calculator, SetBaseDisplay now correctly doesn't do anything if they trying to set the Base to the current Base.
- In Programmer Calculator, SetBitSize2 was incorrectly firing OnMemoryChange.
- Added AsInt64 Property to the Programmer Calculator Engine Interface.
- TESBSciCalculator now has a CalcEngine property to allow access to the underlying Calculator Engine.
- TESBSciCalculator now supports OperatorSameLine property.
- TESBSciCalculator StoreCtrl interface now also stores OperatorSameLine, SciRange, SciMax, SciMin.
- TESBSciCalculator now supports StoreSection property.
- TESBProgCalculator now a CalcEngine property to allow access to teh underlying Calculator Engine.
- TESBProgCalculator now supports Precedence property.
- TESBProgCalculator now supports StoreSection property.

*** Conversions ***
- Astronomical Unit (AU) now more accurately set to 149597870700.0 metres.
- Added Barrels (Oil) per Day to Flow.
- Added Cubic Metres per Day to Flow.
- Added Litres per Day to Flow.
- Added Kilolitres per Day to Flow.

*** Matrix & Vector Edits ***
- Added Methods to set/get the ReadOnly property of specific Edits.

*** Documentation ***
- ESBPCSButtons now changed over to XMLDoc.
- ESBPCSCalcEngine now changed over to XMLDoc.
- ESBPCSCalculator now changed over to XMLDoc.
- ESBPCSSciCalculator now changed over to XMLDoc.
- ESBPCSProgCalcEngine now changed over to XMLDoc.
- ESBPCSProgCalculator now changed over to XMLDoc.

v5.5.3 11 February 2011

*** Globals & Resources ***
- Astronomical Unit (AU) now more accurately set to 149597870700.0 metres.
- Improved support for Brazilian Portuguese by Carlos E. Tré.
- Improved support for German by Michael Thuma.

*** Routines ***
- ESBPCSAstronomy: Increased Accuracy in the routines using GST (Greenwich Sidereal Time) as well as other minor improvements.
- ESBPCSDateTime: Added CurrentBirthday to return the Date of a Birthday/Anniversary in Current Year.
- ESBPCSDateTime: Added DesiredBirthday to return the Date of a Birthday/Anniversary in supplied Year.
- ESBPCSDateTime: Added GetAustraliaDay to return a TDateTime for Australia Day in the desired Year.
- ESBPCSDateTime: Added GetANZACDay to return a TDateTime for ANZAC Day in the desired Year.
- ESBPCSDateTime: Added GetRemembranceDay to return a TDateTime for Remembrance Day (also known as Armistice Day, Veterans Day or Poppy Day) in the desired Year.
- ESBPCSDateTime: Added GetEpiphanyDay to return a TDateTime for Feast of the Epiphany in the desired Year.
- ESBPCSDateTime: Added GetThanksgivingDayUS to return a TDateTime for Thanksgiving Day (US) in the desired Year.
- ESBPCSDateTime: Added GetThanksgivingDayCan to return a TDateTime for Thanksgiving Day (Canada) in the desired Year.
- ESBPCSDateTime: Added String to Time Routnes now allow comma to be used as a Separator.
- ESBPCSMaths: Improved Exception Handling in InverseIncompleteBeta.
- ESBPCSStatistics: Modification to the IncompleteGamma routine.

Thanks to Max Williams and Jay Parsons we have started adding some Jewish Calendar routines, and these still need further testing (any mistakes are ours) and tidying up.
- ESBPCSDateTime: Added GetRoshHashanah to return the Date of Rosh Hashanah, the Jewish New Year, which technically starts at sunset on the day prior.
- ESBPCSDateTime: Added GetHanukkah to return the Date of Hanukkah, which technically starts at sunset on the day prior. Thanks to Max Williams.
- ESBPCSDateTime: Added GetYomKippur to return the Date of Yom Kippur (Day of Atonement), which technically starts at sunset on the day prior. Thanks to Max Williams.

*** Edits ***
- Time Edits now allow comma to be used a separator.

*** Calendars ***
- Fixed "Error reading OkBtn.DoubleBuffered: Property DoubleBuffered does not exist" problem that earlier versions of Delphi encountered.

*** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.
- Now using Documentation Insight from http://www.devjet.net/
- Gone back through ESBPCSMath Documentation and added Exception Handling Info.
- Gone back through ESBPCSDateTime Documentation and added Exception Handling Info.
- ESBPCSAstronomy now changed over to XMLDoc.

*** Installer ***
- Brazilian Portuguese Strings updated thanks to Carlos Tre.
- German Strings updated thanks to by Michael Thuma.


v5.5.2 7 January 2011

*** Globals ***
- Added 'grey' versions of the 'gray' colours to ESBPCSGlobals2.
- Fixed comments and added some missing items to ESBPCSGlobals2.
- Initialization of ESBPCSGlobals2 fixes an Operating System problem that occurs sometimes where the Regional Settings are not correctly referenced.

*** Routines ***
- ESBPCSPositions: Float2DMSStr now has an option for Leading Zeroes for the Minutes / Seconds portions.

*** Edits ***
- ESBDMSEdits now have a LeadingZeroes Property for adding Leading Zeroes to the Minutes / Seconds portions.

*** Calculators ***
- Improved Keyboard handling in the Programmer's Calculator.
- Programmer's Calculator Engine can now do mixed expressions: Start in Hex enter 15 '+' Change to Dec and enter 10 '=' and get 31 (Dec).

*** Conversions ***
- Added Microradians to Angles.
- Added Nanoradians to Angles.
- Added Kilograms Per Litre to Density.
- Added Grams Per Litre to Density.
- Added Milligrams Per Litre to Density.
- Added Milligrams Per Decilitre to Density.
- Added Plasmatic Glucose (mmol/l) to Density.
- Added Pounds per Gallon (US) to Density.
- Added Pounds per Gallon (US) to Density.
- Added Ounces per Gallon (US) to Density.
- Added Ounces per Gallon (US) to Density.
- Added Cubits (Short) to Distance.
- Added Span to Distance.
- Added Cubic Decimetres to Volume.
- Added Hectolitres to Volume.
- Added Microlitres to Volume.

*** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.

*** Installer ***
- Improved UAC Handling in the ESBPCS Installer.

v5.5.1 1 September 2010

Support added for Delphi XE and C++ Builder XE.
For Delphi XE and above "FormatSettings." has been added wherever Regional Setting Variables were used.

** Routines ***
ESBPCSRegistry: Added Delphi XE and C++ Builder XE support to platform-based routines.

*** Calculators and CalcEdits ***
- TESBCalculator now has a read-only CalcEngine property so that the Calculator Engine can be shared in things like Expression Evaluation Routines.
- <F10> Now exits the pop-up calculator.

*** ComboBoxes ***
- Month Comboboxes do now allow the entry of the Month Number.
- Day of Week Comboboxes do now allow the entry of the DOW Number.

*** Timers ***
- Fixed the problem with the OnSecondsChange Event Property Declaration in Timer Label.
- Fixed a problem with the OnHoursChange Event implementation in Timer Label.
- Fixed values returned by OnSecondsChange, OnMinutesChange and OnHoursChange in Timer Label.

*** Installer ***
- Now supports Delphi XE and C++ Builder XE.
- Now requires Administrator Privilege to run so that Help can be correctly merged.

*** Demos ***
- Minor Improvements to the TimerDemo.

*** Help ***
- Improved Help Installation for Delphi 2010 and C++ Builder 2010.
- Added Help Installation for Delphi XE and C++ Builder XE.

*** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.

ESBPCS v5.5.0 24 August 2010 - this is the release that was included on the Delphi XE Partner DVD.

ESBPCS v5.4.3 3 August 2010

*** Routines ***
- ESBPCSHolidays: Added UnDelHolidayFromList to Undelete a deleted Holiday.

*** Calendars and CalEdits ***
- Added UseHTMLinHints to Calendar Panels for when using 3rd Party Hint Components that display in HTML.
- Added InclWorkInHint to Calendar Panels so that when try Special Day Hints include the Work Status of the day.
- Calendar Panel no longer displays Special Days that have the Deleted flag.
- UseHTMLinHints and InclWorkInHint also added to TESBCalendar.
- Added various SpecialDay Methods to TESBCalendar so that the SpecialDays does not have to be copied out and back to do adjustments.

*** Timers ***
- Timer Label has been completely redesigned.

*** Demos ***
- Improved Timer Label Demo in the Dates Demos.

*** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.

ESBPCS v5.4.2 19 July 2010

*** Globals ***
- Fixed 'Dark Cyan' in Colour Resource Strings.

*** Routines ***
- ESBPCSConvert: Added CleanNumericStr to Strip Thousands Separators and remove leading/trailing white space.
- ESBPCSConvert: Added StripPercent to remove all Percentage Signs.
- ESBPCSConvert: Fixed problem ValidNumeric had with Negatives and redesigned routine.
- ESBPCSConvert: Float To String Conversions now use ValidNumeric where appropriate.
- ESBPCSConvert: Added TrimNonFloatDigits to remove all non-float characters from a string.
- ESBPCSConvert: Added Str2Float2, Str2Double2, Str2Single2 which will strip all non-float characters from the string before attempting conversion.
- ESBPCSConvert: Double To String Conversions now correctly uses ESBDoubleTolerance for determining 0.
- ESBPCSConvert: Single To String Conversions now correctly uses ESBSingleTolerance for determining 0.
- ESBPCSDateTime: Added IsNonWorkingDay Routine.
- ESBPCSDateTime: Added CountNonWorkingDays Routine.
- ESBPCSDateTime: Added DaysApart360 which works similar to MS Excel Days360.
- ESBPCSDateTime: Added YMDHMApart to return Years, Months, Days, Hours, Minutes apart for two Date/Times.
- ESBPCSDateTime: Float2Duration now adds leading zeroes when Duration Separators are being used.
- ESBPCSDateTime: Float2Duration redesigned to better handle rounding errors.
- ESBPCSDateTime: Added ANSIDate2DateTime and DateTime2ANSIDate Routines for handling ANSI COBOL's Integer Date Number.
- ESBPCSFinancials: Added PreviousCouponDate, NextCouponDate, CouponDays, CouponDaysBefore, CouponDaysAfter, CouponNumber which work similar to the MS Excel Function.

*** Edits ***
- Minor Adjustments to TabStop Handling as Control with Tabstop being False and not ReadOnly was being still treated as a TabStop.
- Duration Edits now default to 0 rather than 1 day to be consistent with other numerical edits.
- Fixed a problem in Duration Edits not always handling change of DurationType correctly.

*** Timers ***
- ESBTimerPool now defaults to an update period of 200ms.
- New Component: TESBTimerLabel which is an enhanced ESBPCS Label that uses the ESBPCS Timer Pool and the System Clock to display a Timer in the form of HH:MM:SS.

*** Demos ***
- Added ESBTimerLabel example to ESBControls.

*** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.

ESBPCS v5.4.1 28 June 2010

*** Routines ***
- ESBPCSConvert: Fixed Trim Trailing Zeroes for some Decimal Separators types.
- ESBPCSConvert: Added Int2Roman and Roman2Int for handling Roman Numerals.
- ESBPCSDateTime: ESBTimeEncode now allows Seconds and Milliseconds to be optional.
- ESBPCSDateTime: Added Days2Month28s and Month28s2Days to handle 28-day Months.
- ESBPCSDateTime: MS2TimeStr now correctly uses the Decimal Separtor and the Time Separator from the Regional Settings.
- ESBPCSFinancials: Added AnnualPercentageRate function to compute APR.
- ESBPCSTimeZones: Added SetTimeZoneInfo which uses KeyName to edit or add Time Zone entries in the Registry.

*** Calculators and CalcEdits ***
- Fixed Trim Trailing Zeroes for some Decimal Separators types.

*** Calendars and Calendar Edits ***
- Improved Handling of Dates clicked that are outside current month.
- Added Font and ParentFont properties to Calendar Panels.

*** ComboBoxes ***
- Fixed some minor problems in Time and Duration ComboBoxes.

*** Unit Conversion ***
- Added Inches (US Survey) to Distance.
- Added Milliamp Hours (mAh) to Electric Charge.
- Added Milliamp Seconds (mAs) to Electric Charge.
- Added Cheval Vapeur to Power.

** Documentation ***
- Slowly switching in-source comments to be XMLDoc rather than JavaDoc so that Help Insight in later Delphi releases can use it.
- Delphi 7 WinHelp Files have been fixed, though they are still an older version than the Help 2 and CHM File.

ESBPCS v5.4.0 27 April 2010

*** Globals ***
- Added the 140 HTML Colours (also known as .NET Colours) as Constants.
- Added HrsPerSolarVenusDay, HrsPerSiderealVenusDay, DaysPerVenusYear.

*** Routines ***
- ESBPCSConvert: Fixed ReplaceStr problem with replacement strings that contained the search string.
- ESBPCSDateTime: Added ESBSetSystemDateTime, ESBSetSystemDate, ESBSetSystemTime to set the System Date and/or Time.
- ESBPCSDateTime: Mars Year calculation now based on Sidereal year rather than Tropical year.
- ESBPCSDateTime: Venus Day/Year Calculations added - Days2SiderealVenusDays, SiderealVenusDays2Days, Days2SolarVenusDays, SolarVenusDays2Days, Days2VenusYears and VenusYears2Days.
- ESBPCSExes: Add ExeSkypeCall Routine to use Skype to Call a number or contact.
- ESBPCSExes: Add ExeCallTo Routine to use Call a number or contact.
- ESBPCSExes: Add ExePrefix Routine to execute a string/url with a Prefix being applied.
- ESBPCSFinancials: Improved Interest Handling Routines.
- ESBPCSFinancials: Improved the Excel-like Financial Routines, so routines work more like they do in Excel, so please check any Applications currently using these routines.
- ESBPCSRandom: MRNG no longer enabled by default as with Delphi 2010 (and probably other platforms) MRandSeed(GetTickCount) needs to be called prior to accessing random numbers.

*** Labels ***
- SkypeCall, CallTo and Custom types added to URL Labels.

*** Edits ***
- Added NumericTimeOnly Property to the combined Date/Time Edits.
- Fixed Date/Time Edits Focused Function so that it reports correctly.
- Fixed Complex Edits Focused Function so that it reports correctly.
- Minor adjustments to how Text Property is handled in TESBPCSEdit.

*** SpinEdits ***
- Fixed problem where MinValue > 0 and 0 is entered.
- Integer Spin Edits now have .AsInteger which is the same as .Value for better ESBPCS Consistency.
- Float Spin Edits now have .AsFloat which is the same as .Value for better ESBPCS Consistency.
- New Component: TESBDateSpinEdit supplies a TESBDateEdit with Spin Controls.
- Fixed Focused Function so that it reports correctly.

*** Button Edits ***
- Fixed Focused Function so that it reports correctly.

*** Calendars and Calendar Edits ***
- Fixed Focused Function in Calendar Edits so that it reports correctly.

*** Calculators and CalcEdits ***
- Fixed Focused Function in CalcEdits so that it reports correctly.

*** Vectors and Matrices ***
- Fixed Focused Function in Vector Edits so that it reports correctly.
- Fixed Focused Function in Matrix Edits so that it reports correctly.

*** CheckBoxes & RadioButtons ***
- Improved the handling of Tabstops when ReadOnly is toggled.

*** ComboBoxes ***
- Colour ComboBoxes now have the 140 HTML Colours (can be optionally turned off like the other colour types).
- Fixed some minor problems in Time ComboBoxes.

*** ListBoxes ***
- Minor adjustment to Destroy method so as to enable better functionality in DLLs.

*** Unit Conversions ***
- Changed from using Tropical Mars Years to using Sidereal Mars Years for better comparison with other planets.
- Added Inch (Tenths of) to Distance.
- Added Inch (Sixteenths of) to Distance.
- Added Inch (ThirtySeconds of) to Distance.
- Added Inch (SixtyFourths of) to Distance.
- Added Venus Sidereal Years to Time.
- Added Venus Sidereal Days to Time.
- Added Venus Solar Days to Time.

*** Installer ***
- Now uses new HTML Colours.
- Brazilian Portuguese Strings updated thanks to Carlos Tre.

*** Demos ***
- ESBControls now uses HTML Colours and includes the new Date SpinEdit.
- Base\FontColorDemo updated to show new HTML Colours.
- New Demo: Base\FinExcelDemo shows how to use the Financial Excel-like functions.


ESBPCS v5.3.0 12 January 2010

*** Globals ***
- Added HrsPerSolarMarsDay, HrsPerSiderealMarsDay, DaysPerMarsYear and DaysPerMarsTropicalYear.

*** Routines ***
- ESBPCSDateTime: Mars Day/Year Calculations added - Days2SiderealMarsDays, SiderealMarsDays2Days, Days2SolarMarsDays, SolarMarsDays2Days, Days2MarsYears and MarsYears2Days.

*** All Visual Controls ***
- Right Property added which is equivalent to Left + Width, and when changing only Left (not Width) is affected.
- Bottom Property added which is equivalent to Top + Height, and when changing only Top (not Height) is affected.

*** Edits ***
- TESBPCSEdit and TESBPCSDbEdit have MultiLine Properties (off by default).

*** ComboBoxes ***
- Fixed problem with ComboBox Hilighting when Font was changed.

*** Memos & RichEdits ***
- AutoSelect Property now available.

*** CheckBoxes & RadioButtons ***
- Fixed: TabStops now on by default.

*** Group Controls ***
- Fixed: TabStops now on by default.

*** UICtrls ***
- UICtrls now have a StoreSection Property that allows you to override the Section being used by an associated StoreCtrl.

*** Calculators ***
- TESBCalculator now has a StoreSection Property that allows you to override the Section being used by an associated StoreCtrl.
- Programmer's Calculator now allows for Shifts and Rotates to have specify Number of Bits.
- Programmer's Calculator now allows for customised handling when the Bit Size Changes via the SizeChange Property and OnSizeChangeChange Event.
- Better handling of Group Spacing in Programmer's Calculator.

*** Calendars ***
- When Reading Holiday List from XML File, if the Date is invalid or missing, the Current Date is now used.
- Fixed some problems with Hints in Calendar Panels when Week Numbers were hidden.
- Changed how the Previous Month '<<<' and Next Month '>>>' are handled in Calendar Panels to better handle when NoDisplayWeeks = 5.

*** Unit Conversions ***
- Added Radiation Absorption Conversions.
- New Component: TESBRadAbsorptionConvertor.
- Added Radiation Dose Conversions.
- New Component: TESBRadDoseConvertor.

- Changed Radioactivity Conversion so that 1 Curies = 3.7E+10 Becquerels.

- Added Lines per Square Inch to Magnetic Flux Density.
- Added Maxwells per Square Inch to Magnetic Flux Density.
- Added Webers per Square Centimetre to Magnetic Flux Density.
- Added Webers per Square Metre to Magnetic Flux Density.
- Added Braces to Quantity.
- Added Centuries to Quantity.
- Added Doubles to Quantity.
- Added Half Centuries to Quantity.
- Added Trebles to Quantity.
- Added Triples to Quantity.
- Added Microcuries to Radioactivity.
- Added Rutherfords to Radioactivity.
- Added Mars Tropical Years to Time.
- Added Mars Sidereal Days to Time.
- Added Mars Solar Days to Time.

*** Installer ***
- Improved Unicode Support.
- Changed the SelectDirectory Method being used for Folder Selection.
- Installers now built with Delphi 2010.
- The Setup File is now built with the Unicode version of Inno Setup, so will only install on Windows 2000 and above.

*** Demos ***
- Demo Executables now built with Delphi 2010 so they work better on Computers using Unicode, so will only work on Windows 2000 and above.

*** Utils ***
- Utils now built with Delphi 2010 so they work better on Computers using Unicode, so will only work on Windows 2000 and above.

*** Documentation ***
- Minor Improvements.

ESBPCS v5.2.2 18 September 2009

*** Edits ***
- Fixed a problem in Date Edits where only digits where being allowed.

*** Calendars ***
- SaveSpecialDays Method now creates the SpecialFile if it does not exist.

*** ComboBoxes ***
- Colour ComboBoxes now call the OnChange Event (if assigned) when the ExecuteDialog Method is called and the Colour changes.

ESBPCS v5.2.1 4 September 2009

Note: ESBPCS v5.2.0 was available as a Trial version with the Delphi 2010 Partner DVD.

Added support for Delphi 2010 and C++ Builder 2010.
Improved Unicode Support for Delphi 2009 and C++ Builder 2009.

*** Routines ***
- ESBPCSFileIO: PathExists modified slightly for better Unicode support
- ESBPCSRegistry: Added Delphi 2010 support to routines.

*** Edits ***
- Changed Character Input processing to better handle non-English Unicode from non-English Keyboards.

*** ComboBoxes ***
- Changed Character Input processing to better handle non-English Unicode from non-English Keyboards.
- Country Comboboxes now load ESBCountryList (if it is empty) from the default XML location.

*** ListBoxes ***
- Changed Character Input processing to better handle non-English Unicode from non-English Keyboards.

*** Installation ***
- ESBPCSInstall now supports Delphi 2010 and C++ Builder 2010.
- ESBPCSInstall now only requires Delphi Help Directory write access for Delphi 7 install.
- By Default we are now installing into c:\ESBPCS5 rather than {Program Files}\ESBPCS5 just to make things a bit easier with Vista / UAC. You can of course change this.
- The Help Page now includes a clickable URL label for downloading the HTMLHelp version of the ESBPCS Help.

*** Demos ***
- Fixed default loading in ESBCountryEditor.

*** Documentation ***
- RAD Studio 2010 Help 2 support added.

ESBPCS v5.1.1 28 July 2009

Improved Windows 7 support.

*** Routines ***
- ESBPCSRegistry: Added Win7OrAbove Routine.

*** Edits ***
- Adjusted so that the NoTabStopOnReadOnly Property from an attached UICtrl toggles the tabstop on ReadOnly Controls.

*** Demos ***
- Folders Demo now also shows Windows 7 support.
- Demos.Txt updated.

*** Installation ***
- CHM Registry occurs by default now.

*** Documentation ***
- Minor Improvements.
- for Delphi 7, we've switched back to the older Help File as its format is better, and D7 uses should use the HTMLHelp for more detailed help.

ESBPCS v5.1.0 10 June 2009

Improved Delphi 2009 and C++ Builder 2009 support.

*** Routines ***
- ESBPCSConvert: Added IsDigit for testing Characters.
- ESBPCSConvert: Added IsUpperStr which returns true if string supplied only has Upper Case Letters.
- ESBPCSConvert: Added IsUpperAlphaNumericStr which returns true if string supplied only has Upper Case Letters or Digits.
- ESBPCSConvert: Added ValidNumeric which returns True if the string represents a valid Numeric (Extended Float) and if it is true then it also returns that Value.
- ESBPCSDateTime: For later versions of Delphi, SysUtils.EncodeDate is faster than OptEncodeDateI and OptEncodeDateW, so it is used instead.
- ESBPCSRandom: LogNormal Routine replaced, now based on one by Greg Hood, where the Mean and Standard Deviation of the desired LogNormal Distribution are passed in.
- ESBPCSShellIO: Fixed Delphi 2009 support (wasn't using Unicode calls).

*** Edits ***
- Clear Method added to Complex Edits, Fraction Edits and Date/Time Edits to clear all the Edits.
- Zero Method added to Complex Edits to set the value to (0, 0).
- Unity Method added to Complex Edits to set the value to (1, 0).
- ImaginaryUnit Method added to Complex Edits to set the value to (0, 1).
- Trim Trailing Zeros Property added to Complex Edits.
- FullAccuracyEdit Property added to Complex Edits.
- AutoSelect and AutoSelectClick added to Data Aware Complex Edit.

*** Calculators & CalcEdits ***
- Improved Paper Trail Layout when Operators are on the Same Line.
- Fixed a bug that occurred sometimes with the Squaring Functions.
- Equation Editing Parsing handles scientific notation better.

*** ComboBoxes ***
- Fixed a colouring problem with ReadOnly Toggle.

*** Matices and Vectors ***
- Clear Method added to Matrix Edits to clear all the Edits.

*** Unit Conversion ***
- Added Quantity Conversions.
- Added Magnetic Flux Conversions.
- Added Magnetic Flux Density Conversions.

- Added TESBQuantityConvertor Component.
- Added TESBMagneticFluxConvertor Component.
- Added TESBMagneticFluxDensityConvertor Component.

- Added Smoots to Distance.
- Added Libras (another name for Roman Pounds) to Mass.
- Added Libras (Metric) to Mass.
- Added Kiloseconds to Time.
- Added Megaseconds to Time.
- Added Gigaseconds to Time.
- Added Barrel (US Beer) to Volume.
- Added Barrel (UK Beer) to Volume.
- Added Barrel (UK Wine) to Volume.
- Added Cup (US 12 Oz) to Volume.
- Added Cup (Canada) to Volume.
- Added Cup (UK) to Volume.
- Added Drops (Water) to Volume.
- Added Drops (Thick Fluid) to Volume.
- Added Firkin (Beer) to Volume.
- Added Hogshead (Beer) to Volume.
- Added Keg (US Beer) to Volume.
- Added Keg (US Wine) to Volume.
- Added Keg (UK Beer) to Volume.
- Added Keg (25 Litre) to Volume.
- Added Keg (50 Litre) to Volume.
- Added Kilderkin (Beer) to Volume.

*** Installer ***
- Installer no longer depends on other products, just Delphi and ESBPCS.
- Installer now built in Delphi 2009 to provide Unicode support.
- Installer (and other Executables) are now Digitally Signed under "Crowning Star Holding Pty Ltd Trading as ESB Consultancy".

ESBPCS v5.0.0 - 18 Nov 2008 - Changes since v4.5 was released.

*** Overall ***
- Delphi 2009 and C++ Builder 2009 Support Added
- Deprecated Support for ESBPCS v2 removed.
- Support for Delphi 5, Delphi 6, C++ Builder 5 and C++ Builder 6 removed.

*** IDE Support ***
- Enhanced TColor Property Editor added with the new ESBPCS Colours supported.
- ESBPCS About (when right click on a property) updated and allows the Enhanced TColor Property Editor to be turned off.

*** Globals & Resources ***
- New Unit: ESBPCS_RS_Colors containing the names of the Colours available.
- ESBPCSGlobals2: More Colours added.
- ESBPCSResources: Internal Support for the glyFX Calculator and Calendar glyphs.
- clPaleBlue now the default ReadOnly Colour instead of clSteel.
- clLemon now the default Focus Colour instead of clYellow.
- Improved support for Brazilian Portuguese by Carlos E. Tré.

*** Routines ***
- ESBPCSFinancials - Fixed problem with Excel_RATE.
- ESBPCSRegistry - Relevant Routines updated for Delphi 2009.
- ESBPCSRegistry - Relevant Routines updated for ESBPCS 5.
- ESBPCSStrings - Fixed problem with ConvertDelWords2Strings.

*** Edits ***
- Default Read Only Colour is now Pale Blue rather than Steel.
- TextHint Published for Delphi 2009.
- NumbersOnly Property Published in TESBPCSEdit and TESBPCSDbEdit for Delphi 2009.

*** ComboBoxes ***
- New Unit: ESBPCSListObjects which handles the objects for Colour and Font ComboBoxes.
- New Unit: ESBPCSFontList which handles a Collection of Font Items for Font ComboBoxes.
- New Unit: ESBPCSColorComboBox supplies a ComboBox for selecting Colours.
- New Component: TESBColorComboBox supplies a ComboBox for selecting Colours.
- New Unit: ESBPCSFontComboBox supplies a ComboBox for selecting Fonts.
- New Component: TESBFontComboBox supplies a ComboBox for selecting Fonts.
- TextHint Published for Delphi 2009.

*** Calculators & CalcEdits ***
- CalcEdits now default to the glyFX Calculator Glyph.

*** Calendars & CalEdits ***
- CalEdits now default to the glyFX Calendar Glyph.

*** StoreCtrls ***
- ReadCustomColors and WriteCustomColors added for storage of ESBCustomColors.

*** Installer ***
- Delphi 2009 and C++ Builder 2009 Support Added.
- Deprecated Support for ESBPCS v2 removed.
- Installation of JPMOpen Components removed due to the new ESBPCS Colour and Font ComboBoxes.
- Support for Delphi 5, Delphi 6, C++ Builder 5 and C++ Builder 6 removed.

*** Demos ***
- Removed JPMOpen dependencies and now use ESBPCS Colour and Font ComboBoxes.
- Removed JPMOpen Demos.
- Font/Colour Demo added to Base Demos.

*** Utils ***
- Removed JPMOpen dependencies and now use ESBPCS Colour and Font ComboBoxes.
- Removed JPMOpen Demos.


