Hola Julio
Nada es una estupidez si se intenta ayudar
Igualmente les comento que ya lo solucione
Basandome en el ejemplo de fernando, en lugar de "3B" seria asi :
Dim valorbyte As Byte
valorbyte = &H3B
MessageBox.Show(valorbyte)
y funciona 8-D
Gracias a todos por el tiempo dedicado
Saludos
PabloC
----- Original Message -----
From: julio.novomisky
To: vbnet List Member
Sent: Friday, May 02, 2008 5:25 PM
Subject: [vbnet] String a Byte
Pablo,
Es quizas una estupidez lo que te voy a comentar, pero para llegar de 3B a 59
la conversion debe ser si o si hexadecimal. Decimal no podria ser, porque B es
mayor a 10, por lo que no podria ser resuelta, matematicamente hablando.
Ahora (3x16) + 11 = 59
Lo otro que podes testear es el valor del string, desarmarlo, y calcular su
valor dependiendo de su posicion y largo de la cadena
Buen fin de semana
-----Original Message-----
From: "PabloC" <[EMAIL PROTECTED]>
To: "vbnet List Member" <[email protected]>
Date: Fri, 2 May 2008 14:40:07 -0300
Subject: [vbnet] String a Byte
Tal cual lo comentaba Fernando NO funciono :-(
El tema es asi a ver si me explico mejor
Tengo una rutina en VB,NET que calcula un CRC16 muy especial para una
cadena de valores Hexas
Esta rutina recibe parametros asi
Public Shared Function calculate(ByVal buffer() As Byte, ByVal offset As
Integer, ByVal len As Integer, ByVal feed As Integer) As Integer
Dim iCRC As Integer
Dim i As Integer
Dim bytT As Byte
Dim bytC As Byte
Dim ia As Integer
iCRC = feed
For i = offset To len - 1
bytC = buffer(i)
bytT = (iCRC And &HFF) Xor bytC
ia = uiShiftRightBy8(iCRC)
iCRC = ia Xor aCRC16Table(bytT)
Next
calculate = iCRC
End Function
Como pueden ver recibe buffer() As Byte
buffer por ejemplo puede ser ("04","03","00","00") y asi funciona
perfecto, pero tambien puede ser ("04","01","06","00","3B","32") y en este caso
salta por la excepcion del TRY al convertir "3B" en byte
SI hago lo que dice fernando de convertir primero a mano en decimal, el
"3B" es 59 y pasandole 59 a la rutina el CRC no me da como deberia
Se entendio?
Alguna idea?
Gracias
Saludos
PabloC