⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 twaintable.pas

📁 控制扫描仪源码 控制扫描仪源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit TwainTable;

interface

uses
  Twain;

type
  {Information about a capability}
  TCapabilityInfo = record
    STR: String;
    ID : TW_UINT16;
  end;
  TCapabilityInfoArray = array [0..0] of TCapabilityInfo;
  pCapabilityInfoArray = ^TCapabilityInfoArray;

  {Twain table info}
  TTableInfo = record
    ID: TW_UINT16;
    DefType: TW_UINT16;
  end;

  {Capability table entries}
  TTableEntry = record
    Cap: TW_UINT16;
    PTR: pCapabilityInfoArray;
    Count: Integer;
  end;

const
  MAX_PIXELTYPE = 9;
  MAX_PALETTETYPE = 3;
  MAX_FORMATTYPE = 5;
  MAX_COMPRESSIONTYPE = 9;
  MAX_VERLANGUAGETYPE = 14;
  MAX_VERCONTRYTYPE = 210;
  MAX_CAPABILITY = 124;
  MAX_BITORDERTYPE = 2;
  MAX_FILTERTYPE = 9;
  MAX_LIGHTPATHTYPE = 2;
  MAX_LIGHTSOURCETYPE = 7;
  MAX_ORIENTATIONTYPE = 6;
  MAX_PLANARCHUNKYTYPE = 2;
  MAX_PIXELFLAVORTYPE = 2;
  MAX_SETUPXFERTYPE = 4;
  MAX_UNITSTYPE = 6;
  MAX_SUPPORTEDSIZETYPE = 16;
  MAX_BITDEPTHREDUCTIONTYPE = 4;
  MAX_DUPLEXTYPE = 3;
  MAX_JOBCONTROLTYPE = 5;
  MAX_AUDIOFORMATTYPE = 4;
  MAX_ALARMSTYPE = 9;


  {Names for all capabilities specified by twain}
  CapabilitySTR: Array[0..MAX_CAPABILITY - 1] of String = ('CAP_XFERCOUNT',
    'ICAP_COMPRESSION', 'ICAP_PIXELTYPE', 'ICAP_UNITS', 'ICAP_XFERMECH',
    'CAP_AUTHOR', 'CAP_CAPTION', 'CAP_FEEDERENABLED', 'CAP_FEEDERLOADED',
    'CAP_TIMEDATE', 'CAP_SUPPORTEDCAPS', 'CAP_EXTENDEDCAPS', 'CAP_AUTOFEED',
    'CAP_CLEARPAGE', 'CAP_FEEDPAGE', 'CAP_REWINDPAGE', 'CAP_INDICATORS',
    'CAP_SUPPORTEDCAPSEXT', 'CAP_PAPERDETECTABLE', 'CAP_UICONTROLLABLE',
    'CAP_DEVICEONLINE', 'CAP_AUTOSCAN', 'CAP_THUMBNAILENABLED', 'CAP_DUPLEX',
    'CAP_DUPLEXENABLED', 'CAP_ENABLEDSUIONLY', 'CAP_CUSTOMDATA', 'CAP_ENDUSER',
    'CAP_JOBCONTROL', 'CAP_ALARMS', 'CAP_ALARMVOLUME', 'CAP_AUTOMATICCAPTURE',
    'CAP_TIMEBEFOREFIRSTCAPTURE', 'TIME_BETWEENCAPTURES', 'CAP_CLEARBUFFERS',
    'CAP_MAXBATCHBUFFERS', 'CAP_DEVICETIMEDATE', 'CAP_POWERSUPPLY',
    'CAP_CAMERAPREVIEWUI', 'CAP_DEVICEEVENT', 'CAP_SERIALNUMBER', 'CAP_PRINTER',
    'CAP_PRINTERENABLED', 'CAP_PRINTERINDEX', 'CAP_PRINTERMODE',
    'CAP_PRINTERSTRING', 'CAP_PRINTERSUFFIX', 'CAP_LANGUAGE',
    'CAP_FEEDERALIGNMENT', 'CAP_FEEDERORDER', 'CAP_REACQUIREALLOWED',
    'CAP_BATTERYMINUTES', 'CAP_BATTERYPERCENTAGE', 'ICAP_AUTOBRIGHT',
    'ICAP_BRIGHTNESS', 'ICAP_CONTRAST', 'ICAP_CUSTHALFTONE',
    'ICAP_EXPOSURETIME', 'ICAP_FILTER', 'ICAP_FLASHUSED', 'ICAP_GAMMA',
    'ICAP_HALFTONES', 'ICAP_HIGHLIGHT', 'ICAP_IMAGEFILEFORMAT',
    'ICAP_LAMPSTATE', 'ICAP_LIGHTSOURCE', 'ICAP_ORIENTATION',
    'ICAP_PHYSICALWIDTH', 'ICAP_PHYSICALHEIGHT', 'ICAP_SHADOW', 'ICAP_FRAMES',
    'ICAP_XNATIVERESOLUTION', 'ICAP_YNATIVERESOLUTION', 'ICAP_XRESOLUTION',
    'ICAP_YRESOLUTION', 'ICAP_MAXFRAMES', 'ICAP_TILES', 'ICAP_BITORDER',
    'ICAP_CCITTKFACTOR', 'ICAP_LIGHTPATH', 'ICAP_PIXELFLAVOR',
    'ICAP_PLANARCHUNKY', 'ICAP_ROTATION', 'ICAP_SUPPORTEDSIZES',
    'ICAP_THRESHOLD', 'ICAP_XSCALING', 'ICAP_YSCALING', 'ICAP_BITORDERCODES',
    'ICAP_PIXELFLAVORCODES', 'ICAP_JPEGPIXELTYPE', 'ICAP_TIMEFILL',
    'ICAP_BITDEPTH', 'ICAP_BITDEPTHREDUCTION', 'ICAP_UNDEFINEDIMAGESIZE',
    'ICAP_IMAGEDATASET', 'ICAP_EXTIMAGEINFO', 'ICAP_MINIMUMHEIGHT',
    'ICAP_MINIMUMWIDTH', 'ICAP_FLIPROTATION', 'ICAP_BARCODEDETECTIONENABLED',
    'ICAP_SUPPORTEDBARCODETYPES', 'ICAP_BARCODEMAXSEARCHPRIORITIES',
    'ICAP_BARCODESEARCHPRIORITIES', 'ICAP_BARCODESEARCHMODE',
    'ICAP_BARCODEMAXRETRIES', 'ICAP_BARCODETIMEOUT', 'ICAP_ZOOMFACTOR',
    'ICAP_PATCHCODEDETECTIONENABLED', 'ICAP_SUPPORTEDPATCHCODETYPES',
    'ICAP_PATCHCODEMAXSEARCHPRIORITIES', 'ICAP_PATCHCODESEARCHPRIORITIES',
    'ICAP_PATCHCODESEARCHMODE', 'ICAP_PATCHCODEMAXRETRIES',
    'ICAP_PATCHCODETIMEOUT', 'ICAP_FLASHUSED2', 'ICAP_IMAGEFILTER',
    'ICAP_NOISEFILTER', 'ICAP_OVERSCAN', 'ICAP_AUTOMATICBORDERDETECTION',
    'ICAP_AUTOMATICDESKEW', 'ICAP_AUTOMATICROTATE', 'ICAP_JPEGQUALITY',
    'ACAP_AUDIOFILEFORMAT', 'ACAP_XFERMECH');

  {IDs for the capabilities above}
  CapabilityID: Array [0..MAX_CAPABILITY - 1] of TTableInfo = (
    (ID:$0001; DefType:TWTY_INT16), (ID:$0100; DefType:TWTY_UINT16),
    (ID:$0101; DefType:TWTY_UINT16), (ID:$0102; DefType:TWTY_UINT16),
    (ID:$0103; DefType:TWTY_UINT16), (ID:$1000; DefType:TWTY_STR128),
    (ID:$1001; DefType:TWTY_STR255), (ID:$1002; DefType:TWTY_BOOL),
    (ID:$1003; DefType:TWTY_BOOL), (ID:$1004; DefType:TWTY_STR32),
    (ID:$1005; DefType:TWTY_UINT16), (ID:$1006; DefType:TWTY_UINT16),
    (ID:$1007; DefType:TWTY_BOOL), (ID:$1008; DefType:TWTY_BOOL),
    (ID:$1009; DefType:TWTY_BOOL), (ID:$100a; DefType:TWTY_BOOL),
    (ID:$100b; DefType:TWTY_BOOL), (ID:$100c; DefType:TWTY_UINT16),
    (ID:$100d; DefType:TWTY_BOOL), (ID:$100e; DefType:TWTY_BOOL),
    (ID:$100f; DefType:TWTY_BOOL), (ID:$1010; DefType:TWTY_BOOL),
    (ID:$1011; DefType:TWTY_BOOL), (ID:$1012; DefType:TWTY_UINT16),
    (ID:$1013; DefType:TWTY_BOOL), (ID:$1014; DefType:TWTY_BOOL),
    (ID:$1015; DefType:TWTY_BOOL), (ID:$1016; DefType:TWTY_UINT32),
    (ID:$1017; DefType:TWTY_UINT16), (ID:$1018; DefType:TWTY_UINT16),
    (ID:$1019; DefType:TWTY_INT32), (ID:$101a; DefType:TWTY_INT32),
    (ID:$101b; DefType:TWTY_INT32), (ID:$101c; DefType:TWTY_INT32),
    (ID:$101d; DefType:TWTY_UINT16), (ID:$101e; DefType:TWTY_UINT32),
    (ID:$101f; DefType:TWTY_STR32), (ID:$1020; DefType:TWTY_UINT16),
    (ID:$1021; DefType:TWTY_BOOL), (ID:$1022; DefType:TWTY_UINT16),
    (ID:$1024; DefType:TWTY_STR255), (ID:$1026; DefType:TWTY_UINT16),
    (ID:$1027; DefType:TWTY_BOOL), (ID:$1028; DefType:TWTY_UINT32),
    (ID:$1029; DefType:TWTY_UINT16), (ID:$102a; DefType:TWTY_STR255),
    (ID:$102b; DefType:TWTY_STR255), (ID:$102c; DefType:TWTY_UINT16),
    (ID:$102d; DefType:TWTY_UINT16), (ID:$102e; DefType:TWTY_UINT16),
    (ID:$1030; DefType:TWTY_BOOL), (ID:$1032; DefType:TWTY_INT32),
    (ID:$1033; DefType:TWTY_INT16), (ID:$1100; DefType:TWTY_BOOL),
    {1101 = ICAP_BRIGHTNESS}
    (ID:$1101; DefType:TWTY_FIX32), (ID:$1103; DefType:TWTY_FIX32),
    (ID:$1104; DefType:TWTY_UINT8), (ID:$1105; DefType:TWTY_FIX32),
    (ID:$1106; DefType:TWTY_UINT16), (ID:$1107; DefType:TWTY_BOOL),
    (ID:$1108; DefType:TWTY_FIX32), (ID:$1109; DefType:TWTY_STR32),
    (ID:$110a; DefType:TWTY_FIX32), (ID:$110c; DefType:TWTY_UINT16),
    (ID:$110d; DefType:TWTY_BOOL), (ID:$110e; DefType:TWTY_UINT16),
    (ID:$1110; DefType:TWTY_UINT16), (ID:$1111; DefType:TWTY_FIX32),
    (ID:$1112; DefType:TWTY_FIX32), (ID:$1113; DefType:TWTY_FIX32),
    (ID:$1114; DefType:TWTY_FRAME), (ID:$1116; DefType:TWTY_FIX32),
    (ID:$1117; DefType:TWTY_FIX32), (ID:$1118; DefType:TWTY_FIX32),
    (ID:$1119; DefType:TWTY_FIX32), (ID:$111a; DefType:TWTY_UINT16),
    (ID:$111b; DefType:TWTY_BOOL), (ID:$111c; DefType:TWTY_UINT16),
    (ID:$111d; DefType:TWTY_UINT16), (ID:$111e; DefType:TWTY_UINT16),
    (ID:$111f; DefType:TWTY_UINT16), (ID:$1120; DefType:TWTY_UINT16),
    (ID:$1121; DefType:TWTY_FIX32), (ID:$1122; DefType:TWTY_UINT16),
    (ID:$1123; DefType:TWTY_FIX32), (ID:$1124; DefType:TWTY_FIX32),
    (ID:$1125; DefType:TWTY_FIX32), (ID:$1126; DefType:TWTY_UINT16),
    (ID:$1127; DefType:TWTY_UINT16), (ID:$1128; DefType:TWTY_UINT16),
    (ID:$112a; DefType:TWTY_UINT16), (ID:$112b; DefType:TWTY_UINT16),
    (ID:$112c; DefType:TWTY_UINT16), (ID:$112d; DefType:TWTY_BOOL),
    (ID:$112e; DefType:TWTY_UINT32), (ID:$112f; DefType:TWTY_BOOL),
    (ID:$1130; DefType:TWTY_FIX32), (ID:$1131; DefType:TWTY_FIX32),
    (ID:$1136; DefType:TWTY_UINT16), (ID:$1137; DefType:TWTY_BOOL),
    (ID:$1138; DefType:TWTY_UINT16), (ID:$1139; DefType:TWTY_UINT32),
    (ID:$113a; DefType:TWTY_UINT16), (ID:$113b; DefType:TWTY_UINT16),
    (ID:$113c; DefType:TWTY_UINT32), (ID:$113d; DefType:TWTY_UINT32),
    (ID:$113e; DefType:TWTY_UINT16), (ID:$113f; DefType:TWTY_BOOL),
    (ID:$1140; DefType:TWTY_UINT16), (ID:$1141; DefType:TWTY_UINT32),
    (ID:$1142; DefType:TWTY_UINT16), (ID:$1143; DefType:TWTY_UINT16),
    (ID:$1144; DefType:TWTY_UINT32), (ID:$1145; DefType:TWTY_UINT32),
    (ID:$1146; DefType:TWTY_UINT16), (ID:$1147; DefType:TWTY_UINT16),
    (ID:$1148; DefType:TWTY_UINT16), (ID:$1149; DefType:TWTY_UINT16),
    (ID:$1150; DefType:TWTY_BOOL), (ID:$1151; DefType:TWTY_BOOL),
    (ID:$1152; DefType:TWTY_BOOL), (ID:$1153; DefType:TWTY_INT16),
    (ID:$1201; DefType:TWTY_UINT16), (ID:$1202; DefType:TWTY_UINT16));

  PixelType: Array[0..MAX_PIXELTYPE - 1] of TCapabilityInfo = (
     (STR:'TWPT_BW'; ID:TWPT_BW),
     (STR:'TWPT_GRAY'; ID:TWPT_GRAY),
     (STR:'TWPT_RGB'; ID:TWPT_RGB),
     (STR:'TWPT_PALETTE'; ID:TWPT_PALETTE),
     (STR:'TWPT_CMY'; ID:TWPT_CMY),
     (STR:'TWPT_CMYK'; ID:TWPT_CMYK),
     (STR:'TWPT_YUV'; ID:TWPT_YUV),
     (STR:'TWPT_YUVK'; ID:TWPT_YUVK),
     (STR:'TWPT_CIEXYZ'; ID:TWPT_CIEXYZ));

  PaletteType: Array[0..MAX_PALETTETYPE - 1] of TCapabilityInfo = (
     (STR: 'TWPA_RGB'; ID: TWPA_RGB),
     (STR: 'TWPA_GRAY'; ID: TWPA_GRAY),
     (STR: 'TWPA_CMY'; ID: TWPA_CMY));

  FormatType: Array[0..MAX_FORMATTYPE - 1] of TCapabilityInfo = (
     (STR:'TWFF_TIFF'; ID:TWFF_TIFF),
     (STR:'TWFF_PICT'; ID:TWFF_PICT),
     (STR:'TWFF_BMP'; ID:TWFF_BMP),
     (STR:'TWFF_XBM'; ID:TWFF_XBM),
     (STR:'TWFF_JFIF'; ID:TWFF_JFIF));

  CompressionType: Array[0..MAX_COMPRESSIONTYPE - 1] of TCapabilityInfo = (
     (STR:'TWCP_NONE'; ID:TWCP_NONE),
     (STR:'TWCP_PACKBITS'; ID:TWCP_PACKBITS),
     (STR:'TWCP_GROUP31D'; ID:TWCP_GROUP31D),
     (STR:'TWCP_GROUP31DEOL'; ID:TWCP_GROUP31DEOL),
     (STR:'TWCP_GROUP32D'; ID:TWCP_GROUP32D),
     (STR:'TWCP_GROUP4'; ID:TWCP_GROUP4),
     (STR:'TWCP_JPEG'; ID:TWCP_JPEG),
     (STR:'TWCP_LZW'; ID:TWCP_LZW),
     (STR:'TWCP_JBIG'; ID:TWCP_JBIG));


  VerLanguageType: Array[0..MAX_VERLANGUAGETYPE - 1] of TCapabilityInfo = (
     (STR:'TWLG_DAN'; ID:TWLG_DAN),
     (STR:'TWLG_DUT'; ID:TWLG_DUT),
     (STR:'TWLG_ENG'; ID:TWLG_ENG),
     (STR:'TWLG_FCF'; ID:TWLG_FCF),
     (STR:'TWLG_FIN'; ID:TWLG_FIN),
     (STR:'TWLG_FRN'; ID:TWLG_FRN),
     (STR:'TWLG_GER'; ID:TWLG_GER),
     (STR:'TWLG_ICE'; ID:TWLG_ICE),
     (STR:'TWLG_ITN'; ID:TWLG_ITN),
     (STR:'TWLG_NOR'; ID:TWLG_NOR),
     (STR:'TWLG_POR'; ID:TWLG_POR),
     (STR:'TWLG_SPA'; ID:TWLG_SPA),
     (STR:'TWLG_SWE'; ID:TWLG_SWE),
     (STR:'TWLG_USA'; ID:TWLG_USA));

  VerContryType: Array[0..MAX_VERCONTRYTYPE - 1] of TCapabilityInfo = (
     (STR:'TWCY_AFGHANISTAN';ID:TWCY_AFGHANISTAN),
     (STR:'TWCY_ALGERIA'; ID:TWCY_ALGERIA),
     (STR:'TWCY_AMERICANSAMOA'; ID:TWCY_AMERICANSAMOA),
     (STR:'TWCY_ANDORRA'; ID:TWCY_ANDORRA),
     (STR:'TWCY_ANGOLA'; ID:TWCY_ANGOLA),
     (STR:'TWCY_ANGUILLA'; ID:TWCY_ANGUILLA),
     (STR:'TWCY_ANTIGUA'; ID:TWCY_ANTIGUA),
     (STR:'TWCY_ARGENTINA'; ID:TWCY_ARGENTINA),
     (STR:'TWCY_ARUBA'; ID:TWCY_ARUBA),
     (STR:'TWCY_ASCENSIONI'; ID:TWCY_ASCENSIONI),
     (STR:'TWCY_AUSTRALIA'; ID:TWCY_AUSTRALIA),
     (STR:'TWCY_AUSTRIA'; ID:TWCY_AUSTRIA),
     (STR:'TWCY_BAHAMAS'; ID:TWCY_BAHAMAS),
     (STR:'TWCY_BAHRAIN'; ID:TWCY_BAHRAIN),
     (STR:'TWCY_BANGLADESH'; ID:TWCY_BANGLADESH),
     (STR:'TWCY_BARBADOS'; ID:TWCY_BARBADOS),
     (STR:'TWCY_BELGIUM'; ID:TWCY_BELGIUM),
     (STR:'TWCY_BELIZE'; ID:TWCY_BELIZE),
     (STR:'TWCY_BENIN'; ID:TWCY_BENIN),
     (STR:'TWCY_BERMUDA'; ID:TWCY_BERMUDA),
     (STR:'TWCY_BHUTAN'; ID:TWCY_BHUTAN),
     (STR:'TWCY_BOLIVIA'; ID:TWCY_BOLIVIA),
     (STR:'TWCY_BOTSWANA'; ID:TWCY_BOTSWANA),
     (STR:'TWCY_BRITAIN'; ID:TWCY_BRITAIN),
     (STR:'TWCY_BRITVIRGINIS'; ID:TWCY_BRITVIRGINIS),
     (STR:'TWCY_BRAZIL'; ID:TWCY_BRAZIL),
     (STR:'TWCY_BRUNEI'; ID:TWCY_BRUNEI),
     (STR:'TWCY_BULGARIA'; ID:TWCY_BULGARIA),
     (STR:'TWCY_BURKINAFASO'; ID:TWCY_BURKINAFASO),
     (STR:'TWCY_BURMA'; ID:TWCY_BURMA),
     (STR:'TWCY_BURUNDI'; ID:TWCY_BURUNDI),
     (STR:'TWCY_CAMAROON'; ID:TWCY_CAMAROON),
     (STR:'TWCY_CANADA'; ID:TWCY_CANADA),
     (STR:'TWCY_CAPEVERDEIS'; ID:TWCY_CAPEVERDEIS),
     (STR:'TWCY_CAYMANIS'; ID:TWCY_CAYMANIS),
     (STR:'TWCY_CENTRALAFREP'; ID:TWCY_CENTRALAFREP),
     (STR:'TWCY_CHAD'; ID:TWCY_CHAD),
     (STR:'TWCY_CHILE'; ID:TWCY_CHILE),
     (STR:'TWCY_CHINA'; ID:TWCY_CHINA),
     (STR:'TWCY_CHRISTMASIS'; ID:TWCY_CHRISTMASIS),
     (STR:'TWCY_COCOSIS'; ID:TWCY_COCOSIS),
     (STR:'TWCY_COLOMBIA'; ID:TWCY_COLOMBIA),
     (STR:'TWCY_COMOROS'; ID:TWCY_COMOROS),
     (STR:'TWCY_CONGO'; ID:TWCY_CONGO),
     (STR:'TWCY_COOKIS'; ID:TWCY_COOKIS),
     (STR:'TWCY_COSTARICA'; ID:TWCY_COSTARICA),
     (STR:'TWCY_CUBA'; ID:TWCY_CUBA),
     (STR:'TWCY_CYPRUS'; ID:TWCY_CYPRUS),
     (STR:'TWCY_CZECHOSLOVAKIA'; ID:TWCY_CZECHOSLOVAKIA),
     (STR:'TWCY_DENMARK'; ID:TWCY_DENMARK),
     (STR:'TWCY_DJIBOUTI'; ID:TWCY_DJIBOUTI),
     (STR:'TWCY_DOMINICA'; ID:TWCY_DOMINICA),
     (STR:'TWCY_DOMINCANREP'; ID:TWCY_DOMINCANREP),
     (STR:'TWCY_EASTERIS'; ID:TWCY_EASTERIS),
     (STR:'TWCY_ECUADOR'; ID:TWCY_ECUADOR),
     (STR:'TWCY_EGYPT'; ID:TWCY_EGYPT),
     (STR:'TWCY_ELSALVADOR'; ID:TWCY_ELSALVADOR),
     (STR:'TWCY_EQGUINEA'; ID:TWCY_EQGUINEA),
     (STR:'TWCY_ETHIOPIA'; ID:TWCY_ETHIOPIA),
     (STR:'TWCY_FALKLANDIS'; ID:TWCY_FALKLANDIS),
     (STR:'TWCY_FAEROEIS'; ID:TWCY_FAEROEIS),
     (STR:'TWCY_FIJIISLANDS'; ID:TWCY_FIJIISLANDS),
     (STR:'TWCY_FINLAND'; ID:TWCY_FINLAND),
     (STR:'TWCY_FRANCE'; ID:TWCY_FRANCE),
     (STR:'TWCY_FRANTILLES'; ID:TWCY_FRANTILLES),
     (STR:'TWCY_FRGUIANA'; ID:TWCY_FRGUIANA),
     (STR:'TWCY_FRPOLYNEISA'; ID:TWCY_FRPOLYNEISA),
     (STR:'TWCY_FUTANAIS'; ID:TWCY_FUTANAIS),
     (STR:'TWCY_GABON'; ID:TWCY_GABON),
     (STR:'TWCY_GAMBIA'; ID:TWCY_GAMBIA),
     (STR:'TWCY_GERMANY'; ID:TWCY_GERMANY),
     (STR:'TWCY_GHANA'; ID:TWCY_GHANA),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -