I need a Delphi component (or class, but a component would be nice so I could check the output at design time) that takes inputs in the form of cashflow events, where the new income level overrides the previous one, eg.
From Jan 2000 = 10000
From Jan 2005 = 15000
From Jan 2010 = 12000
From Jan 2015 onwards (to infinity) = 20000
This would create an output consisting of a discrete set of *horizontal* slices of income, where each slice represents an exact rectangle, each with a start and end date. In the example above the outputs would be:
1 Jan 2000 to Infinity = 10000
2 Jan 2005 to Infinity = 2000
3 Jan 2010 to Jan 2015 = 3000
4 Jan 2015 to infinity = 8000
(I have attached a simple diagram in Excel to show what I mean - example 1)
The component must be able to cope with any variations of cashflow including where the income falls to zero for a period and then restarts again - five test cases are now included in the documentation (attached).
I have also supplied the (very basic) base component with the input and output structure already defined.
I would pay extra for a solution that linked the component to a TeeChart chart or series and drew an illustration of the solution (perhaps using the TShape series?)
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows - It would need to be a Delphi 7 compatible component