//--------------------------------------------------------------------------- #include #pragma hdrstop #include "MainForm.h" #include "SupportedCapsDialog.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TSupportedCapsDlg *SupportedCapsDlg; //--------------------------------------------------------------------------- __fastcall TSupportedCapsDlg::TSupportedCapsDlg(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TSupportedCapsDlg::FormCreate(TObject *Sender) { int nRet; TW_CAPABILITY twCap; pTW_ARRAY pArray = NULL; pTW_ENUMERATION pEnum = NULL; pTW_UINT16 puCap = NULL; _CapsCount= 0; _AvailableCapsCount= 0; _lstSupportedCaps->Clear(); ZeroMemory(&twCap, sizeof(TW_CAPABILITY)); twCap.Cap= CAP_SUPPORTEDCAPS; twCap.ConType= TWON_ARRAY; nRet= MainFrm->_LEADTwain->GetCapability(&twCap, LTWAIN_CAPABILITY_GETVALUES); if(nRet != TWAIN_SUCCESS) { ShowMessage("Error occurred when calling GetCapability, nRet = " + IntToStr(nRet)); return; } switch (twCap.ConType) { case TWON_ARRAY: { pArray= (pTW_ARRAY)GlobalLock((void*)twCap.hContainer); _CapsCount= pArray->NumItems; puCap= (pTW_UINT16)(&pArray->ItemList); } break; case TWON_ENUMERATION: { pEnum= (pTW_ENUMERATION)GlobalLock((void*)twCap.hContainer); _CapsCount= pEnum->NumItems; puCap= (pTW_UINT16)(&pEnum->ItemList); } break; } _AvailableCapsCount= _CapsCount; for (int i= 0; i < _CapsCount; i++) { FillCapabilityName(puCap[i]); } _lblSupportedCapsCount->Caption= _lblSupportedCapsCount->Caption + IntToStr(_AvailableCapsCount); GlobalUnlock((void*)twCap.hContainer); } //--------------------------------------------------------------------------- void TSupportedCapsDlg::FillCapabilityName(L_UINT uCap) { switch (uCap) { case CAP_CUSTOMBASE: _lstSupportedCaps->Items->Add("CAP_CUSTOMBASE"); break; case CAP_XFERCOUNT: _lstSupportedCaps->Items->Add("CAP_XFERCOUNT"); break; case ICAP_COMPRESSION: _lstSupportedCaps->Items->Add("ICAP_COMPRESSION"); break; case ICAP_PIXELTYPE: _lstSupportedCaps->Items->Add("ICAP_PIXELTYPE"); break; case ICAP_UNITS: _lstSupportedCaps->Items->Add("ICAP_UNITS"); break; case ICAP_XFERMECH: _lstSupportedCaps->Items->Add("ICAP_XFERMECH"); break; case CAP_AUTHOR: _lstSupportedCaps->Items->Add("CAP_AUTHOR"); break; case CAP_CAPTION: _lstSupportedCaps->Items->Add("CAP_CAPTION"); break; case CAP_FEEDERENABLED: _lstSupportedCaps->Items->Add("CAP_FEEDERENABLED"); break; case CAP_FEEDERLOADED: _lstSupportedCaps->Items->Add("CAP_FEEDERLOADED"); break; case CAP_TIMEDATE: _lstSupportedCaps->Items->Add("CAP_TIMEDATE"); break; case CAP_SUPPORTEDCAPS: _lstSupportedCaps->Items->Add("CAP_SUPPORTEDCAPS"); break; case CAP_EXTENDEDCAPS: _lstSupportedCaps->Items->Add("CAP_EXTENDEDCAPS"); break; case CAP_AUTOFEED: _lstSupportedCaps->Items->Add("CAP_AUTOFEED"); break; case CAP_CLEARPAGE: _lstSupportedCaps->Items->Add("CAP_CLEARPAGE"); break; case CAP_FEEDPAGE: _lstSupportedCaps->Items->Add("CAP_FEEDPAGE"); break; case CAP_REWINDPAGE: _lstSupportedCaps->Items->Add("CAP_REWINDPAGE"); break; case CAP_INDICATORS: _lstSupportedCaps->Items->Add("CAP_INDICATORS"); break; case CAP_SUPPORTEDCAPSEXT: _lstSupportedCaps->Items->Add("CAP_SUPPORTEDCAPSEXT"); break; case CAP_PAPERDETECTABLE: _lstSupportedCaps->Items->Add("CAP_PAPERDETECTABLE"); break; case CAP_UICONTROLLABLE: _lstSupportedCaps->Items->Add("CAP_UICONTROLLABLE"); break; case CAP_DEVICEONLINE: _lstSupportedCaps->Items->Add("CAP_DEVICEONLINE"); break; case CAP_AUTOSCAN: _lstSupportedCaps->Items->Add("CAP_AUTOSCAN"); break; case CAP_THUMBNAILSENABLED: _lstSupportedCaps->Items->Add("CAP_THUMBNAILSENABLED"); break; case CAP_DUPLEX: _lstSupportedCaps->Items->Add("CAP_DUPLEX"); break; case CAP_DUPLEXENABLED: _lstSupportedCaps->Items->Add("CAP_DUPLEXENABLED"); break; case CAP_ENABLEDSUIONLY: _lstSupportedCaps->Items->Add("CAP_ENABLEDSUIONLY"); break; case CAP_CUSTOMDSDATA: _lstSupportedCaps->Items->Add("CAP_CUSTOMDSDATA"); break; case CAP_ENDORSER: _lstSupportedCaps->Items->Add("CAP_ENDORSER"); break; case CAP_JOBCONTROL: _lstSupportedCaps->Items->Add("CAP_JOBCONTROL"); break; case CAP_ALARMS: _lstSupportedCaps->Items->Add("CAP_ALARMS"); break; case CAP_ALARMVOLUME: _lstSupportedCaps->Items->Add("CAP_ALARMVOLUME"); break; case CAP_AUTOMATICCAPTURE: _lstSupportedCaps->Items->Add("CAP_AUTOMATICCAPTURE"); break; case CAP_TIMEBEFOREFIRSTCAPTURE: _lstSupportedCaps->Items->Add("CAP_TIMEBEFOREFIRSTCAPTURE"); break; case CAP_TIMEBETWEENCAPTURES: _lstSupportedCaps->Items->Add("CAP_TIMEBETWEENCAPTURES"); break; case CAP_CLEARBUFFERS: _lstSupportedCaps->Items->Add("CAP_CLEARBUFFERS"); break; case CAP_MAXBATCHBUFFERS: _lstSupportedCaps->Items->Add("CAP_MAXBATCHBUFFERS"); break; case CAP_DEVICETIMEDATE: _lstSupportedCaps->Items->Add("CAP_DEVICETIMEDATE"); break; case CAP_POWERSUPPLY: _lstSupportedCaps->Items->Add("CAP_POWERSUPPLY"); break; case CAP_CAMERAPREVIEWUI: _lstSupportedCaps->Items->Add("CAP_CAMERAPREVIEWUI"); break; case CAP_DEVICEEVENT: _lstSupportedCaps->Items->Add("CAP_DEVICEEVENT"); break; case CAP_SERIALNUMBER: _lstSupportedCaps->Items->Add("CAP_SERIALNUMBER"); break; case CAP_PRINTER: _lstSupportedCaps->Items->Add("CAP_PRINTER"); break; case CAP_PRINTERENABLED: _lstSupportedCaps->Items->Add("CAP_PRINTERENABLED"); break; case CAP_PRINTERINDEX: _lstSupportedCaps->Items->Add("CAP_PRINTERINDEX"); break; case CAP_PRINTERMODE: _lstSupportedCaps->Items->Add("CAP_PRINTERMODE"); break; case CAP_PRINTERSTRING: _lstSupportedCaps->Items->Add("CAP_PRINTERSTRING"); break; case CAP_PRINTERSUFFIX: _lstSupportedCaps->Items->Add("CAP_PRINTERSUFFIX"); break; case CAP_LANGUAGE: _lstSupportedCaps->Items->Add("CAP_LANGUAGE"); break; case CAP_FEEDERALIGNMENT: _lstSupportedCaps->Items->Add("CAP_FEEDERALIGNMENT"); break; case CAP_FEEDERORDER: _lstSupportedCaps->Items->Add("CAP_FEEDERORDER"); break; case CAP_REACQUIREALLOWED: _lstSupportedCaps->Items->Add("CAP_REACQUIREALLOWED"); break; case CAP_BATTERYMINUTES: _lstSupportedCaps->Items->Add("CAP_BATTERYMINUTES"); break; case CAP_BATTERYPERCENTAGE: _lstSupportedCaps->Items->Add("CAP_BATTERYPERCENTAGE"); break; case ICAP_AUTOBRIGHT: _lstSupportedCaps->Items->Add("ICAP_AUTOBRIGHT"); break; case ICAP_BRIGHTNESS: _lstSupportedCaps->Items->Add("ICAP_BRIGHTNESS"); break; case ICAP_CONTRAST: _lstSupportedCaps->Items->Add("ICAP_CONTRAST"); break; case ICAP_CUSTHALFTONE: _lstSupportedCaps->Items->Add("ICAP_CUSTHALFTONE"); break; case ICAP_EXPOSURETIME: _lstSupportedCaps->Items->Add("ICAP_EXPOSURETIME"); break; case ICAP_FILTER: _lstSupportedCaps->Items->Add("ICAP_FILTER"); break; case ICAP_FLASHUSED: _lstSupportedCaps->Items->Add("ICAP_FLASHUSED"); break; case ICAP_GAMMA: _lstSupportedCaps->Items->Add("ICAP_GAMMA"); break; case ICAP_HALFTONES: _lstSupportedCaps->Items->Add("ICAP_HALFTONES"); break; case ICAP_HIGHLIGHT: _lstSupportedCaps->Items->Add("ICAP_HIGHLIGHT"); break; case ICAP_IMAGEFILEFORMAT: _lstSupportedCaps->Items->Add("ICAP_IMAGEFILEFORMAT"); break; case ICAP_LAMPSTATE: _lstSupportedCaps->Items->Add("ICAP_LAMPSTATE"); break; case ICAP_LIGHTSOURCE: _lstSupportedCaps->Items->Add("ICAP_LIGHTSOURCE"); break; case ICAP_ORIENTATION: _lstSupportedCaps->Items->Add("ICAP_ORIENTATION"); break; case ICAP_PHYSICALWIDTH: _lstSupportedCaps->Items->Add("ICAP_PHYSICALWIDTH"); break; case ICAP_PHYSICALHEIGHT: _lstSupportedCaps->Items->Add("ICAP_PHYSICALHEIGHT"); break; case ICAP_SHADOW: _lstSupportedCaps->Items->Add("ICAP_SHADOW"); break; case ICAP_FRAMES: _lstSupportedCaps->Items->Add("ICAP_FRAMES"); break; case ICAP_XNATIVERESOLUTION: _lstSupportedCaps->Items->Add("ICAP_XNATIVERESOLUTION"); break; case ICAP_YNATIVERESOLUTION: _lstSupportedCaps->Items->Add("ICAP_YNATIVERESOLUTION"); break; case ICAP_XRESOLUTION: _lstSupportedCaps->Items->Add("ICAP_XRESOLUTION"); break; case ICAP_YRESOLUTION: _lstSupportedCaps->Items->Add("ICAP_YRESOLUTION"); break; case ICAP_MAXFRAMES: _lstSupportedCaps->Items->Add("ICAP_MAXFRAMES"); break; case ICAP_TILES: _lstSupportedCaps->Items->Add("ICAP_TILES"); break; case ICAP_BITORDER: _lstSupportedCaps->Items->Add("ICAP_BITORDER"); break; case ICAP_CCITTKFACTOR: _lstSupportedCaps->Items->Add("ICAP_CCITTKFACTOR"); break; case ICAP_LIGHTPATH: _lstSupportedCaps->Items->Add("ICAP_LIGHTPATH"); break; case ICAP_PIXELFLAVOR: _lstSupportedCaps->Items->Add("ICAP_PIXELFLAVOR"); break; case ICAP_PLANARCHUNKY: _lstSupportedCaps->Items->Add("ICAP_PLANARCHUNKY"); break; case ICAP_ROTATION: _lstSupportedCaps->Items->Add("ICAP_ROTATION"); break; case ICAP_SUPPORTEDSIZES: _lstSupportedCaps->Items->Add("ICAP_SUPPORTEDSIZES"); break; case ICAP_THRESHOLD: _lstSupportedCaps->Items->Add("ICAP_THRESHOLD"); break; case ICAP_XSCALING: _lstSupportedCaps->Items->Add("ICAP_XSCALING"); break; case ICAP_YSCALING: _lstSupportedCaps->Items->Add("ICAP_YSCALING"); break; case ICAP_BITORDERCODES: _lstSupportedCaps->Items->Add("ICAP_BITORDERCODES"); break; case ICAP_PIXELFLAVORCODES: _lstSupportedCaps->Items->Add("ICAP_PIXELFLAVORCODES"); break; case ICAP_JPEGPIXELTYPE: _lstSupportedCaps->Items->Add("ICAP_JPEGPIXELTYPE"); break; case ICAP_TIMEFILL: _lstSupportedCaps->Items->Add("ICAP_TIMEFILL"); break; case ICAP_BITDEPTH: _lstSupportedCaps->Items->Add("ICAP_BITDEPTH"); break; case ICAP_BITDEPTHREDUCTION: _lstSupportedCaps->Items->Add("ICAP_BITDEPTHREDUCTION"); break; case ICAP_UNDEFINEDIMAGESIZE: _lstSupportedCaps->Items->Add("ICAP_UNDEFINEDIMAGESIZE"); break; case ICAP_IMAGEDATASET: _lstSupportedCaps->Items->Add("ICAP_IMAGEDATASET"); break; case ICAP_EXTIMAGEINFO: _lstSupportedCaps->Items->Add("ICAP_EXTIMAGEINFO"); break; case ICAP_MINIMUMHEIGHT: _lstSupportedCaps->Items->Add("ICAP_MINIMUMHEIGHT"); break; case ICAP_MINIMUMWIDTH: _lstSupportedCaps->Items->Add("ICAP_MINIMUMWIDTH"); break; case ICAP_FLIPROTATION: _lstSupportedCaps->Items->Add("ICAP_FLIPROTATION"); break; case ICAP_BARCODEDETECTIONENABLED: _lstSupportedCaps->Items->Add("ICAP_BARCODEDETECTIONENABLED"); break; case ICAP_SUPPORTEDBARCODETYPES: _lstSupportedCaps->Items->Add("ICAP_SUPPORTEDBARCODETYPES"); break; case ICAP_BARCODEMAXSEARCHPRIORITIES: _lstSupportedCaps->Items->Add("ICAP_BARCODEMAXSEARCHPRIORITIES"); break; case ICAP_BARCODESEARCHPRIORITIES: _lstSupportedCaps->Items->Add("ICAP_BARCODESEARCHPRIORITIES"); break; case ICAP_BARCODESEARCHMODE: _lstSupportedCaps->Items->Add("ICAP_BARCODESEARCHMODE"); break; case ICAP_BARCODEMAXRETRIES: _lstSupportedCaps->Items->Add("ICAP_BARCODEMAXRETRIES"); break; case ICAP_BARCODETIMEOUT: _lstSupportedCaps->Items->Add("ICAP_BARCODETIMEOUT"); break; case ICAP_ZOOMFACTOR: _lstSupportedCaps->Items->Add("ICAP_ZOOMFACTOR"); break; case ICAP_PATCHCODEDETECTIONENABLED: _lstSupportedCaps->Items->Add("ICAP_PATCHCODEDETECTIONENABLED"); break; case ICAP_SUPPORTEDPATCHCODETYPES: _lstSupportedCaps->Items->Add("ICAP_SUPPORTEDPATCHCODETYPES"); break; case ICAP_PATCHCODEMAXSEARCHPRIORITIES: _lstSupportedCaps->Items->Add("ICAP_PATCHCODEMAXSEARCHPRIORITIES"); break; case ICAP_PATCHCODESEARCHPRIORITIES: _lstSupportedCaps->Items->Add("ICAP_PATCHCODESEARCHPRIORITIES"); break; case ICAP_PATCHCODESEARCHMODE: _lstSupportedCaps->Items->Add("ICAP_PATCHCODESEARCHMODE"); break; case ICAP_PATCHCODEMAXRETRIES: _lstSupportedCaps->Items->Add("ICAP_PATCHCODEMAXRETRIES"); break; case ICAP_PATCHCODETIMEOUT: _lstSupportedCaps->Items->Add("ICAP_PATCHCODETIMEOUT"); break; case ICAP_FLASHUSED2: _lstSupportedCaps->Items->Add("ICAP_FLASHUSED2"); break; case ICAP_IMAGEFILTER: _lstSupportedCaps->Items->Add("ICAP_IMAGEFILTER"); break; case ICAP_NOISEFILTER: _lstSupportedCaps->Items->Add("ICAP_NOISEFILTER"); break; case ICAP_OVERSCAN: _lstSupportedCaps->Items->Add("ICAP_OVERSCAN"); break; case ICAP_AUTOMATICBORDERDETECTION: _lstSupportedCaps->Items->Add("ICAP_AUTOMATICBORDERDETECTION"); break; case ICAP_AUTOMATICDESKEW: _lstSupportedCaps->Items->Add("ICAP_AUTOMATICDESKEW"); break; case ICAP_AUTOMATICROTATE: _lstSupportedCaps->Items->Add("ICAP_AUTOMATICROTATE"); break; case ICAP_JPEGQUALITY: _lstSupportedCaps->Items->Add("ICAP_JPEGQUALITY"); break; case ACAP_AUDIOFILEFORMAT: _lstSupportedCaps->Items->Add("ACAP_AUDIOFILEFORMAT"); break; case ACAP_XFERMECH: _lstSupportedCaps->Items->Add("ACAP_XFERMECH"); break; default: _AvailableCapsCount--; break; } }