Wiki

Clone wiki

VBTypes / 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