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 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 1.043
Poder: 5
ermendalenda Va por buen camino
Aqui tienes el instalador de la dll
https://www.filemail.com/d/wheiqnfrdwkmvgk
Responder Con Cita
  #2  
Antiguo 23-09-2021
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 126
Poder: 4
Ramon88 Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Aqui tienes el instalador de la dll
https://www.filemail.com/d/wheiqnfrdwkmvgk

Estas en todo! si vienes por Valencia estas invitado a una buena paella! jeje
Responder Con Cita
  #3  
Antiguo 23-09-2021
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 126
Poder: 4
Ramon88 Va por buen camino
Termino de encontrar una función en .Net que si no me equivoco funciona bien.
Código:
    Function CRC_8(ByVal Txt As String) As Byte
        Dim Poly() As Byte = {1, 0, 0, 0, 0, 0, 1, 1, 1}
        Dim MessageBits As New List(Of Byte)
        Dim MsgBinString As String = ""
        'Compute the message binary
        For Each C As Char In Txt
            Dim S As String = Convert.ToString(Asc(C), 2)
            If S.Length < 8 Then S = New String("0"c, 8 - S.Length) & S

            MsgBinString &= S
        Next
        For Each C As Char In MsgBinString
            If C = "0"c Then MessageBits.Add(0) Else MessageBits.Add(1)
        Next
        'add 8 bits set to zero
        MessageBits.AddRange(New Byte() {0, 0, 0, 0, 0, 0, 0, 0})
        'compute CRC
        While MessageBits.Count > 8
            If MessageBits(0) = 0 Then
                MessageBits.RemoveAt(0)
                Continue While
            End If
            For x = 0 To 8 '<--9 bits
                MessageBits(x) = MessageBits(x) Xor Poly(x)
            Next
        End While
        'put the result in byte format and return
        Dim Result As Byte = 0
        For x = 0 To 7
            Result = Result Or (MessageBits(7 - x) << x)
        Next
        Return Result
    End Function
Responder Con Cita
  #4  
Antiguo 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 1.043
Poder: 5
ermendalenda Va por buen camino
Si te funciona perfecto. Pruébalo y dale.
Aunque no sé, me da la sensación de que le falta la tabla crc8 y el polynomio no me cuadra. No me hagas caso por que yo la función no la entiendo ni me he puesto a entenderla
Responder Con Cita
  #5  
Antiguo 24-09-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 125
Poder: 5
unomasmas Va por buen camino
Cita:
Empezado por Ramon88 Ver Mensaje
Termino de encontrar una función en .Net que si no me equivoco funciona bien.
Código:
    Function CRC_8(ByVal Txt As String) As Byte
        Dim Poly() As Byte = {1, 0, 0, 0, 0, 0, 1, 1, 1}
        Dim MessageBits As New List(Of Byte)
        Dim MsgBinString As String = ""
        'Compute the message binary
        For Each C As Char In Txt
            Dim S As String = Convert.ToString(Asc(C), 2)
            If S.Length < 8 Then S = New String("0"c, 8 - S.Length) & S

            MsgBinString &= S
        Next
        For Each C As Char In MsgBinString
            If C = "0"c Then MessageBits.Add(0) Else MessageBits.Add(1)
        Next
        'add 8 bits set to zero
        MessageBits.AddRange(New Byte() {0, 0, 0, 0, 0, 0, 0, 0})
        'compute CRC
        While MessageBits.Count > 8
            If MessageBits(0) = 0 Then
                MessageBits.RemoveAt(0)
                Continue While
            End If
            For x = 0 To 8 '<--9 bits
                MessageBits(x) = MessageBits(x) Xor Poly(x)
            Next
        End While
        'put the result in byte format and return
        Dim Result As Byte = 0
        For x = 0 To 7
            Result = Result Or (MessageBits(7 - x) << x)
        Next
        Return Result
    End Function



Yo uso esta clase que adapté de una versión PHP publicada en este foro (creo):
Código:
public static class Crc8{
     //private static const String UTF_8 = "UTF-8";
    // CRC-8,
    // Poly = x^8 + x^2 + x^1 + x^0
    // Init = 0
    // RefIn = false
    // RefOut = false
    // XorOut = 0
    private static readonly byte[] _crc8Table = new byte[] {
        (byte) 0x00, (byte) 0x07, (byte) 0x0E, (byte) 0x09, (byte) 0x1C, (byte) 0x1B, (byte) 0x12, (byte) 0x15,
        (byte) 0x38, (byte) 0x3F, (byte) 0x36, (byte) 0x31, (byte) 0x24, (byte) 0x23, (byte) 0x2A, (byte) 0x2D,
        (byte) 0x70, (byte) 0x77, (byte) 0x7E, (byte) 0x79, (byte) 0x6C, (byte) 0x6B, (byte) 0x62, (byte) 0x65,
        (byte) 0x48, (byte) 0x4F, (byte) 0x46, (byte) 0x41, (byte) 0x54, (byte) 0x53, (byte) 0x5A, (byte) 0x5D,
        (byte) 0xE0, (byte) 0xE7, (byte) 0xEE, (byte) 0xE9, (byte) 0xFC, (byte) 0xFB, (byte) 0xF2, (byte) 0xF5,
        (byte) 0xD8, (byte) 0xDF, (byte) 0xD6, (byte) 0xD1, (byte) 0xC4, (byte) 0xC3, (byte) 0xCA, (byte) 0xCD,
        (byte) 0x90, (byte) 0x97, (byte) 0x9E, (byte) 0x99, (byte) 0x8C, (byte) 0x8B, (byte) 0x82, (byte) 0x85,
        (byte) 0xA8, (byte) 0xAF, (byte) 0xA6, (byte) 0xA1, (byte) 0xB4, (byte) 0xB3, (byte) 0xBA, (byte) 0xBD,
        (byte) 0xC7, (byte) 0xC0, (byte) 0xC9, (byte) 0xCE, (byte) 0xDB, (byte) 0xDC, (byte) 0xD5, (byte) 0xD2,
        (byte) 0xFF, (byte) 0xF8, (byte) 0xF1, (byte) 0xF6, (byte) 0xE3, (byte) 0xE4, (byte) 0xED, (byte) 0xEA,
        (byte) 0xB7, (byte) 0xB0, (byte) 0xB9, (byte) 0xBE, (byte) 0xAB, (byte) 0xAC, (byte) 0xA5, (byte) 0xA2,
        (byte) 0x8F, (byte) 0x88, (byte) 0x81, (byte) 0x86, (byte) 0x93, (byte) 0x94, (byte) 0x9D, (byte) 0x9A,
        (byte) 0x27, (byte) 0x20, (byte) 0x29, (byte) 0x2E, (byte) 0x3B, (byte) 0x3C, (byte) 0x35, (byte) 0x32,
        (byte) 0x1F, (byte) 0x18, (byte) 0x11, (byte) 0x16, (byte) 0x03, (byte) 0x04, (byte) 0x0D, (byte) 0x0A,
        (byte) 0x57, (byte) 0x50, (byte) 0x59, (byte) 0x5E, (byte) 0x4B, (byte) 0x4C, (byte) 0x45, (byte) 0x42,
        (byte) 0x6F, (byte) 0x68, (byte) 0x61, (byte) 0x66, (byte) 0x73, (byte) 0x74, (byte) 0x7D, (byte) 0x7A,
        (byte) 0x89, (byte) 0x8E, (byte) 0x87, (byte) 0x80, (byte) 0x95, (byte) 0x92, (byte) 0x9B, (byte) 0x9C,
        (byte) 0xB1, (byte) 0xB6, (byte) 0xBF, (byte) 0xB8, (byte) 0xAD, (byte) 0xAA, (byte) 0xA3, (byte) 0xA4,
        (byte) 0xF9, (byte) 0xFE, (byte) 0xF7, (byte) 0xF0, (byte) 0xE5, (byte) 0xE2, (byte) 0xEB, (byte) 0xEC,
        (byte) 0xC1, (byte) 0xC6, (byte) 0xCF, (byte) 0xC8, (byte) 0xDD, (byte) 0xDA, (byte) 0xD3, (byte) 0xD4,
        (byte) 0x69, (byte) 0x6E, (byte) 0x67, (byte) 0x60, (byte) 0x75, (byte) 0x72, (byte) 0x7B, (byte) 0x7C,
        (byte) 0x51, (byte) 0x56, (byte) 0x5F, (byte) 0x58, (byte) 0x4D, (byte) 0x4A, (byte) 0x43, (byte) 0x44,
        (byte) 0x19, (byte) 0x1E, (byte) 0x17, (byte) 0x10, (byte) 0x05, (byte) 0x02, (byte) 0x0B, (byte) 0x0C,
        (byte) 0x21, (byte) 0x26, (byte) 0x2F, (byte) 0x28, (byte) 0x3D, (byte) 0x3A, (byte) 0x33, (byte) 0x34,
        (byte) 0x4E, (byte) 0x49, (byte) 0x40, (byte) 0x47, (byte) 0x52, (byte) 0x55, (byte) 0x5C, (byte) 0x5B,
        (byte) 0x76, (byte) 0x71, (byte) 0x78, (byte) 0x7F, (byte) 0x6A, (byte) 0x6D, (byte) 0x64, (byte) 0x63,
        (byte) 0x3E, (byte) 0x39, (byte) 0x30, (byte) 0x37, (byte) 0x22, (byte) 0x25, (byte) 0x2C, (byte) 0x2B,
        (byte) 0x06, (byte) 0x01, (byte) 0x08, (byte) 0x0F, (byte) 0x1A, (byte) 0x1D, (byte) 0x14, (byte) 0x13,
        (byte) 0xAE, (byte) 0xA9, (byte) 0xA0, (byte) 0xA7, (byte) 0xB2, (byte) 0xB5, (byte) 0xBC, (byte) 0xBB,
        (byte) 0x96, (byte) 0x91, (byte) 0x98, (byte) 0x9F, (byte) 0x8A, (byte) 0x8D, (byte) 0x84, (byte) 0x83,
        (byte) 0xDE, (byte) 0xD9, (byte) 0xD0, (byte) 0xD7, (byte) 0xC2, (byte) 0xC5, (byte) 0xCC, (byte) 0xCB,
        (byte) 0xE6, (byte) 0xE1, (byte) 0xE8, (byte) 0xEF, (byte) 0xFA, (byte) 0xFD, (byte) 0xF4, (byte) 0xF3 };

    /**
    * Calculate the CRC value with data from input string.
    * @param input input string
    * @return The calculated CRC value. Left padding with zeros.
    * // --NO: @throws UnsupportedEncodingException //
    */
    public static string GetCrc8(string input) {
        try
        {
            byte[] data = System.Text.Encoding.UTF8.GetBytes(input);
            int len = data.Length;
            byte crc = 0;
            for (int i = 0; i < len; i++)
                crc = _crc8Table[(crc ^ data[i]) & 0xff];
            long a = (crc & 0xFFL);
            return a.ToString("D3");
        }
        catch (System.Exception ex)
        {
            throw new System.Exception(ex.Message);
        }
    }
}
Responder Con Cita
  #6  
Antiguo 25-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 1.043
Poder: 5
ermendalenda Va por buen camino
Duda. Se ha acabado el trimestre y al hacer los consumidores finales, me doy cuenta de que hay una factura de 10. 000 euros por error.
Que veis mejor anulación o rectificación? Teniendo en cta que estamos ya a día 18 del mes siguente al trimestre y no quiero declara esa factura para no pagar una pasta de impuestos, pero que tampoco me caiga una inspección por no declararlo por cruce de datos.
Responder Con Cita
  #7  
Antiguo 25-09-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 125
Poder: 5
unomasmas Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Duda. Se ha acabado el trimestre y al hacer los consumidores finales, me doy cuenta de que hay una factura de 10. 000 euros por error.
Que veis mejor anulación o rectificación? Teniendo en cta que estamos ya a día 18 del mes siguente al trimestre y no quiero declara esa factura para no pagar una pasta de impuestos, pero que tampoco me caiga una inspección por no declararlo por cruce de datos.

Factura rectificativa, sin duda. La anulación, según entendí por la explicación de uno de los expertos de Gipuzkoa en la videoconferencia sobre el servicio ZUZENDU, se da en supuestos contados y además es problemática porque, según entiendo yo, complica el encadenamiento (debes dejar la factura anulada para que el encadenamiento no se rompa y te queda ahí tocando las narices para la contabilidad). Así que, prácticamente siempre, entiendo yo, procede hacer factura rectificativa por error en factura original...
Responder Con Cita
  #8  
Antiguo 25-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 1.043
Poder: 5
ermendalenda Va por buen camino
Cita:
Empezado por unomasmas Ver Mensaje
Factura rectificativa, sin duda. La anulación, según entendí por la explicación de uno de los expertos de Gipuzkoa en la videoconferencia sobre el servicio ZUZENDU, se da en supuestos contados y además es problemática porque, según entiendo yo, complica el encadenamiento (debes dejar la factura anulada para que el encadenamiento no se rompa y te queda ahí tocando las narices para la contabilidad). Así que, prácticamente siempre, entiendo yo, procede hacer factura rectificativa por error en factura original...
OK gracias. Tampoco quería usar yo la anulación que es demasiado "permisiva". Voy a intentar que no se contemplen las de anulación.
Responder Con Cita
  #9  
Antiguo 23-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 1.043
Poder: 5
ermendalenda Va por buen camino
Cita:
Empezado por Ramon88 Ver Mensaje
Estas en todo! si vienes por Valencia estas invitado a una buena paella! jeje
Buff que recuerdos arroz a la banda y fideua a la parte hacia mi padre, que era de Alicante de La. Vila
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 3587 Hace 4 Semanas 14:11:07
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 09:18:25.


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