Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
Cita:
Empezado por sline Ver Mensaje
Eso mismo es lo que hago, aquí pongo 2 ejemplos:


OK: https_//batuz.eus/QRTBAI/?id=TBAI-79732487C-120521-ME4g0D7g/iyVk-038&s=HB202105&nf=00020&i=382.67&cr=189
KO: https_//batuz.eus/QRTBAI/?id=TBAI-79732487C-120521-Kv+9Uth14cqcj-236&s=HS202105&nf=00021&i=1209.10&cr=121

Confirma los crc8
En este validador parace que da otros valores
https://crccalc.com/
Estaré más atontado de lo habitual
Ya me dices
Responder Con Cita
  #2  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
Confirma los crc8
He probado con el código TBAI que viene de ejemplo "TBAI-00000006Y-251019-btFpwP8dcLGAF-" y da 237 como debe ser.

Por ejemplo este "TBAI-79732487C-120521-ME4g0D7g/iyVk-" me devuelve 038 pero en http_//crccalc.com me devuelve 070.
mientas que "TBAI-79732487C-120521-Kv+9Uth14cqcj-" devuelve 236 y es el esperado

Otro ejemplo mas sencillo:
"hola/-" la función para crc8 devuelve 035 mientras que en http_//crccalc.com devuelve 014

Uso esta función para crc8:
https_//www_clubdelphi_com/~hector/foros/showthread.php?p=534948&highlight=crc8#post534948

¿es posible que esta función tenga problemas con "/" ?
Responder Con Cita
  #3  
Antiguo 12-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
Cita:
Empezado por sline Ver Mensaje
He probado con el código TBAI que viene de ejemplo "TBAI-00000006Y-251019-btFpwP8dcLGAF-" y da 237 como debe ser.

Por ejemplo este "TBAI-79732487C-120521-ME4g0D7g/iyVk-" me devuelve 038 pero en http_//crccalc.com me devuelve 070.
mientas que "TBAI-79732487C-120521-Kv+9Uth14cqcj-" devuelve 236 y es el esperado

Otro ejemplo mas sencillo:
"hola/-" la función para crc8 devuelve 035 mientras que en http_//crccalc.com devuelve 014

Uso esta función para crc8:
https_//www_clubdelphi_com/~hector/foros/showthread.php?p=534948&highlight=crc8#post534948

¿es posible que esta función tenga problemas con "/" ?
La función está bien
Falla el validador


No obstante prueba este código TBAI con barra, tanto en función como en este validador que parece mejor que el otro
https://toolslick.com/programming/ha...crc-calculator

TBAI-B09203993-200421-aZqWxK/x6JS3U- crc8 = 042
Responder Con Cita
  #4  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
La función está bien
Falla el validador

No obstante prueba este código TBAI con barra, tanto en función como en este validador que parece mejor que el otro
http_://toolslick.com/programming/hashing/crc-calculator

TBAI-B09203993-200421-aZqWxK/x6JS3U- crc8 = 042
Todo parece estar en orden, me devuelve: TBAI-B09203993-200421-aZqWxK/x6JS3U-042
¿entonces es cosa de batuz?
Responder Con Cita
  #5  
Antiguo 12-05-2021
Edgar7 Edgar7 is offline
Miembro
 
Registrado: nov 2020
Posts: 10
Poder: 0
Edgar7 Va por buen camino
Cita:
Empezado por sline Ver Mensaje
Todo parece estar en orden, me devuelve: TBAI-B09203993-200421-aZqWxK/x6JS3U-042
¿entonces es cosa de batuz?
Hola Sline,

Os paso la función de PHP para calcular el CRC que uso yo a ver si te sirve, creo que funciona correctamente:

Código:
class CrcParams {
	public $Array;
	public $Init;
	public $XorOut;
}

class Crc8 {

	public function ComputeCrc($crcParams, $data) {
		$crc = $crcParams->Init;

		foreach ($data as $d) {
			$crc = $crcParams->Array[ord($d) ^ $crc];
		}

		$crc = $crc ^ $crcParams->XorOut;

		$result = $crc & 0xFF;

		return str_pad($result, 3, "0", STR_PAD_LEFT);
	}
}

function calcular_crc($cadena) {		

	$CRC_8_ = new CrcParams();

	$CRC_8_->Init = 0x0;
	$CRC_8_->XorOut = 0x0;
	$CRC_8_->Array = array(0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15, 0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D, 0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65, 0x48, 0x4F, 0x46, 0x41, 0x54, 0x53, 0x5A, 0x5D, 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, 0xDC, 0xD5, 0xD2, 0xFF, 
	       0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA, 0xB7, 0xB0, 0xB9, 0xBE, 0xAB, 0xAC, 0xA5, 0xA2, 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, 0x0C, 0x21, 0x26, 0x2F, 
	       0x28, 0x3D, 0x3A, 0x33, 0x34, 0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B, 0x76, 0x71, 0x78, 0x7F, 0x6A, 0x6D, 0x64, 0x63, 0x3E, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B, 0x06, 0x01, 0x08, 0x0F, 0x1A, 0x1D, 0x14, 0x13, 0xAE, 
	       0xA9, 0xA0, 0xA7, 0xB2, 0xB5, 0xBC, 0xBB, 0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83, 0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB, 0xE6, 0xE1, 0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3, );

	$valor = new Crc8();

	$resultado = $valor->ComputeCrc($CRC_8_, str_split(utf8_encode($cadena)));

	return $resultado;
 }
Ya nos comentas

Un saludo
Responder Con Cita
  #6  
Antiguo 12-05-2021
sline sline is offline
Miembro
 
Registrado: may 2021
Posts: 18
Poder: 0
sline Va por buen camino
Hola Edgar7,

He probado con las dos formas y ambas me devuelven el mismo crc para la misma cadena, y claro, ambas siguen dando error en batuz.

¿Podéis probar a generar una url cuya parte de la firma tenga un + o /?

como "TBAI-79732487C-120521-ME4g0D7g+iyVk-"
el crc me sale 130 y el crc de la url 081

Gracias!


Cita:
Empezado por Edgar7 Ver Mensaje
Hola Sline,

Un saludo
Responder Con Cita
  #7  
Antiguo 16-05-2021
joselugrk joselugrk is offline
Miembro
 
Registrado: abr 2021
Posts: 28
Poder: 0
joselugrk Va por buen camino
Question CRC8 Error Servidor Batuz

Cita:
Empezado por sline Ver Mensaje
Hola Edgar7,

He probado con las dos formas y ambas me devuelven el mismo crc para la misma cadena, y claro, ambas siguen dando error en batuz.

¿Podéis probar a generar una url cuya parte de la firma tenga un + o /?

como "TBAI-79732487C-120521-ME4g0D7g+iyVk-"
el crc me sale 130 y el crc de la url 081

Gracias!
Hola,

A mi me está pasando algo parecido pero no con todas las URLs, solo con algunas. Al probarla en Batuz me da el error "Los datos de la URL son incorrectos (ERR_QR_002)".

Pongo la URL
.../QRTBAI/?id=TBAI-30556773P-140521-oH/I9+EyTWWQ7-062&s=VT1&nf=1657&i=78.00&cr=196

Lo he probado en estos dos validadores y me coincide con lo que me devuelve mi rutina. No me deja poner urls el foro
...sunshine2k.de/coding/javascript/crc/crc_js.html ' Me devuelve un valor en Hexadecimal
...rapidtables.com/convert/number/hex-to-decimal.html ' Lo convierto a Decimal

¿Qué puede pasar?
Responder Con Cita
  #8  
Antiguo 17-05-2021
idaril idaril is offline
Registrado
 
Registrado: abr 2021
Posts: 2
Poder: 0
idaril Va por buen camino
Encadenado de facturas

Buenos días, primer mensaje en el foro!
Todavía estoy en fase de análisis y tengo demasiada información en la cabeza (he intentado leerme todo el hilo pero puede que se me haya pasado...).
¿Podría alguien confirmarme si el encadenamiento de facturas es de todas las facturas en general o por serie? Nosotros trabajamos en entorno restaurante y es muy común que los restaurantes tengan varias series definidas (por ejemplo pedidos en sala, para llevar, delivery, ...) y no me queda claro si cuando dice serie + número factura anterior es porque deben encadenarse todas las series juntas o va por serie (el software está certificado para Portugal y Francia y en ambos casos el encadenamiento es siempre dentro de la misma serie, nunca se mezclan facturas de diferente serie).
Muchisimas gracias!
Responder Con Cita
  #9  
Antiguo 17-05-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por idaril Ver Mensaje
Buenos días, primer mensaje en el foro!
Todavía estoy en fase de análisis y tengo demasiada información en la cabeza (he intentado leerme todo el hilo pero puede que se me haya pasado...).

Bienvenido a este foro.
Yo me lo volvería a leer...



Cita:
Empezado por idaril Ver Mensaje
¿Podría alguien confirmarme si el encadenamiento de facturas es de todas las facturas en general o por serie? Nosotros trabajamos en entorno restaurante y es muy común que los restaurantes tengan varias series definidas (por ejemplo pedidos en sala, para llevar, delivery, ...) y no me queda claro si cuando dice serie + número factura anterior es porque deben encadenarse todas las series juntas o va por serie (el software está certificado para Portugal y Francia y en ambos casos el encadenamiento es siempre dentro de la misma serie, nunca se mezclan facturas de diferente serie).

El encadenamiento en principio NO VA POR SERIE.
Es decir, debes encadenar con la última factura, sea de la serie que sea.




Si buscas el documento de "Preguntas y respuestas" que hay en el hilo, (al principio estará el link), esta en concreto es la 93. Revísala con detalle que es más extensa.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 17-05-2021
idaril idaril is offline
Registrado
 
Registrado: abr 2021
Posts: 2
Poder: 0
idaril Va por buen camino
Si ya digo yo que tengo demasiada información en la cabeza! Supongo que me ofusqué al tener tan claro que en Portugal y Francia iba por serie...

Muchísimas gracias :-)

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Bienvenido a este foro.
Yo me lo volvería a leer...


El encadenamiento en principio NO VA POR SERIE.
Es decir, debes encadenar con la última factura, sea de la serie que sea.


Si buscas el documento de "Preguntas y respuestas" que hay en el hilo, (al principio estará el link), esta en concreto es la 93. Revísala con detalle que es más extensa.
Responder Con Cita
  #11  
Antiguo 01-07-2022
Doc Corrupto Doc Corrupto is offline
Registrado
 
Registrado: jul 2022
Posts: 6
Poder: 0
Doc Corrupto Va por buen camino
Hola, en bizkaia me devuelve el siguiente error al enviar modelo 140

Código:
<SituacionRegistro>
 <EstadoRegistro>Incorrecto</EstadoRegistro>
 <CodigoErrorRegistro>B4_2000003</CodigoErrorRegistro>
 <DescripcionErrorRegistroES>Registro duplicado.</DescripcionErrorRegistroES>
 <DescripcionErrorRegistroEU>Erregistro bikoiztua.</DescripcionErrorRegistroEU>
</SituacionRegistro>
Sabéis a que se debe?

Muchas gracias!

Última edición por dec fecha: 02-07-2022 a las 14:29:43.
Responder Con Cita
  #12  
Antiguo 03-07-2022
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Wink Sello de tiempo xmls

hola, no se donde ponerlo, a ver si me podeis ayudar aquí.
Tengo un xml con sello de tiempo cualificado, y queria saber como va la estructura de un xml con un resellado de tiempo:
Ejemplo parte del sello de tiempo tsa:
Cita:
<xades:UnsignedProperties Id="Signature762507953-UnsignedProperties499353633">
<xades:UnsignedSignatureProperties>
<xades:SignatureTimeStamp Id="Timestamp-6875976301">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315">
</ds:CanonicalizationMethod>
<xades:EncapsulatedTimeStamp>
MIIVPAYJKoZIhvcNAQcCoIIVLTCCFSkCAQMxDzANBglghkgBZQMEAgMFADCCAXcGCyqGSIb3DQEJEAEEoIIBZgSCAWIwggFeAgEB BgQqAwQBMCEwCQYFKw4DAhoFAAQUZUaOqfzZWWQNqD54/L3yA0A4kJUCBAHnHS8YDzIwMjIwNjE3MTEyNjI2WgEB/wIBAKCCARGkggENMIIBCTERMA8GA1UEChMIRnJlZSBUU0ExDDAKBgNVBAsTA1RTQTF2MHQGA1UEDRNtVGhpcyBjZXJ0aWZpY2F0Z SBkaWdpdGFsbHkgc2lnbnMgZG9jdW1lbnRzIGFuZCB0aW1lIHN0YW1wIHJlcXVlc3RzIG1hZGUgdXNpbmcgdGhlIGZyZWV0c2Eub 3JnIG9ubGluZSBzZXJ2aWNlczEYMBYGA1UEAxMPd3d3LmZyZWV0c2Eub3JnMSIwIAYJKoZIhvcNAQkBFhNidXNpbGV6YXNAZ21ha WwuY29tMRIwEAYDVQQHEwlXdWVyemJ1cmcxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZCYXllcm6gghAIMIIIATCCBemgAwIBAgIJA MHphhYNqOmCMA0GCSqGSIb3DQEBDQUAMIGVMREwDwYDVQQKEwhGcmVlIFRTQTEQMA4GA1UECxMHUm9vdCBDQTEYMBYGA1UEAxMPd 3d3LmZyZWV0c2Eub3JnMSIwIAYJKoZIhvcNAQkBFhNidXNpbGV6YXNAZ21haWwuY29tMRIwEAYDVQQHEwlXdWVyemJ1cmcxDzANB gNVBAgTBkJheWVybjELMAkGA1UEBhMCREUwHhcNMTYwMzEzMDE1NzM5WhcNMjYwMzExMDE1NzM5WjCCAQkxETAPBgNVBAoTCEZyZ WUgVFNBMQwwCgYDVQQLEwNUU0ExdjB0BgNVBA0TbVRoaXMgY2VydGlmaWNhdGUgZGlnaXRhbGx5IHNpZ25zIGRvY3VtZW50cyBhb mQgdGltZSBzdGFtcCByZXF1ZXN0cyBtYWRlIHVzaW5nIHRoZSBmcmVldHNhLm9yZyBvbmxpbmUgc2VydmljZXMxGDAWBgNVBAMTD 3d3dy5mcmVldHNhLm9yZzEiMCAGCSqGSIb3DQEJARYTYnVzaWxlemFzQGdtYWlsLmNvbTESMBAGA1UEBxMJV3VlcnpidXJnMQswC QYDVQQGEwJERTEPMA0GA1UECBMGQmF5ZXJuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtZEEjE5IbzTp3Ahif8I3U WIjaYS4LLEwvv9RfPw4+EvOXGWodNqyYhrgvOfjNWPg7ek0/V+IIxWfB4SICCJ0YMHtiCYXBvQoEzQ1nfu4........</xades:EncapsulatedTimeStamp>

</xades:SignatureTimeStamp>
</xades:UnsignedSignatureProperties>

</xades:UnsignedProperties>
No sé en que nodo comienza el resellado:
Cita:
-<xades:UnsignedProperties Id="Signa....
-<xades:UnsignedSignatureProperties>
-<xades:SignatureTimeStamp
-<xades:EncapsulatedTimeStamp>
Si teneis algun xml con resellado y me podeis ayudar os lo agradeceria
Responder Con Cita
  #13  
Antiguo 04-07-2022
Avatar de HerensugeBeltz
HerensugeBeltz HerensugeBeltz is offline
Miembro
 
Registrado: may 2021
Ubicación: Hondarribia
Posts: 88
Poder: 3
HerensugeBeltz Va por buen camino
TicketBAI y SII

La Hacienda de Gipuzkoa ha informado que los emisores con obligación de enviar facturas a través de TicketBAI no podrán enviar facturas emitidas al SII, sólo las facturas recibidas. Es decir: facturas emitidas con TicketBAI + Osatu y las recibidas vía SII.

https://www.gipuzkoa.eus/es/web/ogas...%20y%20errores
Responder Con Cita
  #14  
Antiguo 04-07-2022
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 143
Poder: 4
rci Va por buen camino
Registro duplicado

Cita:
Empezado por Doc Corrupto Ver Mensaje
Hola, en bizkaia me devuelve el siguiente error al enviar modelo 140

Código:
<SituacionRegistro>
 <EstadoRegistro>Incorrecto</EstadoRegistro>
 <CodigoErrorRegistro>B4_2000003</CodigoErrorRegistro>
 <DescripcionErrorRegistroES>Registro duplicado.</DescripcionErrorRegistroES>
 <DescripcionErrorRegistroEU>Erregistro bikoiztua.</DescripcionErrorRegistroEU>
</SituacionRegistro>
Sabéis a que se debe?

Muchas gracias!

Hola Doc Corrupto, yo creo que este mensaje de bizkaia significa que esa factura ya la han recibido anteriormente y como no se puede volver a enviar te indican que es un registro duplicado. Corregidme si no estoy en lo cierto.
Esto puede pasar si envias mas de una vez una alta de factura, en principio el programa de facturación no tendria que permitirlo, pero hemos encontrado algun caso que ocurre, por ejemplo si se envia la factura la primera vez, la agencia tributaria la recibe y registra, pero al responder hay algun problema y el programa de facturación no se entera que se ha recibido, por lo que lo vuelve a intentar. La segunda vez le contesta que ya tiene la factura.
Responder Con Cita
  #15  
Antiguo 12-05-2021
tejano tejano is offline
Miembro
 
Registrado: dic 2020
Posts: 128
Poder: 4
tejano Va por buen camino
Calculo CRC8

Buenas tardes,
Perdonad por mi ignorancia, pero sabéis de algún ejecutable al que se le mande la cadena de caracteres y devuelva el CRC8?
Mi programa de gestión es bastante viejo y no puedo definir variables tipo byte por lo que tampoco puedo desarrollar el módulo para calcular el CRC8.


Gracias de antemano.
Saludos
Responder Con Cita
  #16  
Antiguo 12-05-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por tejano Ver Mensaje
Perdonad por mi ignorancia, pero sabéis de algún ejecutable al que se le mande la cadena de caracteres y devuelva el CRC8?
Mi programa de gestión es bastante viejo y no puedo definir variables tipo byte por lo que tampoco puedo desarrollar el módulo para calcular el CRC8.

¿Te sirve una DLL? ¿O debe ser un ejecutable?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #17  
Antiguo 13-05-2021
tejano tejano is offline
Miembro
 
Registrado: dic 2020
Posts: 128
Poder: 4
tejano Va por buen camino
Buenos días Netfali, yo creo que sí me serviría una DLL.

Podrías enviármela o decirme dónde puedo conseguirla?

Gracias de nuevo.
Responder Con Cita
  #18  
Antiguo 13-05-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por tejano Ver Mensaje
yo creo que sí me serviría una DLL.
Podrías enviármela o decirme dónde puedo conseguirla?
Conseguirla, no lo se, se puede hacer.
En delphi es bastante sencillo.

Te adjunto la DLL con 2 funciones (con parámetros diferentes, para que uses el que te vaya mejor):

Código Delphi [-]
// utilizando un string
function crc8S(const AText:string):byte;
// utilizando un Puntero (AnsiChar)
function crc8P(const AText:PAnsiString):byte;


Usa el código que pubicó [keys] en este mismo foro.

Para usarlo, por ejemplo desde Delphi, basta con algo así:

Código Delphi [-]
type
  TfunctionCRC8S = function(const AText:string): byte;
  TfunctionCRC8P = function(const AText:PAnsiChar): byte;

var
  str, fName:String;
  b:byte;
  h:cardinal;
  fs:TfunctionCRC8S;
  fp:TfunctionCRC8P;
begin

  // Nombre
  fName := ExtractFilePath(Application.ExeName) + 'crc8.dll';
  // comprobamos si existe, si no existe ya no continuamos
  if not FileExists(fName) then
    raise Exception.Create('No se encuentra la DLL  en: ' + sLineBreak + fName);
  // Cargar la DLL
  h := LoadLibrary(PChar(fName));
  if (h < 32) then
    raise Exception.Create('No se ha podido cargar la DLL');

  // buscar los métodos dentro de la DLL
  fs := GetProcAddress(h, 'crc8S');
  fp := GetProcAddress(h, 'crc8P');
  // Los ha encontrado
  if Assigned(fs) and Assigned(fp) then begin

    WriteLn('Escribir cadena de entrada o vacío para salir: ');
    ReadLn(Str);
    while (Str <> string.empty) do begin

      // Probarlo con parámetro string
      b := fs(Str);
      WriteLn('Cadena de entrada: ' + str);
      writeLn('Salida (string): ' + string.Format('%.3d',[b]));
      writeLn('-------------------------------');

      // Parámetro AnsiChar
      b := fp(PAnsiChar(Str));
      WriteLn('Cadena de entrada: ' + str);
      writeLn('Salida (PAnsiChar): ' + string.Format('%.3d',[b]));
      writeLn('-------------------------------');
      writeln(' ');

      // vuelta a empezar...
      WriteLn('Escribir cadena de entrada o vacío para salir: ');
      readLn(Str);
    end;
  end;
end.


Te adjunto el proyecto de test de la DDL (incluye el compilado para que puedas usarla directamente).
Así puedes ver cómo son las llamadas.

El funcionamiento sería este; Lo he probado con las siguientes cadena que han ido saliendo en el foro:

NOTA: Si probáis las URL's anteriores, coged el link no el texto en pantalla porque vBulletin lo corta.

Y para comprobar, tal y como han dicho, la web que mejor funciona es esta:
https://toolslick.com/programming/ha...crc-calculator


Archivos Adjuntos
Tipo de Archivo: zip Llamada a DLL CRC8.zip (1,23 MB, 59 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 13-05-2021 a las 14:03:22.
Responder Con Cita
Respuesta



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
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3557 Hace 1 Semana 17:42:47
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 15:15:48.


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