canal visual basic .net

Recursos Visual Basic.NET, VB.NET, Manuales de programación, Tutoriales, Foros de programación, Comunidad de programadores

Usuarios activos:  133

Manuales : Estructuras de datos


[ Variables | Variables estaticas (Static) | Constantes | Arreglos | Arreglos Dínamicos ]

Variables

Las variables son estructura de datos usados para almacenar información. Hay dos tipos de información que puede ser almacenada: Números y texto. Antes de usar una variable ésta, deberá primero ser definida:

  Dim nombre_de_variable As Tipo

Ejemplo:
  Dim  precio  As Long
  Dim nombre_de_articulo As String

Tipo Rango permitido
Integer -32,768 a 32,767
Long -2,147,483,648 a 2,147,483,647
Single -3.402823E38 a -1.401298E-45
1.401298E-45 a 3.402823E38
Double -1.79769313486232D308 a -4.94065645841247D-324
4.94065645841247D-324 a 1.79769313486232D308
Currency -922337203685477.5808 a 922337203685477.5807
String 0 a 65,000 bytes
Variant Valores de fechas: 1/1/0000 a 12/32/9999
Numérico: igual que Double
Texto: Igual que String
Si una nueva variable es declarada sin especificación VB por default la deberá tomar como tipo Variant

Una vez que una variable se ha creado, se le puede asignar un valor. Para esto se usa el operador ' = '. En el primer ejemplo de abajo a una variable se le asigna un valor constante, mientras que en el segundo se le asigna el contenido de una variable multiplicada por 10.

Ejemplo 1: precio = 29.95
Ejemplo 2: precio_total = precio * 10

El Alcance de una variable es definido como su rango de operación. Hay tres tipos de alcance en una variable:

  1. Local - La variable solo puede ser usada en el procedimiento actual ( use Dim dentro del procedimiento requerido).
  2. Módulo - La variables pueden ser accesadas desde cualquier procedieminento de la forma actual (use Dim dentro de la sección de Declaraciones Generales de la forma).
  3. Global - Pueden ser accesados desde cualquier procedimiento y desde cualquier forma. (usa Global dentro de la sección de Declaraciones Generales de un módulo).


Variables Estáticas

El declarar variables y arreglos (ver abajo ) como local en un procedimieneto/función es muy usado, porque esto minimíza los efectos extraños que pueden ocurrir cuando se usan variables globales. Sin embargo, cuando usamos una variable local en un procedimiento VB crea un espacio de memoria para mantener el valor de esta variable , esto sucede cuando lee el estatuto Dim, pero cuando llega al final del procedimiento (End Sub) VB libera el espacio asigndo para el valor de la variable local. Agrega el siguiente código a un botón de comando y observa que valores son impresos:

  Sub Command1_Click ()
    Dim numero As Integer           ' Crea una variable Local normal

    numero  = numero + 1
    Print numero
  End Sub

Después de dar clic varias veces al botón de comando deberás ver una columna de unos en el lado izquierdo de la forma. El valor nunca será arriba de uno a pesar de que el valor de la variable se incrementa en uno cada vez. Esto es porque cada vez que el procediemineto es llamado, haciendo clic en el botón, VB esta trabajano con una variable diferente. Esta tiene exactamente el mismo nombre en el programa pero es una variable completamente diferente. Para que ésto no suceda así, introduce Staticen el lugar de Dim:

  Sub Command1_Click ()
    Static numero As Integer           ' Crea una variable estática local

    numero = numero + 1
    Print numero
  End Sub

Ahora en vez de que el valor de la variable se pierda cuando el procedimiento termina, con este cambio (static) su valor permanecerá hasta que todo el programa termine. De esta manera, podemos ver una lista de números que se incrementan en uno cada vez que se le da clic al botón de comando.

Nota: La nueva variable estática es una variable de alcance local, si cualquier procedimiento trata de accesar esta variable no prodrá lograrlo. Agrega a la forma un nuevo botón de comando, el cual deberá tener un nuevo procedimiento 'Click', y trata de corregir o imprimir el valor de la variable estática que contiene el primer botón.

El contenido de un arreglo local, también puede mantenerse mientras el programa se ejecute. Para hacer esto agrega el estatuto 'Static' en lugar de 'Dim' como lo hicimos en el ejemplo de arriba.

  Static salarios(199) As Long


Constantes

Las constantes son similares a una variable pero tienen un valor determinado que se mantiene igual en toda la ejecución del programa. El contenido de una varible puede cambiar tantas veces sea necesario. ¿Porque usar una constante si no puede cambiar de valor?. Hacemos esto cuando deseamos usar un mismo número o una palabra (string) varias veces. Por ejemplo, en un programa para calcular los impuestos de todo el año, deberá hacer referencia a un valor en varias partes del programa, que puede ser el porciento de impuesto mensual con respecto a las ganancias. Par ello podemos usar una variable llamada IMP, que mantendrá el valor en el evento Form_Load.

En el siguiente ejemplo definimos una contante llamada ' IMP ' y le asignamos el valor de 1.175. Ese es usado en estatuto Print con la variable pago_total para calcular la cantidad total a pagar. Note que en lugar de escribir 1.175 en la fórmula nos referimos a el nombre de la constante.

Ejemplo:

  Const IMP = 1.175            ' Declara y asigna un valor  a la constante 

  Dim pago_total As Currency   ' Declara una variable local para almacenar el total a pagar

  pago_total = 560.95

  Print "Total = "; pago_total * IMP

Como las variables las constantes también tiene reglas de alcance. Hay constantes globales que pueden ser accesadas por cualquier módulo o cualquier forma del proyecto, las constantes de módulo solo son accesadas por la foma que los contiene, y las contantes locales son accesadas solamente por el objeto actual o procedimiento/función.

  1. Local - usa 'Const' dentro del procedimiento requerido.
  2. Módulo - usa 'Const' dentro de la sección deDeclaraciones Generales de una forma o módulo.
  3. Global - usa 'Global Const' dentro de la sección deDeclaraciones Generales de un módulo (ésto es Module1.bas).

Arreglos (arrays)

La variables son muy usadas para lamacenar pequeñas cantidades de información, pero no son convenientes para grandes cantidades de información muy similar. Por ejemplo, para almacenar los salarios de doscientos empleados, necesitaremos 200 variables diferentes. Una mejor forma de almacenar esta información será usra una estructura de datos llamada arreglos array.

Un arreglo es similar a las celdas en un panal de abejas. Todo el arreglo tiene un nombre, y cada celda tiene una dirección. Para el problema de los salarios planteado arriba, un arreglo el cual tiene 200 elementos (celdas) , usaremos el comando Dim para cerar un nueva variable, pero marcaremos también el tamaño de esta variable .

  Dim nombre_del_arreglo (tamaño) [As Tipo]

Ejemplo: Dim salarios(199) As Long

En el ejemplo de arriba creamos un arreglo con 200 elementos. El tamaño marcado es de 199 porque por default VB empieza la numeración con 0.

Si sabemos que el nombre 'Jaime ' es el empleado número 24 y tiene un salario de 25,000 pesos mensuales, podemos lintroducir esta cantidad en el arreglo de la siguiente forma:

  salarios(23) = 25000

Contrario a lo anterior, si deseamos saber cula es el salario del empleado número 189, podemos usar:

  lblvalor.Caption = salarios(188)

Nota: En los dos ejemplos anteriores, para accesar un elemento es necesario colocar el número del elemento anterior (si deseamos el 150, pedimos el 149). esto es VB empieza un arreglo de 0, no de 1. Sin embargo VB pude ser forzado a empezar con 1, agregando el estatuto 'Option Base 1' en la sección de declaraciones generales de la forma o el módulo.


Dynamic Arrays

Podemos crear arreglos tantas veces lo necesitemos , pero en ciertos momentos es necesario cambiar el tamaño del arreglo en una aplicación. Para hecer esto podemos usar un arreglo ' dínamico '. Primero el arreglo puede ser declarado en la misma forma, pero sin el número de elementos:

  Dim libros() As String

Para cambiar el tamaño de este arreglo use el comando 'ReDim' y especifique el número de elementos :

  ReDim libros(99)

Normalmente el contenido de un arreglo se pierde cuando se redimensiona, sin embargo para que esto no suceda use:


  ReDim Preserve libros(99)

Como las variables los arreglos también tienen diferentes alcances:

  1. Global - accesa cualquier form o module que esta en el proyecto.
  2. Module - accesa cualquier procedimiento sobre la forma en la cual esta colocado.
  3. Procedimiento - accesasolamente en el procedimiento en el cual es declarado.

Visual Studio .VisualBasic.net .ADO.NET .ASP.NET .Framework .Crystal report
[Visual Basic .NET · Información legal · Condiciones de uso · Publicidad · Contacto · RSS novedades Foro · Inicio]
Un sitio web de Internelia (Ontecnia) © Copyright 2010 canalvisualbasic.net. Todos los derechos reservados