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

📄 ecc200.~pas

📁 delphi实现的二 维 码 生成 控制代 码
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:

{ *********************************************************************** }
{                                                                         }
{ DataMatrix ECC200 Library                                               }
{                                                                         }
{ Copyright (c) 2002-2006 Queek Software Corporation, Jinan, China        }
{                                                                         }
{ Author: Xu Yeping (quicmous)                                            }
{ Email:  xuyeping@yeah.net quicmous@hotmail.com                          }
{                                                                         }
{ *********************************************************************** }

//{$DEFINE DEMO}
unit ECC200;

interface
uses DateUtils;

type

  TByteArray = array of byte;

  TECC200Size = (
    ecc200_Autosize,
    ecc200_10x10,
    ecc200_12x12,
    ecc200_14x14,
    ecc200_16x16,
    ecc200_18x18,
    ecc200_20x20,
    ecc200_22x22,
    ecc200_24x24,
    ecc200_26x26,
    ecc200_32x32,
    ecc200_36x36,
    ecc200_40x40,
    ecc200_44x44,
    ecc200_48x48,
    ecc200_52x52,
    ecc200_64x64,
    ecc200_72x72,
    ecc200_80x80,
    ecc200_88x88,
    ecc200_96x96,
    ecc200_104x104,
    ecc200_120x120,
    ecc200_132x132,
    ecc200_144x144,
    ecc200_8x18,
    ecc200_8x32,
    ecc200_12x26,
    ecc200_12x36,
    ecc200_16x36,
    ecc200_16x48);

    TECC200Shape = (ecc200_Square, ecc200_Rectangle);

    TECC200SymbolParam = record
      Size : TECC200Size;
      Rows,
      Cols,
      RegionRows,
      RegionCols,
      RegionVCount,
      RegionHCount,
      MappingMatrixRows,
      MappingMatrixCols,
      DataLength,
      ErrorLength,
      BlockDataLength,
      BlockErrorLength,
      BlockCount: Integer;
    end;

var
  ECC200SymbolParams : array [TECC200Size] of TECC200SymbolParam = (
    (
      Size :              ecc200_Autosize;
      Rows :              0;
      Cols :              0;
      RegionRows :        0;
      RegionCols :        0;
      RegionVCount :      0;
      RegionHCount :      0;
      MappingMatrixRows : 0;
      MappingMatrixCols : 0;
      DataLength :        0;
      ErrorLength :       0;
      BlockDataLength :   0;
      BlockErrorLength :  0;
      BlockCount :        0;
    ),
    (
      Size :              ecc200_10x10;
      Rows :              10;
      Cols :              10;
      RegionRows :        8;
      RegionCols :        8;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  8;
      MappingMatrixCols :  8;
      DataLength :        3;
      ErrorLength :       5;
      BlockDataLength :   3;
      BlockErrorLength :  5;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_12x12;
      Rows :              12;
      Cols :              12;
      RegionRows :        10;
      RegionCols :        10;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  10;
      MappingMatrixCols :  10;
      DataLength :        5;
      ErrorLength :       7;
      BlockDataLength :   5;
      BlockErrorLength :  7;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_14x14;
      Rows :              14;
      Cols :              14;
      RegionRows :        12;
      RegionCols :        12;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  12;
      MappingMatrixCols :  12;
      DataLength :        8;
      ErrorLength :       10;
      BlockDataLength :   8;
      BlockErrorLength :  10;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_16x16;
      Rows :              16;
      Cols :              16;
      RegionRows :        14;
      RegionCols :        14;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  14;
      MappingMatrixCols :  14;
      DataLength :        12;
      ErrorLength :       12;
      BlockDataLength :   12;
      BlockErrorLength :  12;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_18x18;
      Rows :              18;
      Cols :              18;
      RegionRows :        16;
      RegionCols :        16;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  16;
      MappingMatrixCols :  16;
      DataLength :        18;
      ErrorLength :       14;
      BlockDataLength :   18;
      BlockErrorLength :  14;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_20x20;
      Rows :              20;
      Cols :              20;
      RegionRows :        18;
      RegionCols :        18;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  18;
      MappingMatrixCols :  18;
      DataLength :        22;
      ErrorLength :       18;
      BlockDataLength :   22;
      BlockErrorLength :  18;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_22x22;
      Rows :              22;
      Cols :              22;
      RegionRows :        20;
      RegionCols :        20;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  20;
      MappingMatrixCols :  20;
      DataLength :        30;
      ErrorLength :       20;
      BlockDataLength :   30;
      BlockErrorLength :  20;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_24x24;
      Rows :              24;
      Cols :              24;
      RegionRows :        22;
      RegionCols :        22;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  22;
      MappingMatrixCols :  22;
      DataLength :        36;
      ErrorLength :       24;
      BlockDataLength :   36;
      BlockErrorLength :  24;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_26x26;
      Rows :              26;
      Cols :              26;
      RegionRows :        24;
      RegionCols :        24;
      RegionVCount :      1;
      RegionHCount :      1;
      MappingMatrixRows :  24;
      MappingMatrixCols :  24;
      DataLength :        44;
      ErrorLength :       28;
      BlockDataLength :   44;
      BlockErrorLength :  28;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_32x32;
      Rows :              32;
      Cols :              32;
      RegionRows :        14;
      RegionCols :        14;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  28;
      MappingMatrixCols :  28;
      DataLength :        62;
      ErrorLength :       36;
      BlockDataLength :   62;
      BlockErrorLength :  36;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_36x36;
      Rows :              36;
      Cols :              36;
      RegionRows :        16;
      RegionCols :        16;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  32;
      MappingMatrixCols :  32;
      DataLength :        86;
      ErrorLength :       42;
      BlockDataLength :   86;
      BlockErrorLength :  42;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_40x40;
      Rows :              40;
      Cols :              40;
      RegionRows :        18;
      RegionCols :        18;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  36;
      MappingMatrixCols :  36;
      DataLength :        114;
      ErrorLength :       48;
      BlockDataLength :   114;
      BlockErrorLength :  48;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_44x44;
      Rows :              44;
      Cols :              44;
      RegionRows :        20;
      RegionCols :        20;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  40;
      MappingMatrixCols :  40;
      DataLength :        144;
      ErrorLength :       56;
      BlockDataLength :   144;
      BlockErrorLength :  56;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_48x48;
      Rows :              48;
      Cols :              48;
      RegionRows :        22;
      RegionCols :        22;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  44;
      MappingMatrixCols :  44;
      DataLength :        174;
      ErrorLength :       68;
      BlockDataLength :   174;
      BlockErrorLength :  68;
      BlockCount :        1;
    ),
    (
      Size :              ecc200_52x52;
      Rows :              52;
      Cols :              52;
      RegionRows :        24;
      RegionCols :        24;
      RegionVCount :      2;
      RegionHCount :      2;
      MappingMatrixRows :  48;
      MappingMatrixCols :  48;
      DataLength :        204;
      ErrorLength :       84;
      BlockDataLength :   102;
      BlockErrorLength :  42;
      BlockCount :        2;
    ),
    (
      Size :              ecc200_64x64;
      Rows :              64;
      Cols :              64;
      RegionRows :        14;
      RegionCols :        14;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  56;
      MappingMatrixCols :  56;
      DataLength :        280;
      ErrorLength :       112;
      BlockDataLength :   140;
      BlockErrorLength :  56;
      BlockCount :        2;
    ),
    (
      Size :              ecc200_72x72;
      Rows :              72;
      Cols :              72;
      RegionRows :        16;
      RegionCols :        16;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  64;
      MappingMatrixCols :  64;
      DataLength :        368;
      ErrorLength :       144;
      BlockDataLength :   92;
      BlockErrorLength :  36;
      BlockCount :        4;
    ),
    (
      Size :              ecc200_80x80;
      Rows :              80;
      Cols :              80;
      RegionRows :        18;
      RegionCols :        18;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  72;
      MappingMatrixCols :  72;
      DataLength :        456;
      ErrorLength :       192;
      BlockDataLength :   114;
      BlockErrorLength :  48;
      BlockCount :        4;
    ),
    (
      Size :              ecc200_88x88;
      Rows :              88;
      Cols :              88;
      RegionRows :        20;
      RegionCols :        20;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  80;
      MappingMatrixCols :  80;
      DataLength :        576;
      ErrorLength :       224;
      BlockDataLength :   144;
      BlockErrorLength :  56;
      BlockCount :        4;
    ),
    (
      Size :              ecc200_96x96;
      Rows :              96;
      Cols :              96;
      RegionRows :        22;
      RegionCols :        22;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  88;
      MappingMatrixCols :  88;
      DataLength :        696;
      ErrorLength :       272;
      BlockDataLength :   174;
      BlockErrorLength :  68;
      BlockCount :        4;
    ),
    (
      Size :              ecc200_104x104;
      Rows :              104;
      Cols :              104;
      RegionRows :        24;
      RegionCols :        24;
      RegionVCount :      4;
      RegionHCount :      4;
      MappingMatrixRows :  96;
      MappingMatrixCols :  96;
      DataLength :        816;
      ErrorLength :       336;
      BlockDataLength :   136;
      BlockErrorLength :  56;
      BlockCount :        6;
    ),
    (
      Size :              ecc200_120x120;
      Rows :              120;
      Cols :              120;
      RegionRows :        18;
      RegionCols :        18;
      RegionVCount :      6;
      RegionHCount :      6;
      MappingMatrixRows :  108;
      MappingMatrixCols :  108;
      DataLength :        1050;
      ErrorLength :       408;
      BlockDataLength :   175;
      BlockErrorLength :  68;
      BlockCount :        6;
    ),
    (
      Size :              ecc200_132x132;
      Rows :              132;
      Cols :              132;
      RegionRows :        20;
      RegionCols :        20;

⌨️ 快捷键说明

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