Ver Mensaje Individual
  #11  
Antiguo 22-09-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Reputación: 7
ermendalenda Va por buen camino
Cita:
Empezado por Ramon88 Ver Mensaje
Pues te lo agradezco muchisimo! me esta dando fallo en la linea

Código:
nBytes = WideCharToMultiByte(CP_UTF8, 0&, ByVal StrPtr(strInput), -1, 0&, 0&, 0&, 0&)
Exactamente en WideCharToMultiByte
Subo la funcion en si:
Código:
 Private Declare Function WideCharToMultiByte Lib "kernel32" (
      ByVal CodePage As Long,
      ByVal dwFlags As Long,
      ByVal lpWideCharStr As Long,
      ByVal cchWideChar As Long,
      ByVal lpMultiByteStr As Long,
      ByVal cbMultiByte As Long,
      ByVal lpDefaultChar As Long,
      ByVal lpUsedDefaultChar As Long) As Long

    Dim CRC8_Table As Object
    ' CodePage constant for UTF-8
    Private Const CP_UTF8 = 65001
Tambien me da error aqui(Exactamente en Array(Es un tipo de clase y no se puede usar como una expresion)):
Código:
Public Function crc8(buffer As String, Polynom As Object, Initial As Object) As Object
        CRC8_Table = Array(&H0, &H7, &HE, &H9, &H1C, &H1B, &H12, &H15,
            &H38, &H3F, &H36, &H31, &H24, &H23, &H2A, &H2D, &H70, &H77, &H7E, &H79, &H6C, &H6B, &H62, &H65,
            &H48, &H4F, &H46, &H41, &H54, &H53, &H5A, &H5D, &HE0, &HE7, &HEE, &HE9, &HFC, &HFB, &HF2, &HF5,
            &HD8, &HDF, &HD6, &HD1, &HC4, &HC3, &HCA, &HCD, &H90, &H97, &H9E, &H99, &H8C, &H8B, &H82, &H85,
            &HA8, &HAF, &HA6, &HA1, &HB4, &HB3, &HBA, &HBD, &HC7, &HC0, &HC9, &HCE, &HDB, &HDC, &HD5, &HD2,
            &HFF, &HF8, &HF1, &HF6, &HE3, &HE4, &HED, &HEA, &HB7, &HB0, &HB9, &HBE, &HAB, &HAC, &HA5, &HA2,
            &H8F, &H88, &H81, &H86, &H93, &H94, &H9D, &H9A, &H27, &H20, &H29, &H2E, &H3B, &H3C, &H35, &H32,
            &H1F, &H18, &H11, &H16, &H3, &H4, &HD, &HA, &H57, &H50, &H59, &H5E, &H4B, &H4C, &H45, &H42,
            &H6F, &H68, &H61, &H66, &H73, &H74, &H7D, &H7A, &H89, &H8E, &H87, &H80, &H95, &H92, &H9B, &H9C,
            &HB1, &HB6, &HBF, &HB8, &HAD, &HAA, &HA3, &HA4, &HF9, &HFE, &HF7, &HF0, &HE5, &HE2, &HEB, &HEC,
            &HC1, &HC6, &HCF, &HC8, &HDD, &HDA, &HD3, &HD4, &H69, &H6E, &H67, &H60, &H75, &H72, &H7B, &H7C,
            &H51, &H56, &H5F, &H58, &H4D, &H4A, &H43, &H44, &H19, &H1E, &H17, &H10, &H5, &H2, &HB, &HC,
            &H21, &H26, &H2F, &H28, &H3D, &H3A, &H33, &H34, &H4E, &H49, &H40, &H47, &H52, &H55, &H5C, &H5B,
            &H76, &H71, &H78, &H7F, &H6A, &H6D, &H64, &H63, &H3E, &H39, &H30, &H37, &H22, &H25, &H2C, &H2B,
            &H6, &H1, &H8, &HF, &H1A, &H1D, &H14, &H13, &HAE, &HA9, &HA0, &HA7, &HB2, &HB5, &HBC, &HBB,
            &H96, &H91, &H98, &H9F, &H8A, &H8D, &H84, &H83, &HDE, &HD9, &HD0, &HD7, &HC2, &HC5, &HCC, &HCB,
            &HE6, &HE1, &HE8, &HEF, &HFA, &HFD, &HF4, &HF3)

        Dim data As Object
        data = Utf8BytesFromString(buffer)
        Dim alen, i As Integer
        Dim crc As Byte
        'data = Buffer ':= TEncoding.UTF8.GetBytes(Cadena);
        alen = UBound(data)
        crc = 0

        For i = 0 To alen
            crc = CRC8_Table((crc Xor data(i)) And &HFF)

        Next

        crc8 = crc And &HFF

    End Function
Te dejo un ejecutable para que lo uses
Archivos Adjuntos
Tipo de Archivo: rar cr.rar (7,7 KB, 19 visitas)
Responder Con Cita