Título: Array vb.net 2010 Publicado por: xskyx en 29 Marzo 2015, 07:28 am Hola.
tengo un problema con arrays en vb.net, tengo 12 array que contendrán distintos datos que luego escribo en un archivo xml, el problema es que no todos los arrays contendrán datos o no todos tendrán el mismo número de datos y eso me genera problemas. lo que necesito o quisiera hacer es llenar de ceros los que tengan menos datos e igual con los que no tengan ningún dato. lo que tengo hasta el memento es lo siguiente: Código
Título: Re: Array vb.net 2010 Publicado por: Eleкtro en 29 Marzo 2015, 10:39 am Estoy convencido de que lo que estás intentando hacer, llenar con ceros, no es la solución más adecuada y debe ser causa de un problema que viene detrás.
Muestra las declaraciones de dichos Arrays, de la variable tmp1, y el método de escritura que te genera problemas, explica el problema que tienes un poco más a fondo para poder proponerte el enfoque adecuado. De todas formas, ten en cuenta que puedes inicializar el Array al declararlo, de la siguiente manera por ejemplo: Código
Eso podría evitar los problemas de elementos nulos que comentas y que no sabemos exactamente por qué tienes ese problema. Saludos Título: Re: Array vb.net 2010 Publicado por: xskyx en 29 Marzo 2015, 15:44 pm Código: Dim var1 As Array = Form1.TextBox1.Lines No puedo inicializar el array porque no se cuantos datos va a contener y necesito que todos lleven la misma cantidad de datos respetando lo que ya se ha puesto en los cajones de texto. mas adelante hago lo siguiente: Código: Do While i <= var1.Length no soy programador así que lo que hago es bastante tosco. Título: Re: Array vb.net 2010 Publicado por: xskyx en 29 Marzo 2015, 16:05 pm Dejo el link del proyecto el que dice "copia" es la versión que funcionaba pero solo con una variable.
El proyecto genera la base de datos, para datos variables de Illustrator CC. Título: Re: Array vb.net 2010 Publicado por: Eleкtro en 29 Marzo 2015, 19:29 pm Buenas
Lamento decirte que absolutamente todo es inapropiado en el código, empezando por los tipos que estás utilizando (Array) cómo la masiva repetición de código (...¿49 variables para lo mismo?...), la manera de iterar un array, el intento de asignar un valor a un elemento inexistente fuera del rango del Array, y por último la construcción "manual" del documento XML, donde podrías utilizar classes específicas para ello cómo XmlWriter. El motivo que das de no ser programador no me sirve cómo justificación, puesto que, aparte de estar programando, conoces y sabes utilizar un loop (aunque sea de tipo While) :¬¬. El problema con el primer código que mostraste es que estás intentando asignar un valor a un elemento inexistente del Array, al intentar acceder al índice obviamente esto causa una excepción de índice fuera de rango. De la forma en que pretendías corregir ese problema (llenando con Ceros) primero deberías haber inicializado un Array adicional (es decir, 12 Arrays adicionales más) con más espacio (más elementos) y copiar el contenido de uno a otro Array, algo que sin duda sería bastante engorroso, en lugar de Arrays podrías haber utilizado listas genéricas y así utilizar el método List.Add() para añadir elementos "vacíos", pero eso tampoco me parece una solución apropiada, ya que no solo los Arrays del código suponen un problema, sino todo lo demás, por ese motivo te sugiero que vuelvas a re-escribir todo lo que tienes hecho para generar un código ausente de problemas. Te ayudaría a corregirlo y simplificar todo mostrándote un código con un enfoque distinto, pero no entiendo muy bien lo que pretendes hacer con esos 12 TextBoxes (¿por qué no son 11 o 13 por ejemplo?)... Prueba a empezar por eliminar todo esto: Código
Y reemplaza todo ese código eliminado por un loop que itere los elementos de cada array, podría ser algo cómo esto (no se si produce el formato que deseas): Código
Saludos! Título: Re: Array vb.net 2010 Publicado por: xskyx en 30 Marzo 2015, 03:55 am Este es el resultado:
Código
Esto es lo que yo necesito: Código
El código ya no da problemas con los array, con respecto a los textbox no importa que fueran 20 o 50 entre más mejor. Y te reitero que no soy programador del código que pusiste que resuelve el problema de los array pero que no es valido en Adobe Illustrator no entiendo nada por eso no puedo arreglarlo. Mi único problema son los array porque el xml que genero con mis 49 variables es valido. Yo entiendo y se que mi código es pésimo, pero es lo que entiendo. Muchas gracias por tu ayuda. Título: Re: Array vb.net 2010 Publicado por: xskyx en 6 Abril 2015, 08:02 am Solucionado:
Código
|