We’ve been working on our Date Class (and Date Components), to go along with our Year Class / Component – both are parts of the Calendar Engine side of ESBDevLib for Delphi VCL/FMX, which is based on existing routines and components that are used in our ESBPCS for VCL.
We had hoped to have this done a few weeks ago, but I discovered when doing some Android testing, that we had not properly allowed for 0-based strings in a few places – so we thought that we would go through the String Libraries in ESBDevLib and make sure that they use TStringHelper and TStringBuilder where appropriate to ensure 0-based string support, as well as future Immutability requirements.
It is doing changes like this where the swag of existing Unit tests come in very handy – not that I would every do a small change that would break things elsewhere 😉
Anyway, after that we got back into the Date Class/Component – since we are wanting to use the new Calendar Engine in v2 of our ESBDateCalc Application. As mentioned in an earlier posts, we are doing a Class and a Component Demo for each of these – and will do VCL and FMX demos, so that developers can see the different approaches – plus it is an opportunity to see how the Formatter Classes/Component and the UICtrl Component works.
Here are a couple of Screen Shots (under Windows 10):
The Date Class/Component like the Year Class/Component support BC/BCE dates – and whilst TDateTime methods are provided, our Reference Date is used throughout.
We next have to do a descendant of the above which include Time – and then work on the new version of our Date Range Class/Component, and its descendant that will include time.