FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Un CRC de 16 bits para nuestrs aplicaciones
[code]
// // Nota: la variable Crc (pasada por referencia) es "acumulativa" y debe // inicializarse en cero antes de usar el procedimiento // procedure UpdCrc16(CP: Byte; Var Crc: Word); Var Indice: Byte; Valtable: Word; Begin Indice := Hi(Crc); ValTable := Tabla_CRC[Indice]; Crc := ValTable Xor (Lo(Crc) Shl 8) Xor CP; End; // // Calcular CRC de 16 bits a partir de una cadena ASC de cualquier longitud // Function Calcular_CRC(Cadena: String): Word; Var C: Byte; CRC: Word; // Acumulador de CRC Begin CRC:=0; // Inicializar acumulador de CRC For C:=1 To Length(Cadena) Do // Se modific�: 0 To ... UpdCrc16(Byte(Cadena[C]),CRC); Result:=CRC; // Devolver valor de CRC End; end. [code] |
|
|
|