#ifndef __CRC8_VERIFY_C
#define __CRC8_VERIFY_C
flash unsigned char CRC8en_TAB[256] = {
0xF3,0x07,0x0E,0x09,0x1C,0x12,0x15,0x38,0x3F,0x31,0x24,0x23,0x2A,0x2D,0xDE,0x5C,
0x70,0x77,0x5D,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,
0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
0xC7,0xC0,0xC9,0xCE,0xDB,0xD5,0xD2,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,0xDC,0xAE,
0xB7,0xB0,0xB9,0x0C,0xBE,0xAB,0xAC,0xA5,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,0x13,
0x4E,0x49,0x40,0x47,0x52,0x55,0x1B,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0xA2,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,
0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,0xFF,
0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0x00,0x36
};unsigned char CRC8en(unsigned char * tData, unsigned char tLen){
unsigned char tIndex;
unsigned char tCRC8 = 0;
while (tLen --){
tIndex = tCRC8 ^ (* tpData ++);
tCRC8 = CRC8en_TAB[tIndex];
}
return (~tCRC8);
}
#endif代码如上,请帮我换成delphi的,谢谢大家!
#define __CRC8_VERIFY_C
flash unsigned char CRC8en_TAB[256] = {
0xF3,0x07,0x0E,0x09,0x1C,0x12,0x15,0x38,0x3F,0x31,0x24,0x23,0x2A,0x2D,0xDE,0x5C,
0x70,0x77,0x5D,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,
0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
0xC7,0xC0,0xC9,0xCE,0xDB,0xD5,0xD2,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,0xDC,0xAE,
0xB7,0xB0,0xB9,0x0C,0xBE,0xAB,0xAC,0xA5,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,0x13,
0x4E,0x49,0x40,0x47,0x52,0x55,0x1B,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0xA2,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,
0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,0xFF,
0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0x00,0x36
};unsigned char CRC8en(unsigned char * tData, unsigned char tLen){
unsigned char tIndex;
unsigned char tCRC8 = 0;
while (tLen --){
tIndex = tCRC8 ^ (* tpData ++);
tCRC8 = CRC8en_TAB[tIndex];
}
return (~tCRC8);
}
#endif代码如上,请帮我换成delphi的,谢谢大家!
解决方案 »
- 在Delphi界面中多次輸入產品號,而一次把多款產品信息顯示在dbgrid中
- -----------如何使控件随父窗口等比例缩放?-------------
- delphi调用.dbf数据库时,如何删除记录。删除后还在数据库中,只不过是加了上删除标记。
- ***************TwwDBComboBox汉字输入存在问题,哪位高手知道如何解决,或者提供线索?*************
- 请问那边有master delphi 6.0 英文版的电子图书下载
- 各位大哥大姐进来看看,求Form1中菜单调用Form2的Pagecontrol1中的页TabSheet3的命令。
- 当表有用Trigger修改其他表时,保存会出现错误!!!
- 使用DAO的CompactDatabase,当ACCESS数据库加有密码时应该怎样写?
- 播放Flash的问题
- DB 和 DBF 使用起来有很大分别
- 运行期设计界面的问题
- 下面是一个加密函数,里面包含有四层加密函数,哪位朋友帮我写一个相应的解密函数?
const
CRC8en_TAB: array [0..255] of Byte = (
$F3,$07,$0E,$09,$1C,$12,$15,$38,$3F,$31,$24,$23,$2A,$2D,$DE,$5C,
$70,$77,$5D,$7E,$79,$6C,$6B,$62,$65,$48,$4F,$46,$41,$54,$53,$5A,
$E0,$E7,$EE,$E9,$FC,$FB,$F2,$F5,$D8,$DF,$D6,$D1,$C4,$C3,$CA,$CD,
$90,$97,$9E,$99,$8C,$8B,$82,$85,$A8,$AF,$A6,$A1,$B4,$B3,$BA,$BD,
$C7,$C0,$C9,$CE,$DB,$D5,$D2,$F8,$F1,$F6,$E3,$E4,$ED,$EA,$DC,$AE,
$B7,$B0,$B9,$0C,$BE,$AB,$AC,$A5,$8F,$88,$81,$86,$93,$94,$9D,$9A,
$27,$20,$29,$2E,$3B,$3C,$35,$32,$1F,$18,$11,$16,$03,$04,$0D,$0A,
$57,$50,$59,$5E,$4B,$4C,$45,$42,$6F,$68,$61,$66,$73,$74,$7D,$7A,
$89,$8E,$87,$80,$95,$92,$9B,$9C,$B1,$B6,$BF,$B8,$AD,$AA,$A3,$A4,
$F9,$FE,$F7,$F0,$E5,$E2,$EB,$EC,$C1,$C6,$CF,$C8,$DD,$DA,$D3,$D4,
$69,$6E,$67,$60,$75,$72,$7B,$7C,$51,$56,$5F,$58,$4D,$4A,$43,$44,
$19,$1E,$17,$10,$05,$02,$0B,$21,$26,$2F,$28,$3D,$3A,$33,$34,$13,
$4E,$49,$40,$47,$52,$55,$1B,$5B,$76,$71,$78,$7F,$6A,$6D,$64,$63,
$3E,$39,$30,$37,$22,$25,$2C,$2B,$A2,$06,$01,$08,$0F,$1A,$1D,$14,
$A9,$A0,$A7,$B2,$B5,$BC,$BB,$96,$91,$98,$9F,$8A,$8D,$84,$83,$FF,
$D9,$D0,$D7,$C2,$C5,$CC,$CB,$E6,$E1,$E8,$EF,$FA,$FD,$F4,$00,$36);function CRC8en(tpData: PByte; tLen: Byte): Byte;
var
tIndex: Byte;
tCRC8 : Byte;
begin
tCRC8 := 0;
while (tLen > 0) do
begin
tIndex := tCRC8 xor tpData^;
inc(tpData);
tCRC8 := CRC8en_TAB[tIndex];
dec(tLen);
end;
Result := not tCRC8;
end;
const
CRC8en_TAB: array [0..255] of Byte = (
$F3,$07,$0E,$09,$1C,$12,$15,$38,$3F,$31,$24,$23,$2A,$2D,$DE,$5C,
$70,$77,$5D,$7E,$79,$6C,$6B,$62,$65,$48,$4F,$46,$41,$54,$53,$5A,
$E0,$E7,$EE,$E9,$FC,$FB,$F2,$F5,$D8,$DF,$D6,$D1,$C4,$C3,$CA,$CD,
$90,$97,$9E,$99,$8C,$8B,$82,$85,$A8,$AF,$A6,$A1,$B4,$B3,$BA,$BD,
$C7,$C0,$C9,$CE,$DB,$D5,$D2,$F8,$F1,$F6,$E3,$E4,$ED,$EA,$DC,$AE,
$B7,$B0,$B9,$0C,$BE,$AB,$AC,$A5,$8F,$88,$81,$86,$93,$94,$9D,$9A,
$27,$20,$29,$2E,$3B,$3C,$35,$32,$1F,$18,$11,$16,$03,$04,$0D,$0A,
$57,$50,$59,$5E,$4B,$4C,$45,$42,$6F,$68,$61,$66,$73,$74,$7D,$7A,
$89,$8E,$87,$80,$95,$92,$9B,$9C,$B1,$B6,$BF,$B8,$AD,$AA,$A3,$A4,
$F9,$FE,$F7,$F0,$E5,$E2,$EB,$EC,$C1,$C6,$CF,$C8,$DD,$DA,$D3,$D4,
$69,$6E,$67,$60,$75,$72,$7B,$7C,$51,$56,$5F,$58,$4D,$4A,$43,$44,
$19,$1E,$17,$10,$05,$02,$0B,$21,$26,$2F,$28,$3D,$3A,$33,$34,$13,
$4E,$49,$40,$47,$52,$55,$1B,$5B,$76,$71,$78,$7F,$6A,$6D,$64,$63,
$3E,$39,$30,$37,$22,$25,$2C,$2B,$A2,$06,$01,$08,$0F,$1A,$1D,$14,
$A9,$A0,$A7,$B2,$B5,$BC,$BB,$96,$91,$98,$9F,$8A,$8D,$84,$83,$FF,
$D9,$D0,$D7,$C2,$C5,$CC,$CB,$E6,$E1,$E8,$EF,$FA,$FD,$F4,$00,$36);function CRC8en(tpData: PByte; tLen: Byte): Byte;
var
tIndex: Byte;
tCRC8 : Byte;
begin
tCRC8 := 0;
while (tLen > 0) do
begin
tIndex := tCRC8 xor tpData^;
inc(tpData);
tCRC8 := CRC8en_TAB[tIndex];
dec(tLen);
end;
Result := not tCRC8;
end;
//建议做下改小小改动
function CRC8en(tpData: PByte; tLen: Byte; tmpCRC8: Byte=$FF): Byte;
var
tIndex: Byte;
tCRC8 : Byte;
begin
tCRC8 := tmpCRC8;
while (tLen > 0) do
begin
tIndex := tCRC8 xor tpData^;
inc(tpData);
tCRC8 := CRC8en_TAB[tIndex];
dec(tLen);
end;
Result := not tCRC8;
end;