miércoles, 12 de enero de 2011

Redimensionando Vectores

En esta entrega traemos un facil ejemplo de como crear un vector dinamico es decir que no tendras la necesidad de indicarle la cantidad de posiciones a utilizar,el automaticamente las agregara según la necesidad del usuario.

Module Module1

Dim vector(0) As String 'Aqui se declara el vector

Dim contador As Integer = 0 'Aqui declaramos un contador que llevara la cuenta de los datos ingresados

Dim opciones As Integer ' Aqui declaramos la variable que guardara la opcion Agregar,Ver,Salir.

Dim ver As Boolean = False ' Esta variable solo nos indicara si hay o no datos en el vector

Sub Main()

Call menu()

End Sub

Private Sub menu()

' Metodo opciones del Menu

Console.Clear()

Console.WriteLine(" Desea Ingresar datos Presione 1 ")

Console.WriteLine(" Desea ver los datos ingresados Presione 2 ")

Console.WriteLine(" Desea salir del sistema 3 ")

opciones = Console.ReadLine

If opciones = 1 Then

'Llama al metodo agregardatos

Call agregarDatos()

ElseIf opciones = 2 Then

'Llama al metodo verDatos

Call verDatos()

ElseIf opciones = 3 Then

'Cierra la aplicacion

End

Else

Console.Clear()

Console.WriteLine(" Opcion Incorrecta ")

Console.ReadKey()

Call menu()

End If

End Sub

Private Sub agregarDatos()

'Metodo que agrega datos al vector a la ves que lo redimenciona

' Asignamos verdadero si hay datos en el vector

ver = True

Console.Clear()

Console.WriteLine(" Ingrese un dato al Array ")

' Guardamos el dato en la posicion 0 del vector que es el valor inicial

' del contador, ya que esa es la posicion inicial de todo vector

vector(contador) = Console.ReadLine

' Aumentamos en uno el contador

contador = contador + 1

' Aqui es donde redimensionamos el Vector,ReDim Preserve

'ademas de redimensionar preserva los datos antes guardados,

'le asignamos la nueva cantidad de elementos con el nuevo valor del

contador

ReDim Preserve vector(contador)

Console.Clear()

Call menu()

End Sub

Private Sub verDatos()

Console.Clear()

Console.WriteLine(" Numero de datos Ingresados : " & contador)

' Verificamos si hay datos en el vector,si los hay se mostraran

'caso contrario se enviara un mensaje de error

If ver = True Then

' Recorremos el vector con un bucle For para extraer los datos

' como se menciono,la pocision inicial de todo vector es 0,

' por ello el recorrido del For sera de 0 hasta la Cantidad de

' elementos guardados -1 ,logicamente....

For a As Integer = 0 To contador - 1

Console.WriteLine(vector(a))

Next

Else

Console.WriteLine(" ERROR, No hay datos ingresados en el vector ")

End If

Console.ReadKey()

Call menu()

End Sub

End Module