v4.4.3 - 25 February 2008 *** Routines *** - ESBPCSConvert: The various Str2xxxxx functions are now more tolerant (ie ignore) of trailing non-numerics. - ESBPCSConvert: The various Hex2xxxxx functions are now more tolerant (ie ignore) of trailing non-numerics. - ESBPCSDateTime: Improvements to Str2Date. - ESBPCSFinance: Excel_Rate now handles negative rates. *** Date/Time Lists *** - New Class & Unit: ESBPCSDateLists adds Class TESBDateList which provides a List of TDateTimes. *** Calculators & CalcEdits *** - Fixed a problem with Prefix functions following an Equals. - More improvements to the Programmer's Calculator Engine. *** Calendars & CalEdits *** - Calendar Panels now allow for multiple dates to be selected, and use a chosen colour and an associated DateList. - Calendar Panels now allow for unavailable dates (ie cannot be selected) that use a chosen colour and an associated DateList. *** Conversions *** - Improved calculations of Nautical Miles and Knots - Added Pounds Per Square Yard to Pressure. - Added Ounces Per Square Yard to Pressure. - Added Ounces Per Square Foot to Pressure. *** Installer *** - Improved support for Delphi 2007 / C++ Builder 2007 - Fixed bug with Registry Entries for Delphi 2005 and Delphi 2006 *** Demos *** - New Demo showing Date Lists. - Various minor improvements. *** Language Support *** - Carlos Tré updated Brazilian Portuguese Strings. v4.4.2 - 13 September 2007 Support for CodeGear RAD Studio 2007 added. *** Globals *** - ESBPCSGlobals: Added Golden Ratio (or Phi) Constant. *** Routines *** - ESBPCSConvert: Added GroupSpacing to return a string with characters grouped in specified size, from right to left. - ESBPCSConvert: Added RemoveGroupSpacing to return a string without grouped spacing. - ESBPCSDateTime: Added TimeApartStr that returns the time apart between two dates as W days X hours Y minutes Z seconds using the values from ESBPCS_RS_Globals. - ESBPCSGeometry: Added Circumference of SemiCircle. - ESBPCSGeometry: Added Area of SemiCircle. - ESBPCSGeometry: Added Radius of Circle from Circumference. - ESBPCSGeometry: Added Radius of Circle from Area. - ESBPCSGeometry: Added Radius of SemiCircle from Circumference. - ESBPCSGeometry: Added Radius of SemiCircle from Area. - ESBPCSGeometry: Added Volume of HemiSphere - ESBPCSGeometry: Added Surface Area of HemiSphere - ESBPCSGeometry: Added Radius of Sphere from Surface Area. - ESBPCSGeometry: Added Radius of Sphere from Volume. - ESBPCSGeometry: Added Radius of HemiSphere from Surface Area. - ESBPCSGeometry: Added Radius of HemiSphere from Volume. - ESBPCSMaths: Added CubeRoot. *** Calculators & CalcEdits *** - Added InputGoldenRatio to Calculator Engine. - Added Spacing Option and Control to the Programmer's Calculator Engine. - Fixed some problems with SHR in the the Programmer's Calculator Engine. - NOT now works as a Prefix Operator by default in the the Programmer's Calculator Engine. - Improved Precedence Handling in the Programmer's Calculator Engine. - General improvements to the Programmer's Calculator Engine. *** Button Edits *** - Now have an option for the Button to be on the Left. - New Unit/Component: ESBPCSBtnNumEdit with TESBBtnIntEdit, an Integer-based Button Edit. - New Unit/Component: ESBPCSDbBtnNumEdit with TESBDbBtnUntEdit, a Data Aware Integer-based Button Edit. *** Edits *** - FractEdits now have AllowNegInput Property. *** Masked Edit *** - Fixed problem where Focus Color was lost when using Context Menu. *** Memos *** - Fixed problem where Focus Color was lost when using Context Menu. *** RichEdit *** - Fixed problem where Focus Color was lost when using Context Menu. *** DateRange Control *** - Fixed a problem when assigning Date/Times. - Added AsPartsStr Method that returns the difference as W days X hours Y minutes Z seconds using the values from ESBPCS_RS_Globals. *** Conversions *** - Improved calculations of Nautical Miles and Knots. - Added Wah (Thai) to Area. - Added Ngan (Thai) to Area. - Added Rai (Thai) to Area. - Added Newton Centimetres to Torque. *** Installer *** - Improved Directory Handling. - Improved IDE Installation for Delphi 2007 (and C++ Builder 2007) - Support for CRS2007 Win32 Personalities. v4.4.1 15 June 2007 Added support for CodeGear C++ Builder 2007 *** Routines *** - ESBPCSDateTime: Improved accuracy of TimeApart Routine. - ESBPCSRegistry: Added Support for C++ Builder 2007. - ESBPCSRegistry: Fixed problem where IDE presence was mistaken. - ESBPCSShellIO: Additions to ExpandPath to support All Users Application Data Directory, All Users Document Directory, All Users Pictures Directory and All Users Music Directory. - ESBPCSStatistics: Added Geometric Standard Deviation. - ESBPCSStrings: Changes so that handling works when the Separator is a Tab (ie #9). *** Edits *** - Fixed problem in Currency Edits when using Custom Currency Strings. - Fixed problem where Focus Color was lost when using Context Menu. - Added AfterContextMenu Event. *** Calculators & CalcEdits *** - Removed Test Dialog from Calculator that had been left in by mistake. *** DateRange Control *** - Added a TESBTimeParts Class that allows access to the different components of the difference, such as days, minutes, etc. *** Installer *** - Minor UI Improvements. - Now uses XPMan where appropriate instead of separate Manifest File. - Now uses HMTL Help with the assist of EC Software Help Suite. - Added partial support for Swedish and Finnish Languages thanks to Pentti Pohjonen - Support for C++ Builder 2007. - Now built with Delphi 2007. *** Demos *** - Minor UI Improvements. - Improved Vista Support when built with Delphi 2007. - Executibles built with Delphi 2007.. *** Utils *** - Minor UI Improvements. - Now uses XPMan where appropriate instead of separate Manifest File. - Improved Vista Support when built with Delphi 2007. - Executibles built with Delphi 2007. *** Documentation *** - Minor improvements in the Help. - Minor Improvements in the Electronic Documentation - Minor Improvements in the PDF Documentation v4.4 19 March 2007 Added support for CodeGear Delphi 2007 for Win32 *** Routines *** - ESBPCSConvert: Improved handling of Low (LongInt) and Low (Int64) when converting to strings. - ESBPCSConvert: Removed Initialization section - case conversion routines now initialise arrays the first time they are used. - ESBPCSFinancials: Added StripCurrencyStr which removes all instances of the Currency String from the supplied string. - ESBPCSRegistry: Added WinVistaOrBetter for detecting if Windows Vista is Running. - ESBPCSRegistry: WinXPOrBetter and WinXPThemes routines now correctly detect if Windows Vista is Running. - ESBPCSRegistry: Added Support for Delphi 2007. - ESBPCSShellIO: Added GetAllDocumentsDir, GetAllMusicDir, GetAllPicturesDir and GetAllAppDataDir. - ESBPCSStatistics: Geometric Mean is now computed using Logarithms. *** Edits *** - Fixed a problem of Sign Toggling not disabling properly. - Many of the Edits have a Runtime Property, AllowAllChars, which is primarily there to allow us to add Expression evaluation in Calculator Edits and other compound controls. - Float Edits now have an OnConvert Property which allows the user to convert the string displayed into a value, this is primarily used in compound edits to allow for Expression Evaluation. - SciFloat Edits now have an OnConvert Property which allows the user to convert the string displayed into a value, this is primarily used in compound edits to allow for Expression Evaluation. - Currency Edits now have an OnConvert Property which allows the user to convert the string displayed into a value, this is primarily used in compound edits to allow for Expression Evaluation. *** ComboBoxes *** - AutoCloseUp Property now published for Delphi 7 and above. - AutoCompleteDelay Property now published for Delphi 2005 and above. *** Calculators & CalcEdits *** - CalcEdits now have an AllowExpressions Property which allow expressions to be entered directly into the Edit Field. - Currency CalcEdits now have an AllowExpressions Property which allow expressions to be entered directly into the Edit Field. - SciCalcEdits now have an AllowExpressions Property which allow expressions to be entered directly into the Edit Field. - BinaryPercent Property added which can now be turned off so that 5 + 10% = 5.5 rather than 5 + 5%10 (which was the default behaviour). - % handling added to Expression Evaluation. - Expression Evaluator Component now allows Prefix Functions to be enabled. - Expression Evaluator Component now handles % operator and allows Binary Percent to be enabled. *** Matrices and Vectors *** - Added Functions to return the number of Columns of a Matrix. - Added Functions to return the number of Rows of a Matrix. - Added Functions to return the Sum of a specified Column of a Matrix. - Added Functions to return the Sum of a specified Row of a Matrix. - Vector Edits now have an OnConvert Property which allows the user to convert the string displayed into a value. - Matrix Edits now have an OnConvert Property which allows the user to convert the string displayed into a value. *** ListBoxes *** - AutoCompleteDelay Property now published for Delphi 2005 and above. *** Conversions *** - New Component: TESBVisDynConvertor: Dynamic Viscosity Conversion Component. - New Component: TESBVisKinConvertor: Kinematic Viscosity Conversion Component. - Added Kinematic Viscosity Conversions. - Added Dynamic Viscosity Conversions. - Added Kinematic Viscosity Conversions. - Added Barleycorn to Distance. - Added Paris point to Distance - Added Zolotnik to Mass. - Added Funt to Mass. - Added Pood to Mass. - Added Berkovets to Mass. - Added Lot (Russians) to Mass. - Added Dolya to Mass. *** Demos *** - Folder Demos updated. - Minor bug fixing. *** Installer *** - Removed ESBPCS Turbo Installer for Turbo Delphi Pro for Win32 and Turbo C++ Pro for Win32, since DCC32 is available to registered users. - Added Support for Delphi 2007. - Minor bug fixing. *** Documentation *** - Minor Improvements in the Electronic Documentation - Minor Improvements in the PDF Documentation v4.3.1 7-September-2006 Added support for Turbo Delphi Pro for Win32 and Turbo C++ Pro for Win32. *** Routines *** - ESBPCSConvert: Added AddThousandsSeparators which take a string representing a numerical value and returns one with Thousands Separators added. - ESBPCSDates: Added Minutes2HHMM which takes a value in Minutes and returns it as a string in 'HH:MM' format. - ESBPCSDates: Added Seconds2HHMMSS which takes a value in Seconds and returns it as a string in 'HH:MM:SS' format. - ESBPCSStatistics: GetDeciles changed to a Procedure to make BCB2006 happy. *** Edits *** - FloatEdits now have AllowInputNeg that when turned off don't allow the negative sign to be entered. - IntEdits now have AllowInputNeg that when turned off don't allow the negative sign to be entered. - PercentEdits now have AllowInputNeg that when turned off don't allow the negative sign to be entered. *** SpinEdits *** - Added OnAfterUpClick and OnAfterDownClick Events, which are called after the Up/Down buttons are processed. *** Calculators & CalcEdits *** - Calculator Display now shows Thousands Separators as you type if they are enabled. - CalcEdits now have AllowInputNeg that when turned off don't allow the negative sign to be entered. - ESBPCSExpressions: Added overloaded EvaluateStr that returns a error message if an Error Occurred. - ESBPCSExprEvaluator: Added an OnError Event and a GetLastError Function. *** Demos *** - Minor bug fixing. *** Installer *** - Added ESBPCS Turbo Installer for Turbo Delphi Pro for Win32 and Turbo C++ Pro for Win32. - Fixed some bugs in the linking to the supplied help file for ESBPCS Installer. v4.3 22-June-2006 Note: Library has been updated to use the new ESB Upper/Lower Case routines, and the new FloatIsNotZero and NotSame Routines. *** Routines *** - ESBPCSConvert: Added LowCase to convert a Character to Lower Case - only effects 'A' to 'Z' characters. - ESBPCSConvert: Added AnsiLowCase to convert a Character to Lower Case including Upper ANSI Characters. - ESBPCSConvert: Added ESBUpperCase - a faster UpperCase function. - ESBPCSConvert: Added ESBLowerCase - a faster LowerCase function. - ESBPCSConvert: Added ESBAnsiUpperCase - a faster AnsiUpperCase function. - ESBPCSConvert: Added ESBAnsiLowerCase - a faster AnsiLowerCase function. - ESBPCSConvert: Added Procedural versions of above. - ESBPCSConvert: Added StripNegativity - removes '-' or Brackets from a string. - ESBPCSConvert: Str2Float, Str2Double & Str2Single support brackets for Negatives. - ESBPCSConvert: Str2FloatDef, Str2DoubleDef & Str2SingleDef support brackets for Negatives. - ESBPCSDateTime: Added NotSameDate, NotSameTime and NotSameDateTime. - ESBPCSFractions: Added NotSameFraction - ESBPCSMath: Added GaussHypergeometric Function (or 2F1). - ESBPCSMath: Added NotSameFloat, NotSameDouble and NotSameSingle. - ESBPCSMath: Added FloatIsNotZero, DoubleIsNotZero and SingleIsNotZero *** UICtrls *** - Attached FloatEdits, CalcEdits and FloatSpinEdits can have NegAsBrackets Property controlled from a UICtrl, that when True will allow Brackets to be entered and displayed for Negative Values. *** Edits *** - FloatEdits now have NegAsBrackets Property, that when True will allow Brackets to be entered and displayed for Negative Values. *** BtnEdits *** - Added OnCNKeyDown Event. *** Calculators & CalcEdits *** - Added the option to put operators on the same line as the operand following it in the History List. - Added OnCNKeyDown Event to CalcEdits. - CalcEdits now have NegAsBrackets Property, that when True will allow Brackets to be entered and displayed for Negative Values. *** Calendars & CalEdits *** - Added OnCNKeyDown Event to CalEdits. *** SpinEdits *** - Added OnCNKeyDown Event. - FloatSpinEdits now have NegAsBrackets Property, that when True will allow Brackets to be entered and displayed for Negative Values. *** Comboboxes *** - Clear Method in TESBLookUpComboBox now properly clears Values as well as Items. - New Unit and Component: ESBPCSStateComboBox - supplies a ComboBox that displays a list of States and Territories for the selected Country. *** ListBoxes *** - Added HasScrollBar Method which returns True if the ListBox has a Vertical ScrollBar. - Added ScrollBarWidth Method which returns the Vertical ScrollBar Width (0 if no ScrollBar); - Added HasHScrollBar Method which returns True if the ListBox has a Horizontal ScrollBar. - Added HScrollBarWidth Method which returns the Horizontal ScrollBar Width (0 if no ScrollBar); *** Conversions *** - Added Angular Acceleration Conversion Component. - Added Ping to Area. - Added Pyong to Area. - Added Sections to Area. - Added Square Perches to Area. - Added Square Poles to Area. - Added Townships to Area. - Added Cubit (Common) to Distance. - Added Cubit (Greek) to Distance. - Added Cubit (Roman) to Distance. - Added Geographical Mile to Distance. - Added Nautical Mile (Telegraph) to Distance. - Added Pole to Distance. - Added Perch to Distance. - Added Shackles (12.5 Fathoms) to Distance. - Added Shackles (15 Fathoms) to Distance. - Added BTU's (IT) Per Second, Per Minute and Per Hour to Power. - Added BTU's (Therm0-Chemical) Per Second, Per Minute and Per Hour to Power. - Added BTU's (Mean) Per Second, Per Minute and Per Hour to Power. - Added BTU's (39 F) Per Second, Per Minute and Per Hour to Power. - Added BTU's (59 F) Per Second, Per Minute and Per Hour to Power. - Added BTU's (60 F) Per Second, Per Minute and Per Hour to Power. - Added Refrigeration Tons to Power. - Added Acetabula to Volume. - Added Amphorae (Roman) to Volume. - Added Board Foot to Volume. - Added Congii (Roman) to Volume. - Added Congii (UK) to Volume. - Added Heminae to Volume. - Added Ligulae to Volume. - Added Modii to Volume. - Added Sextarii to Volume. - Added Super Foot to Volume. - Added Urnae to Volume. *** Demos *** - Added StateComboBox to the ESBControls Demo *** Unit Testing *** - Added more Tests. *** Installer *** - Minor Improvements. *** Documentation *** - Minor Improvements in the Electronic Documentation - Minor Improvements in the PDF Documentation v4.2.3 29-Mar-2006 *** Globals *** - Added ESBDoubleTolerance and ESBSingleTolerance to better handle Single and Double processing. *** Routines *** - ESBPCSDateTime: Added TimeApart that supplies how many Days, Hours, Minutes and Seconds apart to TDateTime values are. - ESBPCSMath: Added SameDouble and SameSingle since the overloaded versions of SameFloat not always called properly. - ESBPCSMath: Added SameDoubleDP and SameSingleDP since the overloaded versions of SameFloat not always called properly. - ESBPCSMath: Added CompareDouble and CompareSingle since the overloaded versions of CompareFloat not always called properly. - ESBPCSMath: Added GreaterDouble and GreaterSingle since the overloaded versions of GreaterFloat not always called properly. - ESBPCSMath: Added LesserDouble and LesserSingle since the overloaded versions of LesserFloat not always called properly. - ESBPCSMath: Added DoubleIsZero, DoubleIsPositive and DoubleIsNegative that use the new ESBDoubleTolerance. - ESBPCSMath: Added SingleIsZero, SingleIsPositive and SingleIsNegative that use the new ESBSingleTolerance. *** Edits *** - Fixed OnMouseUp in Compound Edits. - Added AutoSelectClick Property which causes AutoSelection on the first Mouse click in the control. - Made the AutoSelect Property of the Edit available in Compound Edits. - Made the AutoSelectClick Property of the Edit available in Compound Edits. *** BtnEdits *** - Fixed OnMouseUp in BtnEdits. - Made the AutoSelect Property of the Edit available in BtnEdits. - Made the AutoSelectClick Property of the Edit available in BtnEdits. *** Calculators & CalcEdits *** - Fixed OnMouseUp in CalcEdits. - Made the AutoSelect Property of the Edit available in CalcEdits. - Made the AutoSelectClick Property of the Edit available in CalcEdits. - Fixed problem in the Calculator Engine where erroneous equations were not handled properly. - Redesigned screen display of Calculators to better handle 150% and 200% Font Sizes. - Added ReadOnlyDecimalPlaces Property to Calculators so that the Decimal Places displayed can be fixed. - Added ReturnDecimalPlaces Proeprty to Calculators so that the Decimal Places set in the Popup Calculator will be returned to the associated CalcEdit. *** Calendars & CalEdits *** - Fixed OnMouseUp in CalEdits. - Made the AutoSelect Property of the Edit available in CalEdits. - Made the AutoSelectClick Property of the Edit available in CalEdits. *** SpinEdits *** - Fixed OnMouseUp in SpinEdits. - Made the AutoSelect Property of the Edit available in SpinEdits. - Made the AutoSelectClick Property of the Edit available in SpinEdits. *** Vectors and Matrices *** - Fixed OnMouseUp in VectorEdits. - Made the AutoSelect Property of the Edit available in VectorEdits. - Made the AutoSelectClick Property of the Edit available in VectorEdits. - Fixed OnMouseUp in MatrixEdits. - Made the AutoSelect Property of the Edit available in MatrixEdits. - Made the AutoSelectClick Property of the Edit available in MatrixEdits. *** Installer *** - Minor Improvements for BDS2006. *** Documentation *** - Minor Improvements in the Electronic Documentation - Minor Improvements in the PDF Documentation v4.2.2 14-Feb-06 Added Object Inspector Categories for Delphi 7 and above. *** Routines *** - ESBPCSDateTime: Improved Float2Duration handling of ESBBlankWhenZero. - ESBPCSPositions: Improved Float2DMSStr handling of ESBBlankWhenZero. - ESBPCSStatistics: Added Overloaded Routines for Skew that allow you to omit Mean and Standard Deviation. - ESBPCSStatistics: Added Overloaded Routines for Kurtosis that allow you to omit Mean and Standard Deviation. *** Edits *** - Fixed bug in Less Than Comparisons in Float Edits. - Fixed problem where comparisons showed in Float Edits when 0 and BlankWhenZero set. - Fixed problem where DMSEdits displayed when 0 and BlankWhenZero set. *** Calculators & CalcEdits *** - Added option to turn off Precedence if you would prefer 5 + 2 * 3 to be 21 rather than 11. *** Unit Conversions *** - Added Millimetres per Second squared to Acceleration. - Added Millimetres per Second to Velocity. - Added Millimetres per Minute to Velocity. - Added Millimetres per Hour to Velocity. *** Matrix & Vectors *** - Added OnChangeTextEvent that supplies more info than the OnChange Event. *** Installer *** - ESBPCS v2 Compatibility now is off by default, so any really old forms that use ESBPCS may need to be reopened in the IDE, or turn this flag back on. - Improved BDS2006 handling. - Added Spanish Support supplied by Germán A.Gonzáles *** Language Support *** - Added Spanish Strings supplied by Germán A.Gonzáles v4.2.1 3-Jan-2006 Improved support for Delphi 2006/Win32 and added support for C++ Builder 2006. *** Routines *** - ESBPCSFinancials: Fixed Currency2ESBLongCurrency. - ESBPCSRegistry: Added routines for C++ Builder 2006. *** Edits *** - Fixed problem where ZeroPad would override BlankWhenZero. - Fixed problem where PercentEdits would show "%" when 0 and BlankWhenZero set. *** Installer *** - Added optional C++ Builder 2006 installation. v4.2 1-Dec-2005 Added support for Delphi 2006/Win32 *** Routines *** - ESBPCSConvert: Fixed problem with 2CEStr routines when ESBNumPosSign was true. - ESBPCSConvert: Fixed problem with Hex2Int handling of strings starting with '0x'. - ESBPCSRandom: Added Normally Distributed Random Numbers where Mean and Standard Deviation are supplied. - ESBPCSRandom: Added LogNormal Distributed Random Numbers. - ESBPCSRegistry: Added support for Delphi 2006/Win32. - ESBPCSStatistics: Hypergeometric Distribution routines added. - ESBPCSStatistics: Added a new Standardise overload where the original Mean and Standard Deviation are calculated. - ESBPCSStatistics: Some minor code and layout improvements. *** Edits *** - Fixed problem with SetSelStart in DateTimeEdits, ComplexEdits and FractionEdits. - More improvements to AutoAdvance handling. - Added AutoAdvDecimals to Float Edits that allows Auto Advancing when the required number of decimal places has been entered. *** BtnEdits *** - Fixed problem with SetSelStart in BtnEdits *** Calculators & CalcEdits *** - Fixed problem with SetSelStart in CalcEdit - 'X' can be used for multiplication as well as '*' - Calculator Form now has a Method for allowing Stay On Top. *** Calendars & CalEdits *** - Fixed problem with SetSelStart in CalEdits *** SpinEdits *** - Fixed problem with SetSelStart in SpinEdits *** Statistical Components *** - New Component: TESBDbStandardise that performs Standardisation to a given mean and standard deviation on a specified field of a data source. *** Conversions *** - New Component: ESBDataRateConvertor which handles Data Rate Conversions - Added ppm to Density. - Added Pieds de roi under Distance. - Added Pouces under Distance. - Added Cubic Millimetres Per Second under Flow. - Added Cubic Millimetres Per Minute under Flow. - Added Cubic Millimetres Per Hour under Flow. - Added Taels (Chinese) under Mass. - Added Taels (Japanese) under Mass. - Added Tolas under Mass. - Added Pferdestärke (German) to Power. - Added Cubic Millimetres under Volume. *** Demos *** - Hypergeometrix Demo added to show Hypergeometric Distribution calculations *** Docs *** - Updates to the Overview Document. *** DUnit *** - Updates to DUnit Routines, now primarily tested with Delphi 7. v4.1.1 6-Sep-2005 *** Routines *** - ESBPCSConvert: Due to problems of overloaded routines sometime calling the wrong "float" routine, all the Float2xxx routines are now have Double2xxx and Single2xxx versions rather than overloads. *** Edits *** - Some improvements to AutoAdvance Handling. - More Improvements to the Data Aware Handling in TDBDateTimeEdit. - DMSEdits new property: DecimalPlacesFloat which controls the number of decimal places displayed when in ddFloat or ddD Mode. - FullAccuracy property added to DMSEdits. - Fixed FullAccuracy property in PercentEdits. - Improved FullAccuracy handling when ZeroPadding is used. - Added FullAccuracyEdit Property to Edits that had the FullAccuracy Property so that when the control receives focus and is not ReadOnly and has FullAccuracy and FullAccuracyEdit set, then the "full accuracy" value is displayed less any trailing zeros. - Comparison Types and display have been added to Data Aware FloatEdits though the Comparison Type setting is not stored in the database, this would need to be handled programmatically. - New Unit & Component: ESBPCSDbDMSEdit supplied TESBDbDMSEdit, a data aware Degree/Minute/Second Edit Control. *** Calculators & CalcEdits *** - Fixed bug in Expression Edits. - Added FullAccuracyEdit Property to CalcEdits and SciCalcEdits so that when the control receives focus and is not ReadOnly and has FullAccuracy and FullAccuracyEdit set, then the "full accuracy" value is displayed less any trailing zeros. *** Calendars & CalEdits *** - Added NextDay & PrevDay methods to Calendar Panel. - Added NextWeek & PrevWeek methods to Calendar Panel. - Arrow keys now work in Calendar Panel when it has the focus. - Calendar Panel now receives focus when it is clicked. - Calendar Panel has new property ColorFrameFocused that allows you to set the color of the Frame when CalPanel receives focus. - Popup Calendar now allows Arrow Keys to move around the Calendar Panel when it has focused. - Popup Calendar now has the Calendar Panel Frame change color when it has focused. - Popup Calendar now has the Calendar Panel as the Active Control. *** ComboBoxes *** - DOW, Month and TZ ComboBoxes changed style to DropDown so that Font Changes correctly reflected. - EMU ComboBox changed style to DropDown so that Font Changes correctly reflected. - Country ComboBox changed style to DropDown so that Font Changes correctly reflected. - Style Property now displayed in all custom-filled ESBPCS Comboboxes. *** Docs *** - Updates to the Overview Document and FAQ. - Now using Help&Manual v4. v4.1 5-Aug-2005 *** Routines *** - ESBPCSDateTime: Clarified calculation of Working Days. - ESBPCSDateTime: Added Sidereal Month Conversions. - ESBPCSHolidays: Clarified calculation of Working Days. - ESBPCSMath: DMS2Deg now better handles negative value input. - ESBPCSPositions: HMS2Deg now better handles negative value input. - ESBPCSPositions: HMS2Hours now better handles negative value input. - ESBPCSPositions: DMSStr2Float converts a string with Degree/Minute/Second symbols into a Float. - ESBPCSPositions: Float2DMSStr convers a Float into a string with Degree/Minute/Second symbols. - ESBPCSStatistics: Added GetQuadraticCurve to compute the Quadratic Curve through the points represented by two vectors. - New Unit: ESBPCSPairStats - Pairwise (as in 2 vectors) Statistics such as Linear Regression, Coefficient of Correlation. - Linear Regression Routines moved from ESBPCSStats to ESBPCSPairStats. - ESBPCSFractions is now in the Base Package, so ESBPCS-Dates and ESBPCS-Stats owners now get Fraction routines. - ESBPCSFinancials: Added Double Declining Balance Depreciation similar to that supplied in MS Excel. *** Edits *** - Fixed problem with PosEdit storing the LongWord Property which caused problems with negatives. - Fixed problem with FullAccuracy returns when TrimTrailingZeros is activated. - ESBPCSFractionEdit is now in the Base Package, so ESBPCS-Dates and ESBPCS-Stats owners now get TESBFractEdit and TESBFractionEdit. - Fixed storing of Suffix changes in Duration Edits. - New Unit/Component: ESBPCSDMSEdit supplies Edit Controls that allow entry and display in DMS format. - Fixed problem with FullAccuracy when SciRange enabled in SciFloat Edit. - Added optional Thousand Separators to Data Aware version of SciFloat Edit. - Added AutoAdvance to all Edits. - Removed Grids dependancy that has accidentally been left in from some earlier testing. - Improved the removal of ESBPCS 2 properties in Data Aware Edits. - Some redesign on TESBDBDateTimeEdit to improve Data Aware handling. *** Button Edits *** - Added AutoAdvance. *** SpinEdits *** - Added TrimTrailingZeroes to Float SpinEdits. *** Calculators & CalcEdits *** - Fixed a Memory Recall Bug. - Fixed a History problem when reporting Inv and Hyp of Functions. - Added AutoAdvance to CalcEdits. *** Calendars & CalEdits *** - Added MaxLength to CalEdits. - Added AutoAdvance to CalEdits. *** Expressions *** - Added Memory capability to Expressions as well as support for MC, MAdd, MSub, MR functions. - Equals can now be used in Expressions. *** Matrix & Vectors *** - New Unit/Component: ESBPCSMatrixFractEdit supplies a Matrix based on FractEdits, thus allowing Fractions to be displayed in a Matrix. - Improved FullAccuracy Handling in Matrix Edits and Vector Edits. - TrimTrailingZeroes Property added to Matrix Edits and Vector Edits. *** Data Aware Stats *** - Fixed Coefficient of Correlation property in ESBPCSDbLinReg. *** Unit Conversion *** - Improved Joule to Foot-Pound conversion. - Improved Joule to BTU (IT) conversion. - Improved Joule to Calorie (15 C) conversion. - Improved Joule to Electron Volt conversion. - Improved Joule to Thermie conversion. - Improved Horsepower to Watts conversion. - Improved value of Sidereal Day. - Added British Thermal Units (39 F) under Energy. - Added British Thermal Units (59 F) under Energy. - Added British Thermal Units (60 F) under Energy. - Added Therms (39 F) under Energy. - Added Therms (59 F) under Energy. - Added Therms (60 F) under Energy. - Added Watt Years under Energy. - Added Atomic Unit of Force under Force. - Added Crinals under Force. - Added Kiloponds under Force. - Added Kilopounds Force under Force. - Added Kips Force under Force. - Added Kilopounds under Mass. - Added Kips under Mass. - Added Hectopascals under Pressure. - Added Sidereal Months under Time. - Added Decades (3600 Days) under Time. - Added Decades (3650 Days) under Time. - Added Decades (Julian) under Time. - Added Decades (Gregorian) under Time. - Added Decades (Tropical) under Time. - Added Centuries (36000 Days) under Time. - Added Centuries (36500 Days) under Time. - Added Centuries (Julian) under Time. - Added Centuries (Gregorian) under Time. - Added Centuries (Tropical) under Time. *** Demos *** - Matrix Demo updated to show new Fraction MatrixEdit. - Astronomy Demo updated to use new DMSEdits. *** Docs *** - Updates to the Overview Document. - Now using Help&Manual v4 (Beta). v4.0.1 1-Feb-2005 *** Routines *** - ESBPCSConvert: ExtractValue changed to perform as described. - ESBPCSConvert: ExtractValueOfs added to perform like ExtractValue used to. *** Button Edits *** - Changed Button Click so that focus is returned to control only if it can be. *** Edits *** - FractionEdits when disabled now show the separating line in the Disabled Colour. - Compound Edits no longer force focus to the first edit when they are entered, so now the focus should go to the edit you clicked on. *** ListBoxes *** - Fixed problem with ListBoxes not being updated when UICtrl changes. *** Matrices & Vectors *** - Edits no longer force focus to the first edit when they are entered, so now the focus should go to the edit you clicked on. *** Conversions *** - UK Dry Pint Accuracy improved to match UK Pint. - Square Chains added to Area. - Square Links added to Area. - Square Rods added to Area. - Square Furlongs added to Area. - Roodss added to Area. - Octets added to Computer Storage. - Chains (Engineering) added to Distance. - Links (Engineering) added to Distance. - Barrels of Liquid added to Volume. - Barrels of Beer added to Volume. - Barrels of Dry Goods added to Volume. - Tablespoons (Metric Australian) replaces Tablespoons (Metric) in Volume - Tablespoons (Metric Other) added to Volume. - Gills (UK) added to Volume. - Gills (US) added to Volume. *** Demos *** - New ESBControls Demo *** Docs *** - v2.7 of the Calendar FAQ Text Document added. What's New in v4.0.0 16 Dec 2004 - Changes since v3.0.5 was released. *** Overall ** - Complete redesign of unit packaging making way for ESBPCS-Calcs, ESBPCS-Dates & ESBPCS-Stats subsets. - Improvements in the packages for Borland C++ Builder 5 and 6. - Support for Borland (CodeGear) Delphi 2005/Win32 added. - Changed the DesignTime Property Editors for ESBCurrency and ESBLongCurrency to force the display of 2 and 4 decimal places respectively. Will try and make this control dependent in a later release. - ESBPCSGlobalSettings unit is no longer included. *** Routines *** - ESBPCSComplex: Fixed problem with DotProduct. - ESBPCSComplex: Polar Conversions now use Abs(Absolute). - ESBPCSComplex: Calculation of the Amplitude (Argument) now correctly returns between 0 and 2PI. - ESBPCSComplex: Changed Abs(Absolute) computation to now use AbsXY from ESBPCSMath. - ESBPCSComplex: Fixed problems and made improvements to SolveQuadratic. - ESBPCSConvert: Added BaseStr2Int and Int2BaseStr conversion routines for converting from a string in a given base to/from an Int64. - ESBPCSConvert: Added Hex2Bin and Bin2Hex to allow conversion between Hexadecimal and Binary Strings. - ESBPCSConvert: Added Oct2Bin and Oct2Hex to allow conversion between Octal and Binary Strings. - ESBPCSConvert: Added Hex2Oct and Oct2Hex to allow conversion between Hexadecimal and Octal Strings. - ESBPCSConvert: Added routines to convert from Hex into other Integer Types. - ESBPCSConvert: Hex Conversions now support having strings that begin with '0x'. - ESBPCSConvert: Added Optional Lakh Formatting to the Integer conversions to strings with thousands separators. - ESBPCSConvert: Added Optional Lakh Formatting to the Float conversions to strings with thousands separators. - ESBPCSDateTime: Added YMDApart that displays the number of Years, Months and Days that two Dates are apart. - ESBPCSDateTime: Duration2Float Routine Added. - ESBPCSDateTime: Float2Duration Routine Added. - ESBPCSDateTime: Added YMDApartStr that displays the number of Years, Months and Days that two Dates are apart as a string. - ESBPCSDateTime: Added CalendarYearsApart. - ESBPCSDateTime: Added SubtractCalendarMonths. - ESBPCSDateTime: Added AddCalendarYears and SubtractCalendarYears. - ESBPCSDateTime: Added AddYears and SubtractYears. - ESBPCSFileIO: NDRVersion routines that routines the NDR version for a NDR File produced by Nevrona RAVE. - ESBPCSFileIO: Added AudioMinutes2Bytes and Bytes2AudioMinutes. - ESBPCSFinancials: SwapXY routines for Currency types moved here from ESBPCSSystem due to overload problem in BCB. - ESBPCSFinancials: IFF routines for Currency types moved here from ESBPCSSystem due to overload problem in BCB. - ESBPCSFractions: Fixed problem with negatives when converting Mixed Fractions to Strings. - ESBPCSFractions: Fixed bug in SameFraction Routine. - ESBPCSFractions: SameFraction Routine now allows you to choose via the Identical parameter whether the compared Fractions are Reduced. - ESBPCSMath: Added Inverse IncompleteBeta Routine. - ESBPCSMath: Added RoundUp function that works like RoundUp in MS-Excel. - ESBPCSMath: Added AbsXY to compute the square root of the sum of the squares. - ESBPCSMath: Changed ESBDistance to use AbsXY. - ESBPCSPhysics: Fixed problems with Exceptions. - ESBPCSRandom: Fixed problem in Random_T. - ESBPCSRandom: Fixed a bug with Random_Binomial2(n, pp) calls itself again rather than calling Random_Binomial2(n, pp, DelphiRandom). - ESBPCSRandom: Implemented a Switching of the Default Random Number Generator to use conditional compilation as suggested by Anthony Frazier. - ESBPCSRegistry: Added support for Borland C# Builder, Borland (CodeGear) Delphi 8 and Borland (CodeGear) Delphi 2005 where appropriate. - ESBPCSRegistry: Fixed bug in GetPlatformLibPath - ESBPCSShellIO: Added ExternSym to CSIDL Constants for BCB users. - ESBPCSStatistics: Added Beta PDF Routines. - ESBPCSStatistics: Added optional OffSetA and OffSetB to Beta PDF routines. - ESBStatistics: Changed Chi Squared Distribution routines to use Incomplete Gamma for increased accuracy. - ESBStatistics: Changed F Distribution routines to use Root Finding Methodology for increased accuracy. - ESBPCSStatistics: Added ExponentialPDFValues to return a range of computed values of the Exponential Distribution Probability Density Function. - ESBPCSStatistics: Added ChiSquarePDFValues to return a range of computed values of the Chi Squared Distribution Probability Density Function. - ESBPCSStatistics: Added StudentTPDFValues to return a range of computed values of the Student T Distribution Probability Density Function. - ESBPCSStatistics: Added FDistPDFValues to return a range of computed values of the F Distribution Probability Density Function. - ESBPCSSystem: Added ROL and ROR Functions for ShortInt, SmallInt, LongInt and Int64. - ESBPCSSystem: Str2Bits renamed to Str2ShortBits and Str2LongBits. - ESBPCSSystem: Bits2Str now have an optional ZeroStart parameter. - New Unit: ESBPCSPrintForm - contains routine to print form that is better than TForm.Print. *** Edits *** - When Bound Types are Extended, TDate, TTime, etc they are now only persisted to the form in BoundsEnabled is True. This was needed to fix things for different regional settings. - Fixed problems with FractEdits and entering negatives. - Fixed problem with Pasting when value is Null. - Fixed problem with ComplexEdits and Special Color Event. - Fixed problem with Date/Time Edits and Special Color Event. - Fixed problem with Fraction Edits and Special Color Event. - Fixed problem with Special Font Color not being used properly. - Improved functionality of the ReDraw Method. - Added ReDraw Method to ComplexEdits. - Added ReDraw Method to Date/Time Edits. - Added ReDraw Method to Fraction Edits. - Fixed problem with Data Aware MaskEdits having problems with some Masks at Design Time. - Fixed problem with backspacing in Social Security Edits. - Global ESBClearModifiedOnEnter can be set to False (default True) for Edits to behave more like the TEdits in regards the Modified Flag. - Modified now being set if Trim Properties being used and Trim occurs and not ReadOnly. - Fixed Problem in compound edits with ParentFont not being set to False when Font Change occurred. - AutoSize now works properly in compound edits. - Added CompareType and ShowCompareType to Float Edits (not data aware ones) that allow a comparison operator to be entered, displayed and accessed. - Data Aware Date/Time Edits can now also be assigned to Float Fields. - Fixed problem where in some Data Aware Edits if a value was assigned and the control wasn't in edit, it would put it in edit but not retain the value. - Add Optional Lakh Formatting to Numeric Edits that permit the display of Thousands Separators. - Fixed a problem with leap years in DateEdits. - Fixed a problem with Pasting into Edits with Null Values. - Added AsTime to TimeEdits. - Fixed a problem with Data Aware Currency Edits putting DataSource into edit mode when no change was done. - DateTimeEdit functions DateStr, TimeStr and DateTimeStr now Trim the string. - Numeric Edits now have AllowThouSepInput, which when false will stop thousand separators being entered from the Keyboard. - Numeric Edits now have AllowDecSepInput, which when false will stop decimal separators being entered from the Keyboard. - New Unit: ESBPCSExprEdit - supplies Expression Edits. - New Unit: ESBPCSDbExprEdit - supplies Expression Edits. - New Component: ESBExpressEdit - Expression Edit Component. - New Component: ESBDurationEdit - Duration Edit Component. - New Component: ESBDbDurationEdit - Data Aware Duration Edit Component - New Component: ESBDbExpressEdit - Data Aware Expression Edit Component. *** ComboBoxes *** - Fixed a bug in the AutoComplete for compilers below D6. - DropDownCount for Month ComboBoxes set to 12. - DropDownCount for DOW ComboBoxes set to 7. - ESBPCSDbComboBox now displays the Font Property at design time. - New Component: ESBTimeComboBox - ComboBox which allows a drop down list of pre-defined time increments. - New Component: ESBDurationComboBox - ComboBox which allows a drop down list of time duration increments in pre-defined units. - New Component: ESBDbTimeComboBox - Data Aware ComboBox which allows a drop down list of pre-defined time increments. - New Component: ESBDbDurationComboBox - Data Aware ComboBox which allows a drop down list of time duration increments in pre-defined units. *** Button Edits *** - Fixed problem with Button Edits and Special Color Event. - ReDraw Method now properly calls the edit's ReDraw method. - Fixed Problem with ParentFont not being set to False when Font Change occurred. *** SpinEdits *** - Fixed problem with Button Edits and Special Color Event. - ReDraw Method now properly calls the edit's ReDraw method. - Fixed Problem with ParentFont not being set to False when Font Change occurred. - Fixed problem with disabled Currency SpinEdits not disabling the buttons. - Add Optional Lakh Formatting to Numeric SpinEdits that permit the display of Thousands Separators. - New Unit: ESBPCSCurrSpinEdit. - New Unit: ESBPCSDbCurrSpinEdit. - New Component: TESBDurationSpinEdit - Duration-based Spin Edit. - New Component: TESBDbDurationSpinEdit - Duration-based Data Aware Spin Edit. - New Component: ESBCurrSpinEdit - ESBCurrency-based Spin Edit. - New Component: ESBLongCurrSpinEdit - ESBLongCurrency-based Spin Edit. - New Component: ESBCurrencySpinEdit - Delphi Currency-based Spin Edit. - New Component: TESBDbCurrSpinEdit - ESBCurrency-based Data Aware Spin Edit. - New Component: TESBDbCurrencySpinEdit - Delphi Currency-based Data Aware Spin Edit. *** Calculators, Expressions, CalcEdits & ExpressEdits *** - Major redesign of Calculator Engine. - Fixed problem with CalcEdits and Special Color Event. - ReDraw Method now properly calls the edit's ReDraw method. - Fixed problem in Calculator Engine where unary minus appeared before bracket. - Added Prefix function support for Abs, Ceil (and Ceiling), Floor, Sign (and Sgn), Gamma and LnGamma functions to the Calculator Engine. - Added MemoryHistory Property to Calculator Engine, that when true will send the Memory Contents to the History (Paper Trail) when a Memory operation occurs. - Added PrefixFunctions Property to Scientific Calculator. - When a StoreCtrl is assigned to a Calculator component it will now also store Position, ShowThousandsSeparators, LakhFormatting & PrefixFunctions. - Fixed problem with unary minus when a leading zero involved. - Added PrefixFunctions Option, that when true, will cause Square Root, Trigonometric and Logarithmic Functions to be evaluated in Prefix order, i.e log (5) is normally entered as "5 log" into the calculator, whereas this would require "log 5" to be entered. - Fixed Problem with ParentFont not being set to False when Font Change occurred. - Fixed problem when a CalcEdit was Null and you cancelled the pop-up calculator and CalcEdit would then be Zero rather than Null. - Added PopupCancelled Property to CalcEdits which allows you to check to see if the pop-up calculator was closed using the cancel button. - Added OnCalcClickEnd event as the last event called when a pop-up occurs. This can be used to reset Null values or to check PopupCancelled. - Add Optional Lakh Formatting to CalcEdits. - Add Optional Lakh Formatting to Calculator Engine. - Add Optional Thousand Separator Display to ESBCalculator. - Add Optional Lakh Formatting to ESBCalculator. - Fixed problem where Scientific Calculator displayed exponents initially even if the SciRange was being used. - Added Position Property to TESBCalculator and TESBSciCalculator. - New Unit: ESBPCSExpressions - for expression evaluation of strings.. - New Unit: ESBPCSExprEdit - New Unit: ESBPCSDbExprEdit - New Unit: ESBPCSExprEvaluator - New Unit: ESBPCSProgCalcEngine which supplies the Programmers Calculator Engine. - New Unit & Component: ESBPCSProgCalculator supplies Routines and Non-visual component for the Programmers Calculator. - New Components: TESBExprEvaluator - Expression evaluator that can have up to 10 variables. - New Component: TESBExpressEdit - Edit that allows the entry of Expressions. - New Component: TESBDbExpressEdit - Data Aware Edit that allows the entry of Expressions. *** Calendars & CalEdits *** - Fixed problem with Calendar Edits and Special Color Event. - ReDraw Method now properly calls the edit's ReDraw method. - Month ComboBox now does include all 12 Months in the dropdown count. - TButtons changed to TBitBtns in the Calendar Dialog. - Glyphs can be assigned to the Buttons in the Calendar Dialog using the new Glyph Properties in the assigned TESBCalendar. - Added PopupCancelled Property to CalEdits which allows you to check to see if the pop-up calendar was closed using the cancel button. - Added OnCalClickEnd event as the last event called when a pop-up occurs. This can be used to reset Null values or to check PopupCancelled. - DisplayCalendar & DisplayCalenderPos will now use Today's Date if the value passed is 0. - CalEdits will now use Today's Date if the current Value is Null or 0. - Added Position Property to TESBCalendar - Fixed Problem with ParentFont not being set to False when Font Change occurred. *** GroupCtrls *** - Added AsInteger to CheckGroups - CheckGroups: added an AsBitString property. - Fixed a problem with ParentFont changing. *** Unit Conversions *** - Improvements to the Litre/UK Pints/US Pints conversions. - Added Computer Storage Conversions - Nautical Miles (International) which is the same as Nautical Miles (US) added to Distance. - Scottish Miles added to Distance. - Irish Miles added to Distance. - Point added to Mass. - Quarter (short) added to Mass. - Sometimes Tons were being referred to as UK and US rather than "normal" and "short", so these latter terms are now used. - New Component: ESBComputerConvertor which handles Computer Storage Conversions *** Vectors & Matrices *** - Added ReDraw Method to Vector Edits. - Added ReDraw Method to Matrix Edits. - New Unit: ESBPCSFinMatrix has the Currency based routines from ESBPCSMatrix to fix an overload problem in BCB. - New Unit: ESBPCSFinVector has the Currency based routines from ESBPCSVector to fix an overload problem in BCB. *** Date/Time RangeCtrl *** - New Component: ESBDateRangeCtrl which takes two Date/Times and supplies various Range/Difference info. *** ListBoxes *** - Added Inherited Properties and Events that had been "left out". *** Memos & RichEdits *** - Global ESBClearModifiedOnEnter can be set to False (default True) for Memos & RichEdits to behave more like the standard edits in regards the Modified Flag. *** Strings *** - Brazilian Portuguese strings have been updated by Carlos Tré. - French strings have been updated by S Ben. - Danish strings updated by Lars C. Svane. - New Strings added for Programmers Calculator and Base Conversions. *** Installer/Installation *** - Switched to Inno Setup 5 Beta. - Complete redesign of installer to handle the new packages and add other enhancements. *** Demos *** - Demos grouped into subdirectories to match which subsets they belong to. We will need to make some new simpler demos that fit better into the new subsets - so expect to see more demos. - All Demos that use Floating Point or Currency types are now loaded with data at runtime to ensure compatiblility with different Regional Settings. - ProgCalc Demo added. - SmallCalc Demo updated showing new StoreCtrl settings. - Holiday Editor Demo updated showing changes to Calendar. - Updated Calculator Demo to use MemoryHistory, Lakh Formatting & PrefixFunction properties. - ESBUnitConv updated for new conversions. *** Testing *** - Grouped into subdirectories to match which subsets they belong to. More work still needed here. *** JPMOpen *** - Now includes v4.0.0 which includes Delphi 2005/Win32 Support. *** Glyphs *** - The good folks at glyFX have allowed us to include two more of their glyphs and the glyFX Demo has been updated to show these being used with the popup Calendars. *** Documentation *** - Improvements to the ALS File for Delphi 7 Help Systems. - Updated Help Files. - New, redesigned ESBPCSOverview Documentation.