Ver Mensaje Individual
  #22  
Antiguo 05-03-2020
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

¡ecfisa! A ver si lo que has probado ha sido el código de scafandra...

¡escafandra! En efecto, tú código produce el resultado esperado, empero, fíjate cómo obtengo yo el resultado "para mostrarlo"... no sé si es la forma más adecuada... aunque parece funcionar, es decir, obtengo el tan deseado 5320... como una cadena...

Código Delphi [-]
var
  S: String;
  CRC: ABYTE;
  Result: string;
begin
  S:= '13|0000123|1|Maximilian|Mustermann|05051999|21092019';
  CRC := CCITTx1D0F(PAnsiChar(S), Length(S));

  Result := IntToHex(CRC[0], 0) + IntToHex(CRC[1], 0);

  // En efecto, se muestra 5320
  ShowMessage(Result);
end;

Me queda la duda de que esa sea la mejor forma de obtener finalmente el valor 5320... pero está claro que os debo una... sino dos... porque me habéis salvado de esta tarea: ahora sólo queda implementarlo dentro de un plugin que a su vez será usado en el programa que necesita calcular el CRC de marras...

Sin vosotros me hubiera sido imposible... y es que uno está muy falto de conocimientos, o, al menos, de los conocimientos que aquí sin duda eran necesarios. Espero poder responderos de alguna manera en otra ocasión, aunque, con vuestro nivel... tendrá que ser invitándoos a un refrigerio.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 06-03-2020 a las 10:58:52.
Responder Con Cita