Utilice el tipo de datos *Byte* para contener datos binarios. El valor predeterminado de *Byte* es 0. Sugerencias de programación
- *Números negativos. *Dado que *Byte* es un tipo sin signo, no puede representar un número negativo. Si utiliza el operador menos (*-*) unario en una expresión que produce un resultado del tipo *Byte*, Visual Basic convierte primero la expresión a *Short*. - *Conversiones de formato. *Cuando Visual Basic lee o escribe archivos o cuando llama a archivos DLL, métodos y propiedades, puede convertir automáticamente entre los formatos de datos. Los datos binarios almacenados en variables *Byte* y matrices se conservan durante estas conversiones de formato. No debería utilizar una variable *String* para datos binarios, ya que su contenido puede dañarse durante la conversión entre los formatos ANSI y Unicode. - *Ampliación. *El tipo de datos *Byte* se amplía a *Short*, *UShort*, * Integer* y *UInteger*, *Long*, *ULong*, *Decimal*, *Single* y *Double*. Esto significa que se puede convertir *Byte* en cualquiera de estos tipos sin encontrar un error System.OverflowException. - *Caracteres de tipo.* *Byte* no tiene ningún carácter de tipo de literal o de tipo de identificador. - *Tipo en Framework. *El tipo correspondiente en .NET Framework es la estructura System.Byte. Saludos El día 2 de mayo de 2008 11:42, PabloC <[EMAIL PROTECTED]> escribió: > 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 <[EMAIL PROTECTED]> > *To:* vbnet List Member <[email protected]> > *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 <[EMAIL PROTECTED]> > *To:* vbnet List Member <[email protected]> > *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 > > Public Shared Function Main(ByVal args As String()) As Integer > > > > ' Analizo argumentos de linea de comandos > > > > If args.Length = 0 Then > > > > Call ExplicarUso() > > > > Return -1 > > > > End If > > > > Dim valor_buffer() As Byte > > > > For i As Integer = 0 To args.Length - 1 > > > > valor_buffer(1) = args(i) > > > > Next > > Pero si en lugar de eso lo paso FIJO funciona perfectamente > > > > > > Public Shared Function Main(ByVal args As String()) As Integer > > > > ' Analizo argumentos de linea de comandos > > > > If args.Length = 0 Then > > > > Call ExplicarUso() > > > > Return -1 > > > > End If > > > > Dim valor_buffer As Byte() = {"04", "03", "00", "00"} > > > > Alguna idea > > Saludos > > PabloC > > > >
