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

redim en un procedimiento recursivo

Estas en el tema de redim en un procedimiento recursivo en el foro de Visual Basic clásico en Foros del Web. hola buenas! he creado un procedimiento recursivo donde tengo un array dinamico y segun vaya repitiendose el procedimiento quiero q se me vaya cargando. Sub ...
  #1 (permalink)  
Antiguo 14/11/2008, 03:19
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
redim en un procedimiento recursivo

hola buenas!
he creado un procedimiento recursivo donde tengo un array dinamico y segun vaya repitiendose el procedimiento quiero q se me vaya cargando.

Sub TraverseComponent()
Dim konfigMatrix() As String

'...
konfigMatrix = Component2.Configurations 'aqui se carga el array
For j = 1 To UBound(konfigMatrix)

en la primera vuelta me hara bien, pero en la segunda si quiero q me siga cargando el array desde donde lo ha dejado como lo pongo?y donde lo coloco?
Redim konfigMatrix (1 to UBound(konfigMatrix)) 'el caso es q no se el limite superior

para las proximas vueltas no tendria q poner:
Redim Preserve konfigMatrix() As String

gracias!
  #2 (permalink)  
Antiguo 14/11/2008, 06:03
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: redim en un procedimiento recursivo

Coloca:
Código vb:
Ver original
  1. ReDim Preserve Variable(1 To UBound(Variable) + 1)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/11/2008, 06:53
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: redim en un procedimiento recursivo

xq el +1??
y donde s pondria de parte del dim konfigMatrix () as string??
gracias x tu ayuda!
  #4 (permalink)  
Antiguo 14/11/2008, 07:06
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: redim en un procedimiento recursivo

mmm. Es que dijiste que querías continuar cargando el array, con el código que te puse se expande el array (por eso el +1) para cargar más elementos, no sé si es a eso a lo que te referías .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 14/11/2008, 09:07
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: redim en un procedimiento recursivo

si, creo q estamos hablando de lo mismo. te pongo un ejemplo:

Dim alumnos () as string

ReDim alumnos(1 To 4) As String
alumnos(1) = "Luciano"
alumnos(2) = "Esteban"
alumnos(3) = "Mariano"
alumnos(4) = "Pedro"

ReDim Preserve alumnos(1 To 7)
alumnos(5) = "Karina"
alumnos(6) = "Raúl"
alumnos(7) = "Romina"

quiero hacer algo asi pero con arrays dinamicos en todo momento desconozco la longitud del array.No se si me explico, en la primera vuelta llenara el array hasta una longitud, en la segunda vuelta quiero q siga llenando de esa longitud en adelante... pero las longitudes son desconocidas.

gracias x vuestros consejos, estoy aprendiendo muchisimo!!
  #6 (permalink)  
Antiguo 14/11/2008, 09:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: redim en un procedimiento recursivo

Entonces, puedes hacerlo como te había dicho en el otro mensaje, ¿lo has intentado?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 14/11/2008, 10:16
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: redim en un procedimiento recursivo

estoy en ello, haber si pa el lunes termino el programa y te respondo!
gracias!
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 00:53.