Windows 8.x Chart Style Progress Control with Delphi XE2

In Progress Posted Mar 4, 2014 Paid on delivery
In Progress Paid on delivery

Windows 8.x Chart Style Progress Control with Delphi XE2

Implement a Windows 8.x style progress bar control using a progress graph chart as in the attached screenshot. You will be responsible for only implementing the progress chart and the time remaining fields in the attached screenshot. The development IDE to be used is Delphi XE2.

The progress graph chart must look exactly as it does on Windows 8.x, including the size of the chart, the fonts used in the chart, the colors used in the chart, the spacing of the boxes in the graph, and the movement/animations of the speed bar - including supporting the same correct appearance when Large Fonts are used in Windows 8.x (in all of the 100%, 125%, and 150% font scaling settings). The control must support being placed on Delphi forms with Aero Glass effects enabled, and not cause any corruption during display with glass enabled or disabled on the form.

You should support green, yellow, and red colors for the chart - just like Windows - for when an error is detected in the operation, or when the operation is paused by the user. These should be settable from a three-state enumeration, such as psGreen, psYellow, and psRed. The progress bar should be able to move in either state normally.

Like a standard progress bar control, you will have maximum, minimum, and current fields to specify the current progress bar state. These fields should be Int64 integers, to support the maximum possible range of integer progress values.

The control will need to calculate the speed of task completion internally, based on the incoming frequency of updates to the progress bar's current position. You will create additional progress bar methods such as "StartTask" and "PauseTask" and "StopTask" to manage the speed calcuation. When the task is paused, the progress speed line should disappear, just as in the attached screenshot; and the time remaining calculation must be paused as well. StopTask should completely clear any accumulated speed data, until StartTask is called again. If StartTask is not called, you should not perform any time remaining calculations, and you should not display the speed bar.

When time calculations have been enabled, instead of displaying speed based on kilobytes per second, you will display the speed in terms of percentage points per second - making this a generic control that could be used with any particular progress application. For example, you would display the speed field as "Speed: 3.4%/s" if the current progress update speed is 3.4% per second.

The time remaining should be calculated internally by the control, and be linkable to an external TLabel control. If an external TLabel control is linked with the control, it should update automatically based on how fast the progress is moving. Regardless of the linkage of an external TLabel control, the progress bar should also have a read-only string property; starting with "Calculating..." and then displaying the time remaining as progress is made; just as in Windows. This will allow manually displaying the time remaining textual data in any third party control, in addition to a TLabel.

Please feel free to ask any clarification requests. We are looking forward to your bids.

Delphi Microsoft Windows Desktop

Project ID: #5515145

About the project

2 proposals Remote project Active Mar 6, 2014

Awarded to:

skiy1337

Had some fun with this demo [login to view URL] Used TCanvas to do it. Tested on XP :) Thanks, Misha

$277 USD in 21 days
(2 Reviews)
3.1

2 freelancers are bidding on average $396 for this job

ijustcode

Hello, I gone in your posting details and I can do this if you choose me for this task on budget and time. I am having 8+years of Experience with Design/Development and you can see my 100% complete rate and good More

$515 USD in 10 days
(1 Review)
0.0