Arreglo

Experto:
Usuario:
Fecha: 22/11/2009
Valoración: (5,00 sobre 5) Categoría: Visual Basic
22/11/2009
soledad25, usuario preguntando en Visual Basic
Usuario
Hola sabes, quiero saber si en Visual Basic se puede trabajar con arreglos dinamico, me explico,debo ocupar un arreglo que me guarde valores, pero en tiempo de ejecucion se debe definir su largo, puesto que este largo se obtendra de una consulta a la base de datos y la primera ves el largo del arrego puede ser 4 la segunda 5 .....
ect si supiera el largo mas largo lo defino de ese largo pero no es dedusible
si sabes como solucionar este problema de lo agradeceria un monton
Soledad
22/11/2009
soledad25, experto respondiendo en Visual Basic
Experto
primero tenes que declarar el arreglo (sin especificar el tamaño):

'este arreglo guardara datos del tipo integer.

Dim arreglo() As Integer

'si queres guardar arreglos de cualquier tipo declaralo asi:

Dim arreglo() As Variant

'si queres modificar el tamaño del aregglo hacelo asi

ReDim arreglo(1 To 1)

'en este ejemplo el arreglo tiene un unico elemento, y empieza en 1.

ReDim arreglo(0 To 2)

'en este ejemplo el arreglo tiene 3 elementos y empieza en 0.

'en los ejemplos anteriores, si tenias algun valor almacenado en el arreglo, te los ponian en cero (eliminaba).

'si queres modificar el tamaño del arreglo, preservando los valores almacenados en el mismo hace lo sig.

ReDim Preserve arreglo(1 To 3)

'en el siguiente ejemplo se le agrega 1 al tamaño del arreglo.

ReDim Preserve arreglo(1 To UBound(arreglo) + 1)

'por ultimo para agregar un valor a un arreglo se hace de la siguiente forma:

arreglo(posicion) = valor

'por ejemplo, si se quiere agregar al final se hace asi:

arreglo(UBound(arreglo)) = valor

'pero si se quiere agregar al inicio se hace asi:

arreglo(1)=valor

'si el arreglo fue declarado como Dim arreglo(1 to 3) as integer, pero si fue declarado como Dim arreglo(4 to 5) as integer se hace asi:

arreglo(4)=valor

Espero que te sirva de ayuda. No te olvides de ponerle puntaje a la respuesta.
22/11/2009
soledad25, usuario preguntando en Visual Basic
Usuario
Excelente. Una fantástica solución.
Enlaces patrocinados