FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Definitivamente, no estan ni las variables inicializadas. No tienes eso siquiera?
No te han dicho que algoritmo de crc usan? Nota: Y usando https://crccalc.com/ no da con ninguno de los algoritmos comunes.
__________________
El malabarista. Última edición por mamcx fecha: 18-02-2020 a las 02:58:29. |
#2
|
||||
|
||||
Cita:
Pero faltan datos de inicialización del CRC para que de el resultado esperado. Saludos. |
#3
|
||||
|
||||
Hola a todos,
Qué puede uno decir... ya sabía yo (incluso asumía) que iban a tratar de echarme una mano... ¡desde luego si el ClubDelphi no existiera habría que inventarlo! Con todos vosotros en el mismo, claro. Ya he informado a quien me encargó la tarea que, aparentemente, algo falta en el código... puesto que no es posible obtener la misma salida de la entrada proporcionada a modo de ejemplo. Ciertamente, se me pasó comentar aquí que ofrecieron algo de documentación: http://srecord.sourceforge.net/crc16-ccitt.html ... sin embargo, no lo comenté, porque, buscando información sobre este algoritmo en concreto, conseguí cierta ayuda a través de StackOverflow (y el inefable Remy Lebeau), pero, resulta que ocurría lo propio: de la misma entrada, no se obtenía la misma salida... empero, el algoritmo está bien implementado, por lo que se ve, por los ejemplos de entrada y salida que se ofrecen en la propia documentación, que, en este caso sí parecen coincidir. De modo que pensé que acaso no había que seguir esa documentación al pie de la letra, sino que, en realidad el cálculo del CRC en cuestión no seguía esa documentación (aunque curiosamente la enlazaban...) sino que era sólo el código C++ que nos habían dado a modo de ejemplo. Empero, como se ha visto, este código no produce la salida esperada... Y yo de mí no me fiaba, de mi traducción a Delphi, quiero decir, pero, de la vuestra me fío, de modo que, algo raro hay aquí... Os mantendré informado sobre este asunto, a ver en qué queda todo, y, una vez más, ¡muchísimas gracias por vuestra ayuda! |
#4
|
||||
|
||||
Por si te sirve de ayuda, inicializando crc = 3077 da el resultado esperado.
Saludos. |
#5
|
||||
|
||||
Hola a todos,
Joroba, escafandra... claro que sirve, puesto que al menos lo diré... a ver si es que ese es el número "mágico"... voy a comentarlo y en todo caso os mantengo informados de todo. ¡Gracias otra vez, majo! |
#6
|
||||
|
||||
Cita:
A favor de 3077 (0C06h) es que es el único número de 0 - 65535 que consigue que CRC sea 5320 para el algoritmo implementado Saludos. |
#7
|
||||
|
||||
Hola a todos,
Je je je... vaya, que los has probado todos... Ya está comunicado esto al interesado... estamos aquí comunicándonos entre varios: ahora tengo que esperar la respuesta que le den a quien yo he contactado... Ciertamente, el 3077 tiene no poco a favor... sin embargo, aquí hay varias dudas: tal vez sea ese número el que haya que usar para inicializar la variable "crc", empero, se hace raro, entonces, que no lo mencionasen. Por lo demás, mencionan cierta documentación, que, luego parece no tener nada que ver... o sea... vamos a ver en qué queda todo esto. ¡Yo publicaré aquí lo que sea al final! Y muchas gracias de nuevo, escafandra, por tu interés y ayuda. |
|
|
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 |
|