Un arreglo tipo lista
se define como una variable que permite almacenar un conjunto de datos del
mismo tipo organizados en una sola columna y uno o mas renglones.
Tambien reciben el
nombre de vectores en algebra o arreglos unidimensionales en programacion.
Los procesos normales
con una lista o con sus elementos incluyen declarar toda la lista, capturar sus
elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc.
Para declarar una
lista se usa el siguiente formato;
SHARED
DIM NOMLISTA(CANT ELEMENTOS -1) AS TIPODATO
Shared(compartido),
se usa cuando la lista se tenga que compartir entre varias subutinas, observar
que cada boton de comando en un programa empieza con sub-end sub, si un
programa tiene varias subrutinas que compartan la misma lista, dicha lista
debera ser SHARED.
La cantidad de
elementos-1, significa que si se quiere una lista de 5 ciudades por ejemplo su
declaracion sera shared dim ciudad(4) as string, la razon de esto es que visual
basic empieza una lista por el elemento o renglon cero(0), por tanto cuando se
pide crear una lista de 4 ciudades, visual basic net le agrega el renglon o
elemento 0, que en total darian 5 ciudade.
Es tambien importante
recordar que un arreglo en visual basic net es realmente un objeto derivado de
la clase SYSTEM.ARRAY.
Recordar tambien que
como objeto arreglo, tambien puede usar una serie de metodos pertenecientes a
dicha clase system.array, los metodos principales de dicha clase y por tanto de
los arreglos derivados de la misma son:
Public Methods
BinarySearch Overloaded. Searches a one-dimensional sorted Array for a
value, using a binary search algorithm.
Clear Sets a range of elements in the Array to zero, to false, or to a
null reference (Nothing in Visual Basic), depending on the element type.
Clone Creates a shallow copy of the Array.
Copy Overloaded. Copies a section of one Array to another Array and
performs type casting and boxing as required.
CopyTo Copies all the elements of the current one-dimensional Array to
the specified one-dimensional Array starting at the specified destination Array
index.
CreateInstance Overloaded. Initializes a new instance of the Array
class.
Equals (inherited from Object) Overloaded. Determines whether two Object
instances are equal.
GetEnumerator Returns an IEnumerator for the Array.
GetHashCode (inherited from Object) Serves as a hash function for a
particular type, suitable for use in hashing algorithms and data structures
like a hash table.
GetLength Gets the number of elements in the specified dimension of the
Array.
GetLowerBound Gets the lower bound of the specified dimension in the
Array.
GetType (inherited from Object) Gets the Type of the current instance.
GetUpperBound Gets the upper bound of the specified dimension in the
Array.
GetValue Overloaded. Gets the value of the specified element in the
current Array.
IndexOf Overloaded. Returns the index of the first occurrence of a value
in a one-dimensional Array or in a portion of the Array.
Initialize Initializes every element of the value-type Array by calling
the default constructor of the value type.
LastIndexOf Overloaded. Returns the index of the last occurrence of a
value in a one-dimensional Array or in a portion of the Array.
Reverse Overloaded. Reverses the order of the elements in a
one-dimensional Array or in a portion of the Array.
SetValue Overloaded. Sets the specified element in the current Array to
the specified value.
Sort Overloaded. Sorts the elements in one-dimensional Array objects.
ToString (inherited from Object) Returns a String that represents the
current Object.
FUENTE: Ayuda
Microsoft Net
notas:
En visual Basic 2005
recordar que la primera posicion o renglon en una lista es la posicion o
renglon 0 (cero).
El dato capturado,
proviene de momento de un componente escalar textbox y/o se usan tantos de
estos controles como elementos tenga el arreglo o mas facil aun se debera
controlar la captura de elementos usando algun algoritmo sencillo de validacion
como lo muestra el programa ejemplo.
Prog
' DECLARANDO LISTA GLOBAL Y ESTA DECLARACION VAN FUERA DEL SUB
Shared EDADARR(4) As Integer
' DECLARANDO RENG COMO GLOBAL
Dim RENG As Integer
Private Sub Button1_Click_1(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' EN ESTE MODULO SOLO SE TRABAJA CON EL ARREGLO
' EN MEMORIA
If RENG <= 5 Then
EDADARR(RENG) = EDAD.Text
RENG = RENG + 1
EDAD.Text = ""
End If
If RENG >= 5 Then
EDAD.Visible = False
RENG = 0
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
' LIMPIANDO LISTAS
LISTA1.Items.Clear()
LISTA2.Items.Clear()
' CARGANDO LISTA ORIGINAL CON EDAD CAPTURADA
For RENG = 0 To 4
LISTA1.Items.Add(EDADARR(RENG))
Next
' A MESES Y Y DESPLEGANDO
For RENG = 0 To 4
EDADARR(RENG) = EDADARR(RENG) * 12
LISTA2.Items.Add(EDADARR(RENG))
Next
End Sub
corrida
notas:
Observar que en el
programa el arreglo edad y la variable renglon se declararon de tipo GLOBAL
porque los dos metodos el de captura y el de operacion-despliegue, las estan
compartiendo.
Ademas observar que
se declararon antes de los eventos “clickButton”, para crearlos como objetos
globales.
Para
el caso de operaciones y comparaciones con todos los elementos de la lista a la
vez se debera usar un ciclo for con una variable entera llamada renglon, misma
que tambien se usa como indice de la lista.
Recordar que todos
los datos internos de la lista estaran almacenados en la memoria ram del
computador, para despliegues se usa un componente visual que permite manipular
un conjunto de datos a la vez, el ListBox con sus metodos apropiados pero se
tiene que usar un ciclo for para ir anadiendo o agregando elemento por elemento
como se observa en el problema ejemplo que se ha venido desarrollando, en este
caso se quiere desplegar las cinco edades convertidas a meses.
La ultima intruccion
y muy importante es poner en cero las variables de control de ciclos o indice
de arreglos, esto es porque el servidor mantiene el programa ejecutandose
continuamente en memoria y si se vuelve a pedir la ejecucion del programa, en
cuento se intente capturar un nuevo dato va a marcar el error
arreglofueradelimite o arrayofbound, estan avisados.
Para
inicializar una lista se debe usar el siguiente formato:
shared dim nomlista()
as tipodato={lista de valores separados por comas}
ej;
shared dim edad() as integer = {15,16,17,18}
shared dim sueldo() as double = {40.85, 65.30, 33.33}
shared dim ciudad()
as string = {“tecate”, “tijuana”, “mexicali”, “rosarito”, “ensenada”}
TAREAS
PROGRAMACION VISUAL BASIC 2005
1.- Capturar y
desplegar 5 precios de productos cualesquiera usando dos panel uno para
capturar y uno para desplegar
2.- Capturar 4
sueldos en un panel desplegarlos aumentados en un 25% en otro panel
3.- Capturar los
datos de 5 productos comprados en una tienda, incluyendo nombre, precio y
cantidad en sus 3 listas respectivas, despues calcular una cuarta lista con el
gasto total por cada producto desplegarlo todo en un segundo panel e incluir
tambien el gran total
4.- Capturar en una
lista solamente 6 numeros multiplos de 5, se debe de estar capture y capture
numeros hasta que se completen los 6 multiplos de 5
No hay comentarios:
Publicar un comentario