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

Problema con el Redim

Estas en el tema de Problema con el Redim en el foro de Visual Basic clásico en Foros del Web. Tengo un bucle for que lo que hace es redimensionar una matriz con una fila más en cada vuelta y almacena el valor en la ...
  #1 (permalink)  
Antiguo 25/03/2009, 03:22
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema con el Redim

Tengo un bucle for que lo que hace es redimensionar una matriz con una fila más en cada vuelta y almacena el valor en la nueva fila.
Aqui esta el ejemplo:

Dim conjunto() as String
Redim conjunto (0, cols)

For j = 1 To item.Count
ReDim conjunto(UBound(conjunto) + 1, cols)
Set conjunto(UBound(conjunto), 1) = item
Next j

Si lo hago asi cada vez que redimensiono me borra los datos de la fila anterior.
Y si hago un perserve me da un error de fuera de intervalo.

¿Alguna idea?
  #2 (permalink)  
Antiguo 25/03/2009, 05:14
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Problema con el Redim

Si no quieres que borre los datos anteriores, tienes que hacerlo con Redim Preserve.
El problema es que con esta instrucción sólo se puede cambiar el tamaño de la última dimensión de la matriz.

Esto sería correcto:

ReDim Preserve conjunto(cols, UBound(conjunto) + 1)

Intenta adecuar los datos de la matríz poniendo en la última dimensión el valor a redimensionar.

  #3 (permalink)  
Antiguo 25/03/2009, 05:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 122
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema con el Redim

es lo que estoy haciendo no se xq no puedo
ReDim preserve conjunto(UBound(conjunto) + 1, cols)
  #4 (permalink)  
Antiguo 25/03/2009, 05:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Problema con el Redim

Cita:
Iniciado por albertogarci86 Ver Mensaje
es lo que estoy haciendo no se xq no puedo
ReDim preserve conjunto(UBound(conjunto) + 1, cols)
Cosas de VB, todo tiene sus limitaciones.

Lee en la ayuda la información sobre Redim Preserve.
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 13:42.