Write a Delphi 2009 class that exposes some specified “scan attributes” values (pagesize, colormode, duplex, ADF, etc), used to populate UI elements (combobox, spinedit, etc) which valid range of values has previously been checked agains the selected TWAIN source device. The same class will also serve as a validation/storage of user selected values from the UI elements.
Therefore, each “scan attribute” must be able to contain:
• Supported values (list) - provided by the TWAIN source
• Default value (integer) – provided by the TWAIN source
• User value (integer) – provided by the UI elements
"Scan attributes" summary:
The TWAIN functions must make use of the commercial library: gdPicture Light OCX (30 days trial is available from: [url removed, login to view]), so developer must study these functions prior to designing the class.
When applicable, some attributes must display as a user-friendly text (instead of their integer value), e.g.: Pixeltype = 2 must be able to return “RGB Color” when requested by some UI element.
When a TWAIN source is not available (which must probably be used as a "parameter" for the class functions, default empty values must be considered and error checking must be in place.
The main concept here is that the class serves as a "bridge" between the scanning device capabilities info (retrieved by the TWAIN library functions) and the UI operations, including: populating UI elements upon the user selecting an existing TWAIN source (on his system) and storing user's selected values in order to proceed to other functions (outside this class), such as requesting a scan.
This is a very urgent job. Preference will be given to delphi developers who can show having worked with TWAIN api before. If satisfied, other similar projects will be awarded soon.
Full source code must be provided, as well as a sample program (such as the one in the screenshot attached).