Cuando probas algo asi:
Dim valorbyte As Byte
valorbyte = "30"
MessageBox.Show(valorbyte)
el messabox te muestra 30 porque al string antes de convertirlo a Byte lo pasa
a algun tipo numerico, en cambio en:
Dim valorbyte As Byte
valorbyte = "3B"
MessageBox.Show(valorbyte)
Se intenta convertir el string a byte y el CLR se vuelve turulo... se te va de
rango o alguna otra cosa turbia... si lo que vos recibis tienen que ser
interpretados como numeros hexadecimales tal como supongo lo vas a tener que
convertir a mano a decimal antes de pasarlo a Byte
Saludos, Fernando.
----- Mensaje original ----
De: PabloC <[EMAIL PROTECTED]>
Para: vbnet List Member <[email protected]>
Enviado: viernes 2 de mayo de 2008, 11:42:03
Asunto: [vbnet] String a Byte
Hugo con Redim funciono todo bien hasta que le
envie un parametro con un valor "3B" en ese caso me da un error de excepcion
ERROR La
conversión de la cadena "3B" en el tipo 'Byte' no es válida.
Alguna
idea??
Saludos
PabloC
----- Original Message -----
From: PabloC
To: vbnet List Member
Sent: Tuesday, April 29, 2008 9:58 AM
Subject: [vbnet] String a Byte
Gracias Hugo
Voy a probar
Despues comento como me fue
Saludos
PabloC
----- Original Message -----
From: Hugo Teijiz
To: vbnet List Member
Sent: Monday, April 28, 2008 7:54 PM
Subject: [vbnet] String a Byte
Hola Pablo,
El problema reside en que el array que utilizas es dinámico, esto
implica que debes redimensionarlo cada vez que le adicinas un elemento. Una
posibilidad es que utilices la instrucción Redim, para redimensionar el array,
esto sería que redimensiones el array en uno por cada item del array args. La
otra es utilizar un arraylist, que es algo similar al array, con la diferencia
que es una lista. De este modo, no vas a tener que preocuparte de la dimensión
del array, ya que tendrás el método Add para anexarle los items, y luego
podrás recorrerlo como si fuera un array.
Espero haberte ayudado
Saludos,
Hugo
El día 28 de abril de 2008 16:45, PabloC <[EMAIL PROTECTED]> escribió:
Holas a todos
No tengo mucha experiencia, es mas casi nada, en VB.Net
Tengo una app de consola que recibe parametros y debo pasar esos parametros a
una rutina que hace un calculo pero que recibe ByVal valor As Byte
Si hago, lo de aca abajo me sale un error de exception y se muere la
applicacion
PublicSharedFunctionMain(ByValargs AsString()) AsInteger
' Analizo argumentos de linea de comandosIfargs.Length = 0
ThenCallExplicarUso() Return-1 EndIfDimvalor_buffer() AsByteFori AsInteger= 0
Toargs.Length - 1
valor_buffer(1) = args(i)Next
Pero si en lugar de eso lo paso FIJO funciona perfectamente
PublicSharedFunctionMain(ByValargs AsString()) AsInteger
' Analizo argumentos de linea de comandosIfargs.Length = 0
ThenCallExplicarUso() Return-1 EndIf Dimvalor_buffer AsByte() = {"04", "03",
"00", "00"}
Alguna idea
Saludos
PabloC
Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa.
www.tuprimeratarjeta.com.ar