📄 ecc200.~pas
字号:
{ *********************************************************************** }
{ }
{ 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 + -