Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

[Solucionado + Aporte] Matriz de 3 dimensiones

Estas en el tema de [Solucionado + Aporte] Matriz de 3 dimensiones en el foro de Visual Basic clásico en Foros del Web. Hasta ahora codifique lo siguiente, y obtengo el error de que los tipos no coinciden en la linea amarilla a continuacion: Código: Dim matriz_ventas_productos() As ...
  #1 (permalink)  
Antiguo 20/05/2009, 09:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
[Solucionado + Aporte] Matriz de 3 dimensiones

Hasta ahora codifique lo siguiente, y obtengo el error de que los tipos no coinciden en la linea amarilla a continuacion:

Código:
Dim matriz_ventas_productos() As String

For n = 1 To lineas_ventas

arreglo_temp = Split(matriz_ventas(n, 2), "|")

For m = LBound(arreglo_temp) To UBound(arreglo_temp)
ReDim matriz_ventas_productos(1 To lineas_ventas, 0 To m, 0 To 2)

For ñ = 0 To 2
matriz_ventas_productos(n, m, ñ) = Split(arreglo_temp(m), "-")
Next
Next

Next
Alguna sugerencia?

Última edición por ema21del9; 20/05/2009 a las 11:07
  #2 (permalink)  
Antiguo 20/05/2009, 10:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con matriz de 3 dimensiones

Es que matriz_ventas_productos es de tipo String, y la función Split no devuelve un String, sino Array de Strings.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 20/05/2009, 10:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Ayuda con matriz de 3 dimensiones

Cita:
Iniciado por David el Grande Ver Mensaje
Es que matriz_ventas_productos es de tipo String, y la función Split no devuelve un String, sino Array de Strings.
Me acabo de dar cuenta, lo soluciono y si tengo algun inconveniente nuevamente vuelvo a postear.

Edit: solucionado, el siguiente script arma una matriz de 3 dimensiones dinamica que puede ser utilizada mas tarde:

Código:
'carga la matriz_ventas:
funcion_ventas

'pasa por las lineas del archivo:
For n = 1 To lineas_ventas

'cambia el tamaño de la 2º dimension de la matriz segun la cantidad indicada en el archivo:
ReDim matriz_ventas_productos(1 To lineas_ventas, 0 To matriz_ventas(n, 2), 0 To 2)
lineas_ventas_productos = lineas_ventas_productos + 1

'separa la cadena guardada en matriz_ventas(n, 3) tomando como separador "|":
arreglo_temp = Split(matriz_ventas(n, 3), "|")

'recorre el arreglo recien creado y crea otro nuevo seperando nuevamente el contenido por "-":
For m = LBound(arreglo_temp) To UBound(arreglo_temp)
matriz_3_temp = Split(arreglo_temp(m), "-")
columnas_ventas_productos = columnas_ventas_productos + 1

'recorre la cantidad de datos separados por "-" que en mi caso son 3 pero como ven empiezo desde 2:
For ñ = 0 To 2
'guardo el dato especifico en la matriz en la posicion especificada segun los anteriores indicadores de for:
matriz_ventas_productos(n, m, ñ) = matriz_3_temp(ñ)
dimension_ventas_productos = dimension_ventas_productos + 1
Next

Next

Next
'aqui cerre los 3 for (uno para cada dimension), y los contadores que fueron anteriormente declarados como public en un modelo sirven para recorrer el contenido de la matriz de 3 dimensiones en cualquier parte de mi proyecto
Espero que les sirva...

Última edición por ema21del9; 20/05/2009 a las 11:06
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:59.