Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 18-02-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola David.

Aunque tarde, por que ya el trabajo está hecho, te pongo los códigos que usé para mis pruebas.

C++
Código PHP:
...
#define USHORT unsigned short
...

int crc16(const string &dataUSHORT crc)
{
  
USHORT x(0);
  
int count data.length();

  while (--
count >= 0)
  {
    
USHORT z = (USHORT)(data[x++] << 8);
    
crc = (USHORT)(crc z);
    for(
int i 80; --i)
      
crc = (crc 0x8000) ? (USHORT)(crc << 0x1021) : (USHORT)(crc << 1);
  }
    return 
crc;
}

void main()
{
  
string data "13|0000123|1|Maximilian|Mustermann|05051999|21092019";

  
cout <<  crc16(data3077) << endl
Delphi:
Código Delphi [-]

function Crc16(const data: string; crc: Word): Word;
var
  x, z: Word;
  count, i: Integer;
begin
  count := Pred(data.Length);
  x     := 0;
  while (count >= 0) do
  begin
    Dec(count);
    Inc(x);
    z   := Word(data[x]) shl 8;
    crc := crc xor z;
    for i := 7 downto 0 do
      if crc and $8000 <> 0 then
        crc := (crc shl 1 xor $1021)
      else
        crc := (crc shl 1);
  end;
  Result := crc;
end;

...
var
  data : string;
begin
  data :=  '13|0000123|1|Maximilian|Mustermann|05051999|21092019';
  ShowMessage(Crc16(data,3077).ToString);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-02-2020 a las 20:57:02.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda para Convertir Todo este código en Function MaxiDucoli Internet 3 01-10-2017 22:29:07
Convertir cadena aleatoria en cadena de N caracteres DANY OOP 3 12-03-2009 20:49:21
Problemas para validar entrada de datos en delphi 7 Nelly Varios 1 27-03-2007 23:31:25
Tengo un lio con cierto código David OOP 11 13-10-2006 20:07:34
Concatenar Cadena Larga dentro de codigo Delphi JoanKa Conexión con bases de datos 6 04-03-2005 17:53:44


La franja horaria es GMT +2. Ahora son las 01:12:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi