Visual Basic para Aplicaciones - Arrays dinamicos

Life is soft - evento anual de software empresarial
 
Vista:

Arrays dinamicos

Publicado por pepe (3 intervenciones) el 19/01/2004 11:31:40
Hola buenos días, querria saber como le asigno a un array dinamico el tamaño.
Yo hice lo siguiente:
Option Explicit
dim arrayDescripcion() as string
Private Sub Command1_Click()

ReDim arrayDescripcion(1) As String
ReDim arrayDescripcion(Len(arrayDescripcion)) As String
ReDim Preserve arrayDescripcion(Len(arrayDescripcion)) As String
For i = LBound(arrayDescripcion) To UBound(arrayDescripcion)
MsgBox arrayDescripcion(i)
Next i

End Sub

Me da un error en len(arrayDescripcion), me dice que no puede ser asignado asi. Alguien me podria decir que es lo que estoy haciendo mal.
Gracias y buenos dias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Arrays dinamicos

Publicado por aps (2 intervenciones) el 30/01/2004 17:36:35
Lo que haces mal es que al redimensionar la segunda vez, para saber el indice mas alto no vale con len, esto es para una cadena, no para un array de cadenas, hay unas funciones que te dan el indice superior y el inferior, una es UBOUND , creo que esta es la que te da el indice superior, miralo en los arrays dinamicos en la ayuda que hay viene. Otra cosa, te aconsejo que no lo hagas todo en una linea, primero ve cual es el indice superior y lo cargas en una variable, despues lo redimensionas, otra cosilla, si pones solamente REDIM borraras todos los datos que tenga el array dinamico al redimensionarlo, para que no se borre tienes que utilizar el parametro PRESERVE, con lo que quedaria REDIM PRESERVE ...

Creo que era preserve, esto tambien miralo en la ayuda del REDIM.

Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar