Wiki
Clone wikiVBTypes / History
2.1.4 (15-Jan-2023)
- ListEx: add First and Last properties, add Concat method.
2.1.3 (8-Jan-2023)
- ArrayEx: fix issue when Sorted flag was not reset on array termination;
- Add Decrement and Increment methods to all numeric types.
2.1.2 (8-Aug-2021)
- DateTimeEx: add HasDatePortion, HasTimePortion properties and AddQuarters method;
- DateTimeEx: fix interval add methods;
- Enhance tests.
2.1.1 (12-Apr-2021)
- DateTimeEx: fix properties behavior;
- Minor performance adjustments.
2.1.0 (4-Apr-2021) Note: this version is not binary compatible with previous versions.
- Redesign & refactoring.
2.0.0 (8-Nov-2019) Note: this version is not binary compatible with previous versions.
- Implement IFTypeConvertible interface;
- DateTimeEx: fix incorrectly working Add* methods;
- Documentation updated.
1.9.93 (16-Jul-2019)
- StringEx: add Contains property;
- Documentation updated.
1.9.92 (08-Jul-2019)
- Common.ToNumber: fix incorrect parse result in case of only one numeric char exist in string.
1.9.91 (07-Jul-2019)
- ArrayEx & ListEx: fix excess item creation when Add method failed internally;
- ArrayEx: fix wrong cut of last delimiter in ToString method;
- ListEx: fix wrong Sorted property value after Distinct method successful call.
1.9.90 (04-Jul-2019)
- ArrayEx: defaults Sorted flag when Item is set, fix incorrect AddRange behavior;
- ListEx: inherit base functionality from ArrayEx class;
- Documentation updated.
1.9.89 (02-Jun-2019)
- ListEx: fix inability to store inner arrays;
- Documentation updated.
1.9.88 (20-Jan-2019)
- ArrayEx: fix indexes conversion mistake that caused Item, ToList and ToString to work incorrectly with multidimensional arrays;
- ListEx: fix wrong Sorted property update in case when StartIndex or EndIndex argument is used;
- Documentation updated.
1.9.87 (31-Dec-2018)
- ArrayEx & ListEx: fix inability to store objects;
- Documentation updated.
1.9.86 (22-Dec-2018)
- StringEx: add IsEmptyOrWhiteSpace property;
- StringEx: optimize TrimL/TrimR methods performance;
- Documentation updated.
1.9.85 (22-Sep-2018) Note: this version is not binary compatible with previous versions.
- TypesInterface: add Size property and modify all classes implementations appropriately;
- Documentation updated.
1.9.84 (03-Sep-2018) Note: this version is not binary compatible with previous versions.
- ListEx: add UsePartialMatchForStrings argument to IndexOf property;
- Documentation updated.
1.9.83 (26-Aug-2018)
- ListEx: ListEx: optimize Distinct method to perform sorting only if needed, reverse sorting flag in Reverse method;
- Documentation updated.
1.9.82 (02-Aug-2018) Note: this version is not binary compatible with previous versions.
- ListEx: implement binary search for IndexOf property (array should be sorted), extend Sorted property values range;
- Documentation updated.
1.9.81 (26-Apr-2018)
- ListEx: add CompareMethod argument to IndexOf method;
- Documentation updated.
1.9.8 (17-Feb-2018) Note: this version is not binary compatible with previous versions.
- ListEx: add Reverse method;
- StringEx: move Compare method to Equals property, Find method to IndexOf property.
1.9.75 (22-Jan-2018)
- TypesFactory: use Parse method instead of Value property.
1.9.74 (16-Jan-2018)
- ListEx: fix missing checks for array items count (f.e. caused Distinct to add new item by accident);
- ListEx: fix not inherited Sorted flag after Clone method using.
1.9.73 (14-Jan-2018)
- ListEx: add Sorted property;
- Documentation updated.
1.9.72 (14-Jan-2018)
- Fix memory corruption in internal ArrayDestroy method.
1.9.71 (14-Jan-2018)
- ListEx: fix impossibility to enlarge array items count using Resize method due to wrong argument validation.
1.9.7 (13-Jan-2018)
- IntegerEx: add ShiftL and ShiftR methods;
- LongEx: add ShiftL and ShiftR methods;
- Documentation updated.
1.9.6 (10-Jan-2018)
- ListEx: add IndexOf property, optimize internal usage of Count property;
- Documentation updated.
1.9.52 (30-Dec-2017)
- Increase ArrayEx & ListEx performance by removing of VarPrt usage.
1.9.51 (24-Dec-2017)
- Optimize ArrayElementGet and ArrayElementSet methods.
1.9.5 (20-Dec-2017) Note: this version is not binary compatible with previous versions.
- ListEx: add FilterAt and RemoveAt methods;
- ListEx: rework Filter and Remove methods parameters and functionality;
- Documentation updated.
1.9.4 (06-Dec-2017) Note: this version is not binary compatible with previous versions.
- StringEx: increase performance of Asc, Compare and Find;
- Documentation updated.
1.9.3 (24-Nov-2017)
- StringEx: add HashCode property;
- Documentation updated.
1.9.21 (18-Nov-2017)
- ListEx: fix IDE crash when dragging initialized class variable into Watch window.
1.9.2 (12-Nov-2017)
- ListEx: add support of For...Each syntax;
- Documentation updated.
1.9.1 (11-Nov-2017) Note: this version is not binary compatible with previous versions.
- ListEx: add Filter & Remove methods + fix Item property argument check;
- ArrayEx: add ToList method; remove Distinct & Sort methods;
- Documentation updated.
1.9.0 (22-Oct-2017) Note: this version is not binary compatible with previous versions.
- Redesign: introduce general TypesInterface interface for all classes (replaces IFTypesArray & IFTypesBasic interfaces);
- ArrayEx & ListEx Parse methods now can also accept arrays (no need to explicitly use Value property);
- Documentation updated.
1.8.1 (16-Oct-2017) hotfix Note: this version is not binary compatible with previous versions.
- ListEx.Destroy method: fix return type;
- DateTimeEx.Length: fix wrong property value;
- StringEx: increase Parse method performance, Split and ToArray methods now return ListEx type;
- Add ToArray method to all classes;
- Documentation updated.
1.8.0 (15-Oct-2017) Note: this version is not binary compatible with previous versions.
- Redesign: add IFTypesArray & IFTypesBasic interfaces;
- Added ListEx class specially for more efficient work with single-dimensioned arrays;
- All classes implement appropriate interface that enables polymorphic operations;
- All numeric classes now use ToList method instead of ToArray (that eliminates confusion also with StringEx.ToArray method that works totally differently);
- Documentation updated.
1.6.9 (02-Oct-2017)
- Core: fix issue in ToNumber function when input string parse result contained ONLY decimal separator or negative sign character - caused all *.Parse methods to throw 'Type mismatch' error;
- Documentation updated.
1.6.8 (05-Aug-2017)
- StringEx: added Encrypd & Decrypt methods;
- Documentation updated.
1.6.7 (02-Jun-2017)
- Added Range function to all numeric type classes;
- Documentation updated.
1.6.6 (01-May-2017) Note: this version is not binary compatible with previous versions.
- ArrayEx: fix endless loop in Group method and rename it to Distinct.
1.6.5 (30-Mar-2017)
- ArrayEx: Add and AddRange methods now do not perform useless check of input argument data type for case when current instance array already exists;
- ArrayEx: fixed wrong sorting in Sort method when lower bound of last array dimension is less than zero;
- ArrayEx: added Group method (works with single-dimensioned arrays only);
- Documentation updated.
1.6.4 (17-Mar-2017)
- Added TypesFactory class with shared factory methods for creating all FTypes classes inline;
- Documentation updated.
1.6.3 (15-Mar-2017)
- ArrayEx: add ToString method;
- DateTimeEx: add MonthDays and YearDayIndex properties;
- Documentation updated.
1.6.2 (13-Mar-2017)
- ArrayEx: add Sort Method (works with any number of dimensions);
- Documentation updated.
1.6.1 (01-Mar-2017)
- Internal: fix potential issue if GetLocaleInfoW returned UNICODE character which code is above 127;
- Internal: ToNumber - fix accident trouble made in previous version referenced with usage of this function inside -
- DecimalEx.Parse method + improved performance (~ +10%);
- BooleanEx.Parse: ability to parse "True" as True, change logic of ToByte method - True previously was converted to 1, now to 255;
- DateTimeEx: add Weekday property;
- SingleEx.Parse: fix input value type check inconsistency;
- StringEx: add ToSingle function;
- Documentation updated.
1.6.0 (26-Feb-2017)
- SingleEx: class added;
- Add ToSingle method to all rest numeric classes;
- Documentation updated;
1.5.9 (24-Feb-2017)
- StringEx: fix TrimR method build error, add TrimNull method, allow PadLeft and PadRight methods to work with empty string;
- Fix conversion bug in internal ToNumber method;
- Documentation updated;
1.5.8 (23-Feb-2017) Note: this version is not binary compatible with previous versions.
- DateTimeEx: add IsLeap property, fix Date/TimeSerial arguments passing;
- StringEx: add Mid method, convert Asc method to property;
- Documentation updated;
1.5.7 (20-Feb-2017) Note: this version is not binary compatible with previous versions.
- ArrayEx: Create method - remove useless Dimensions parameter (since Bounds parameter was checked anyway);
- BooleanEx: ToString method - add Format parameter;
- Fix internal ToNumber routine issue when no numeric characters were detected in source string at all - so it caused cast error then;
- Documentation included (for all classes)
1.5.6 (19-Feb-2017)
- StringEx: added ConcatPointer method (acts same as Concat method, but is much more efficient when you already know pointer of a string to be appended) - see Test project application for performance tests;
- StringEx: added methods for conversion for all supported numeric classes.
1.5.5 (18-Feb-2017) Note: this version is not binary compatible with previous versions.
- ArrayEx: Add method code is moved to new method AddRange, instead Add method now adds a single variant item to an array;
- ArrayEx: several optimizations were performed + Add/AddRange methods can now initialize array with appropriate input parameter data type if array does not exist yet (no need to call Create/Parse methods);
- StringEx: minor fixes;
- All numeric classes: ToString methods now have optional parameter Format allowing to customly format output.
1.5.4 (11-Feb-2017)
- BooleanEx: class added;
- DateTimeEx: class added;
- CurrencyEx and DecimalEx: add Round method;
- IntegerEx: add Shift method;
- Global: minor adjustments and speed-ups.
1.4.3 (07-Dec-2016)
- ArrayEx: fix Item get/let properties problems concerning several types, fix Value property memory leaks, fix crash with Clone method;
- ArrayEx: add Destroy method;
- Documentation: add DecimalEx class description + General information section updates concerning Parse methods for numeric classes.
1.4.2 (05-Dec-2016)
- Hotfix for ArrayEx: it was impossible to get/set Item property correctly for Decimal type array.
1.4.1 (04-Dec-2016)
- Add Length and Pointer properties to numeric classes (can be usefull with RtlMoveMemory or other WinApi(s));
- StringEx: ToDouble routine is replaced with ToNumber to follow appropriate conversion basics and strong type model;
- Documentation included (ArrayEx, ByteEx and CurrencyEx for now ..).
1.4.0 (30-Nov-2016)
- DecimalEx: class added;
- Internal function ToNumber speed up about ~50%.
1.3.0 (06-Nov-2016)
- ArrayEx class: add Item property get/let, functionality for Add method (use single-dimensioned array as source, resize current array as needed and copy data) + some fixes & optimizations
- StringEx class: rework Split & ToArray according currect usage of ArrayEx class.
1.2.0 (06-Nov-2016)
- ArrayEx: extended functionality;
- Numeric classes: add new conversion properties + fixes for Parse methods.
1.1.0 (02-Nov-2016)
- StringEx: added Compare, PadLeft, PadRight and Split (supports output type specify) functions;
- CurrencyEx: class added;
- Fixed Double type min/max constants accuracy
1.0.0 (29-Oct-2016)
Updated