Você está na página 1de 58

Visual Basic: el lenguaje

VB .NET Ing. Jonathan D. Nima Ramos

Contenido
Introduccin a los tipos de datos Uso de variables mbito de las variables Convertir tipos de datos Crear y utilizar estructuras Almacenar datos en matrices

Introduccin a los tipos de datos


El tipo de datos de un elemento de programacin hace referencia a la clase de datos que puede contener y a cmo se almacenan los datos. El sistema de tipos comunes (Common Type System CTS) define los tipos de datos que soporta el Common Language Runtime.

Qu es el sistema de tipos comunes? El sistema de tipos comunes define cmo se declaran, utilizan y gestionan los tipos en el Common Language Runtime. Cada tipo de datos utilizado en Visual Basic .NET corresponde directamente a un tipo definido en el sistema de tipos comunes.

Sistema de tipos comunes


Sistema de tipos comunes
Tipos valor
Tipos de datos predefinidos Estructuras definidas por el usuario Enumeraciones

Tipos referencia
Cadenas Matrices

Clases

Tipo valor vs. Tipo referencia


Una variable de tipo valor contiene directamente sus datos. Una variable de tipo referencia contiene una referencia o puntero al valor de un objeto. Dos variables de tipo referencia pueden referirse al mismo objeto, de modo que las operaciones en una variable de tipo referencia pueden afectar al objeto referenciado por otra variable de tipo referencia.

Tipos de datos

NaN: indica que no se puede definir el resultado de una operacin: no es numrico, ni cero, ni infinito.

Identificadores de tipos de datos


No es necesario emplear la clusula AS para declarar un tipo. Puede declararse con los caracteres de declaracin Caracteres de declaracin:
Smbolo $ % & ! # @ Tipo String Integer(Int32) Long(Int64) Single Double Decimal Ejemplo A$,nombre$ Cta% Diametier& Distancia! distExact# Balance@

Cmo escoger un tipo de datos


Escoger tipo de datos Boolean para gestionar Condiciones de Verdadero o Falso Enteros Tipo CTS Valor Ejemplo Verdadero

Short, Integer, Long, Byte Single, Double, Decimal Date

Valor

23 (Entero) 9456,72 (Decimal) 02/12/2003 12:30:42 A.M. Casa

Nmeros con enteros y partes de fracciones Valores fecha y hora

Valor

Valor

String

Caracteres imprimibles y visualizables en pantalla Un puntero al valor de un objeto

Referencia

Object

Referencia

myClass myPerson

Cmo escoger un tipo de datos


Si usted declara variables sin tipo de datos, se les otorga de forma predeterminada el tipo de datos Object. La especificacin de tipos de datos para todas sus variables se denomina tipado fuerte. Es recomendado porque:

Minimiza la cantidad de memoria que utiliza la aplicacin. Permite al compilador realizar la verificacin de tipos. La ejecucin del cdigo es ms rpida.

Qu son las variables?


Las variables almacenan valores que pueden cambiar cuando una aplicacin se est ejecutando Las variables tienen seis elementos bsicos
Elemento Nombre Descripcin La palabra que identifica la variable en cdigo

Direccin
Tipo de datos Valor mbito Vida

La ubicacin de memoria donde se almacena el valor


El tipo y tamao inicial de datos que la variable puede almacenar El valor en la direccin de la variable El conjunto de todo el cdigo que puede acceder y utilizar la variable El intervalo de tiempo durante el cual una variable es vlida

Cmo nombrar variables


Se recomienda las siguientes directrices cuando nombre variables:

Proporcione nombres descriptivos y con significado. Nombre largo de variable puede resultar tedioso en el momento de escribir cdigo, pero har que el cdigo sea ms fcil de leer y mantener.

Cmo nombrar variables

Inicie cada palabra del nombre de una variable pblica con letra mayscula. Evite el uso de abreviaturas. Utilice un nombre nico dentro del mbito de la variable. Cuando declare variables locales y privadas, inicie la primera palabra con un carcter en minscula.

Cmo declarar variables


Sintaxis para declarar variables

Dim nombreVariable As Type

Ejemplos de variables de tipo valor


Dim numberBooks As Integer Dim squareFootage As Single

Ejemplos de variables de tipo referencia


Dim myForm As Form Dim userInput As String

Cmo afecta Option Explicit a las variables

Option Explicit habilitado (predeterminado)

Obliga a declarar explcitamente las variables antes de utilizarlas

Reduce errores lgicos y facilita el mantenimiento del cdigo


Produce una ejecucin del cdigo ms rpida

Cmo afecta Option Explicit a las variables

Option Explicit no habilitado

Permite utilizar implcitamente variables sin declararlas


Aumenta la probabilidad de conflictos de nombres y comportamiento imprevisto debido a errores de ortografa Produce una ejecucin del cdigo ms lenta

Cmo asignar valores a las variables Para asignar un valor a una variable, utilice el operador de asignacin (=), como se muestra en la siguiente expresin:

NombreVariable = Valor Dim cumpleaos As Date cumpleaos = #3/9/1974#

Asignar un valor despus de declarar


Cmo asignar valores a las variables Asignar valores mientras se declara


Dim cumpleaos As Date = #3/9/1974# Dim goodNews As String = "Su cheque est en el correo." Dim testCondition As Boolean = True

Cmo utilizar variables


Podemos utilizar para:

Almacenar valores de expresiones Almacenar entrada del usuario Almacenar objetos Almacenar valores de propiedades Devolver valores Mostrar la salida

Variables frente a Constantes


Variables Variable Declare with Dim Declarar con Dim Los valores cambian Values change as mientras se ejecuta application runs la aplicacin Constantes Constant Declare with Const Declarar con Const Los valores no cambian Values stay the same as mientras se ejecuta application runs la aplicacin

Utilizan Uses more ms memory memoria than que Uses Utilizan less menos memory memoria than constants las constantes variables que las variables

Sintaxis para declarar una constante:


Const constantName As Type

mbito de una variable


Para estudiar el modo de trabajo del mbito con variables, debemos estar familiarizados con los trminos y definiciones de la siguiente tabla:

mbito de una variable

mbito de una variable


Mdulo o clase Public Public a As Integer
Mdulo o clase Friend Friend b As Date Mdulo o clase Private Private c As String Procedimiento o bloque Dim d As Integer Otros proyectos de la solucin pueden acceder a la variable a Puede accederse a la variable b desde cualquier lugar del proyecto Puede accederse a la variable c desde cualquier lugar del mdulo Slo puede accederse a la variable d dentro del procedimiento o bloque

mbito de una variable


Existen tres factores principales que afectan al mbito de una variable: Dnde la declaramos: dentro de un bloque, procedimiento, mdulo, clase o estructura. El nivel de acceso (Public, Friend o Private) del mdulo, clase o estructura en que se declara. La sintaxis que utilizamos para declarar la variable (Dim, Private, Friend o Public).

mbito de una variable


Factores que afectan al mbito
Bloque
Procedimiento Mdulo, Clase o Estructura Private Public

Dnde declaramos la variable Nivel de acceso del contenedor de la variable

Nivel de acceso de la variable

Friend

Niveles de mbito
Nivel de mbito
Bloque Procedimiento Modulo

Descripcin
Disponible nicamente dentro del bloque de cdigo en el que se declara Disponible nicamente dentro del procedimiento en el que se declara Disponible para todo el cdigo del mdulo, clase o estructura en el que se declara Disponible para todo el cdigo del espacio de nombres

Espacio de nombres

Cmo declarar variables locales


Dnde declarar En bloque En procedimiento Palabra clave Dim Dim Modificador de acceso Ninguno Ninguno mbito Nivel bloque Nivel procedimiento

Ejemplo de variable local: a nivel de bloque


If x < > 0 Then Dim blockNumber As Integer blockNumber = x + 1 End If

Ejemplo de variable local: a nivel de procedimiento


Sub ShowMessage_Click( ) Dim miVariable As String ' Insert code to add functionality End Sub

Cmo declarar variables estticas Una variable esttica perdurar mientras la aplicacin siga ejecutndose. Las variables estticas siguen existiendo y conservan sus ltimos valores entre invocaciones al procedimiento en el que se han declarado.

Cmo declarar variables estticas El cdigo de otros procedimientos no puede acceder a ellas.
Sub AddItem_Click( ) Static items As Integer ' Aadir 1 al contador items += 1 MessageBox.Show (El contador es ahora " & items) End Sub

Las variables estticas resultan tiles para mantener contadores que se utilizan nicamente dentro de un procedimiento.

Cmo declarar variables de mdulo

Las variables declaradas en un mdulo, clase o estructura pero no dentro de un procedimiento se denominan variables de mdulo.
AccessModifier nombreVariable As Type
Utilizar modificador de acceso mbito Private Mdulo Friend Proyecto Public Solucin

Ejemplo:
Private myModuleMessage As String Friend myProjectMessage As String Public mySolutionMessage As String

Convertir tipos de datos


Cuales son las funciones de conversin? Cmo convertir explcitamente tipos de datos Cmo funciona la conversin de datos implcita

Cules son las funciones de conversin?

Las funciones de conversin permiten convertir explcitamente un valor de un tipo de datos a otro.
Valor Integer 1234
Valor Double 567,9894 se convierte en CStr

Valor String "1234"


Valor Integer 568

CInt

Valor String "12 Febrero 1992"

CDate

Valor Date #2/12/92#

Cules son las funciones de conversin?

Ejemplo Conversin de tipos

Convertir tipos de datos


Podemos convertir explcitamente valores de un tipo en otro antes de que sean utilizados, evitando as errores en nuestro cdigo y haciendo que ste se ejecute ms rpidamente. Tambin se pueden realizar conversiones automtica o implcitamente, como convertir algunas cadenas a enteros. Sin embargo, las conversiones implcitas pueden producir resultados imprevistos.

Cmo convertir explcitamente tipos de datos

Sintaxis: NombreVariable = CFunction(Expression)

Ejemplo

1 2 3 4

Declarar una variable como tipo de datos String Dim myString As String Declarar otra variable como tipo de datos Integer Dim myInteger As Integer

Asignar un valor a la variable string


myString = "1234"

Convertir el valor string en un valor integer


myInteger = CInt(myString)

Convierte pies y pulgadas A metros.

Cmo funciona la conversin de datos implcita


Los tipos de datos son convertidos automticamente No se requiere sintaxis especial en el cdigo Ejemplo de conversin de datos implcita:
Dim sequence As String Dim number As Integer ' ... sequence = "1234" number = sequence ' The value in sequence is implicitly converted to an Integer

Desventajas de la conversin de datos implcita:


Puede producir resultados imprevistos El cdigo se ejecuta ms lentamente

Option Strict rechaza las conversiones implcitas de tipo estrechas

Crear y utilizar estructuras


Informacin relacionada de grupo en una estructura nica
Nombre empleado Fecha nacimiento

Fecha contrato
Cargo

Estructura de datos de Empleado

Crear y utilizar estructuras


Una combinacin de tipos de datos Se utilizan para crear tipos de valores definidos por el usuario Sus miembros pueden ser variables, propiedades, mtodos o eventos Ejemplo de estructura definida por el usuario:

Public Structure Empleado Public Nombre As String Public Apellido As String Public FechaContrato As Date Public Cargo As String Private Salario As Decimal End Structure

Cmo declarar estructuras


Dentro de un mdulo, archivo o clase (no en un procedimiento) Sintaxis para declarar estructuras:
AccessModifier Structure StructureName ' Declare structure members here End Structure

Dnde se encuentra el modificador de acceso:


Public para acceso no restringido Protected para acceso slo dentro de su propia clase Friend para acceso en cualquier lugar de la aplicacin o ensamblado Private para acceso slo dentro del contexto de su declaracin

No asigne valores a miembros de datos en la declaracin

Ejemplo de estructura

Qu es una matriz?
Definicin: Una matriz es una serie de elementos de datos

Todos los elementos de una matriz tienen el mismo tipo de datos Se accede a los elementos individuales utilizando ndices enteros
(0) ndice 0 (1) (2) (3) (4) (5) (6) ndice 6

Ejemplo

Para declarar una matriz entera con siete elementos:


Dim countHouses(6) As Integer

Para acceder al tercer elemento de la matriz:


TextBox1.Text = CStr(countHouses(2))

Cmo declarar una matriz unidimensional

Declaramos una matriz especificando el:


Nombre de la matriz Tamao (nmero de elementos) Tipo de datos de los elementos de la matriz Modificador de acceso (si fuera necesario)

AccessModifier ArrayName(Size) As Type


Especifica el tipo de datos de elementos de la matriz Especifica el tamao de la matriz Especifica el nombre de la matriz Especifica el nivel de acceso de la matriz

Declarar un array
Declararemos un array de igual forma que hacemos con una variable normal, con la excepcin de que junto al nombre de la variable, situaremos unos parntesis.

Declarar un array

Asignacin y obtencin de valores Para asignar u obtener valores de los elementos de un array, haremos referencia al ndice o posicin. O bien, puesto que un array es un objeto, utilizaremos los mtodos SetValue( ) y GetValue( ) que asignan y obtienen respectivamente los valores del array.

Asignacin y obtencin de valores

Recorrer el contenido
Para realizar un recorrido por los elementos de un array, disponemos de las funciones LBound( ) y UBound( ), que devuelven el nmero de ndice inferior y superior respectivamente del array que pasemos como parmetro.

Recorrer el contenido
Length. Esta propiedad de un objeto array devuelve el nmero de elementos que contiene. GetLowerBound( ), GetUpperBound( ). Devuelven respectivamente, el nmero de ndice inferior y superior. El mismo que usando LBound( ) y UBound( ).

Ejemplo

Ejemplo

Recomendaciones:
El primer ndice de un array debe ser siempre cero No es posible crear arrays con rangos de ndices ejemplo:

Dim Nombres(5 To 8) As String

Recomendaciones
Modificacin de tamao

Para aumentar o disminuir el nmero de elementos de un array disponemos de la palabra clave ReDim. Esta instruccin crea internamente un nuevo array, por lo que los valores del array original se pierden. Evitaremos este problema utilizando junto a ReDim la palabra clave Preserve, que copia en el nuevo array, los valores del array previo.

Bsqueda
Los mtodos IndexOf( ) y LastIndexOf( ) de la clase Array, nos permiten buscar un elemento en un array comenzando la bsqueda desde el principio o final respectivamente

Dim sNombres() As String = {"Alberto", "Juan", "Ana", "Paco", "Miguel", "Ana"} x = Array.IndexOf(sNombres, "Ana", 3)

Arrays multidimensionales
Dim iDatos(2, 4) As Integer

Recorrer arrays multidimensionales


Rank. Devuelve el nmero de dimensiones del array. GetLength(Dimension). Devuelve el nmero de elementos de la dimensin de array pasada como parmetro. GetLowerBound(Dimension). Devuelve el nmero de ndice inferior de la dimensin pasada como parmetro. GetUpperBound(Dimension). Devuelve el nmero de ndice superior de la dimensin pasada como parmetro.

Você também pode gostar