Cita:
Empezado por Ramon88
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
|