no me contestaste ninguno de mis correos anteriores. estas un poco maleducada. ahora mismo estaba pensando en ti.. en que hoy no habías ido a trabajar. en fin que no esperaba este correo tuyo hoy.
PEPE -----Original Message----- From: "Pata del Santo" <[EMAIL PROTECTED]> To: "vbnet List Member" <[email protected]> Date: Fri, 2 May 2008 18:22:15 +0200 Subject: [***SPAM*** Score/Req: 07.70/05.00] [vbnet] String a Byte > Esto no tiene que ver especificamente con VB.NET, es un problema > genérico de > arrays. > Repito lo que pusiste en tu código: > > Dim valor_buffer() As Byte > For i As Integer = 0 To args.Length - 1 > valor_buffer(1) = args(i) > Next > > Estás referenciando el índice=1 (que es el segundo elemento) pero > valor_buffer todavía no tiene dos elementos, más bien no tiene ninguno. > Habría que dimensionar primero el array, de esta manera: > > Dim valor_buffer(args.Length - 1) As Byte > Nota: en VB redimensionamos un array, indicando el índice máximo que > tendrá > (o sea: la cantidad de elementos menos uno). > > Ahora sí podemos rellenar el array > > For i As Integer = 0 To args.Length - 1 > valor_buffer(i) = args(i) > Next > > El problema es que args(i) es caracter y valor_buffer(i) es de tipo > Byte. > Tal vez te haga la conversión automáticamente, aunque podemos utilizar > CByte(<expresion>) para convertir. > > O sea que, después de todo esto, tu código queda finalmente así: > > Dim valor_buffer(args.Length-1) As Byte > For i As Integer = 0 To args.Length - 1 > valor_buffer(i) = CByte(args(i)) > Next > > Suerte. > Pata. > _____ > > De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Oscar > Onorato > Enviado el: viernes, 02 de mayo de 2008 18:07 > Para: vbnet List Member > Asunto: [vbnet] String a Byte > > > > PabloC > > > lo que me copias no me ayuda mucho. > Podrias ser mas explicito? > > > No, la verdad que no. > Hago lo que puedo, lo siento. =P > > Saludos > > El día 2 de mayo de 2008 12:32, PabloC <[EMAIL PROTECTED]> > escribió: > > Oscar, muy lindo lo que mandas, pero como empece este mail explicando > que NO > tengo la mas remota idea de VB,NET, lo que me copias no me ayuda mucho. > Podrias ser mas explicito? > Gracias > Saludos > PabloC > > ----- Original Message ----- > From: Oscar Onorato <mailto:[EMAIL PROTECTED]> > To: vbnet List Member <mailto:[email protected]> > Sent: Friday, May 02, 2008 12:17 PM > Subject: [vbnet] String a Byte > 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 <mailto:[EMAIL PROTECTED]> > To: vbnet List Member <mailto:[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 <mailto:[EMAIL PROTECTED]> > To: vbnet List Member <mailto:[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 > >
