clase 2.- visual basic el lenguaje

58
Visual Basic: el Visual Basic: el lenguaje lenguaje VB .NET VB .NET Ing. Jonathan D. Nima Ramos Ing. Jonathan D. Nima Ramos

Upload: carlos-eduardo-paiva-mariategui

Post on 25-Oct-2015

23 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Clase 2.- Visual Basic El Lenguaje

Visual Basic: el lenguajeVisual Basic: el lenguaje

VB .NET VB .NET Ing. Jonathan D. Nima RamosIng. Jonathan D. Nima Ramos

Page 2: Clase 2.- Visual Basic El Lenguaje

ContenidoContenido

Introducción a los tipos de datosIntroducción a los tipos de datosUso de variablesUso de variablesÁmbito de las variables Ámbito de las variables Convertir tipos de datosConvertir tipos de datosCrear y utilizar estructurasCrear y utilizar estructurasAlmacenar datos en matricesAlmacenar datos en matrices

Page 3: Clase 2.- Visual Basic El Lenguaje

Introducción a los tipos de Introducción a los tipos de datosdatos

El El tipo de datos tipo de datos de un elemento de de un elemento de programación hace referencia a la programación hace referencia a la clase de datos que puede contener y clase de datos que puede contener y a cómo se almacenan los datos. a cómo se almacenan los datos. El sistema de tipos comunes El sistema de tipos comunes ((Common Type System – CTSCommon Type System – CTS) define ) define los tipos de datos que soporta el los tipos de datos que soporta el Common Language Runtime. Common Language Runtime.

Page 4: Clase 2.- Visual Basic El Lenguaje

¿Qué es el sistema de tipos comunes?¿Qué es el sistema de tipos comunes?

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

Page 5: Clase 2.- Visual Basic El Lenguaje

Sistema de tipos comunesSistema de tipos comunes

Tipos de datos predefinidos

Estructuras definidas por el usuario

Enumeraciones

Cadenas

Matrices

Clases

Tipos valorTipos valor Tipos referenciaTipos referencia

Sistema de tipos comunesSistema de tipos comunes

Page 6: Clase 2.- Visual Basic El Lenguaje

Tipo valor vs. Tipo Tipo valor vs. Tipo referenciareferencia

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

Page 7: Clase 2.- Visual Basic El Lenguaje

Tipos de datosTipos de datos

NaN: indica que no se puede definir el NaN: indica que no se puede definir el resultado de una operación: no es resultado de una operación: no es numérico, ni cero, ni infinito.numérico, ni cero, ni infinito.

Page 8: Clase 2.- Visual Basic El Lenguaje

Identificadores de tipos de Identificadores de tipos de datosdatos

No es necesario emplear la cláusula AS No es necesario emplear la cláusula AS para declarar un tipo.para declarar un tipo.Puede declararse con los caracteres de Puede declararse con los caracteres de declaracióndeclaraciónCaracteres de declaración:Caracteres de declaración:

Símbolo Tipo Ejemplo

$ String A$,nombre$

% Integer(Int32) Cta%

& Long(Int64) Diametier&

! Single Distancia!

# Double distExact#

@ Decimal Balance@

Page 9: Clase 2.- Visual Basic El Lenguaje

Cómo escoger un tipo de Cómo escoger un tipo de datosdatos

BooleanBoolean Condiciones de Verdadero o Falso

Condiciones de Verdadero o Falso

ValorValor VerdaderoVerdadero

EscogerEscogertipo de datos …tipo de datos …

EscogerEscogertipo de datos …tipo de datos … para gestionar …para gestionar …para gestionar …para gestionar … Tipo CTSTipo CTSTipo CTSTipo CTS EjemploEjemploEjemploEjemplo

Short, Integer,Long, Byte

Short, Integer,Long, Byte

EnterosEnteros ValorValor 23 (Entero)

23 (Entero)

Single, Double,Decimal

Single, Double,Decimal

Números con enterosy partes de fracciones

Números con enterosy partes de fracciones

ValorValor 9456,72(Decimal)

9456,72(Decimal)

DateDate Valores fecha y horaValores fecha y hora ValorValor 02/12/200312:30:42 A.M.

02/12/200312:30:42 A.M.

StringString Caracteres imprimibles yvisualizables en pantalla

Caracteres imprimibles yvisualizables en pantalla

ReferenciaReferencia “Casa”“Casa”

ObjectObject Un puntero al valor deun objeto

Un puntero al valor deun objeto

ReferenciaReferencia myClassmyPerson

myClassmyPerson

Page 10: Clase 2.- Visual Basic El Lenguaje

Cómo escoger un tipo de Cómo escoger un tipo de datosdatos

Si usted declara variables sin tipo de datos, se Si usted declara variables sin tipo de datos, se les otorga de forma predeterminada el tipo de les otorga de forma predeterminada el tipo de datos datos ObjectObject. . La especificación de tipos de datos para todas La especificación de tipos de datos para todas sus variables se denomina sus variables se denomina tipado fuertetipado fuerte. Es . Es recomendado porque: recomendado porque: Minimiza la cantidad de memoria que utiliza la Minimiza la cantidad de memoria que utiliza la

aplicación. aplicación. Permite al compilador realizar la verificación de tipos. Permite al compilador realizar la verificación de tipos. La ejecución del código es más rápida. La ejecución del código es más rápida.

Page 11: Clase 2.- Visual Basic El Lenguaje

¿Qué son las variables?¿Qué son las variables?

Las variables almacenan valores que Las variables almacenan valores que pueden cambiar cuando una aplicación pueden cambiar cuando una aplicación se está ejecutandose está ejecutandoLas variables tienen seis elementos Las variables tienen seis elementos básicosbásicos

ElementoElementoElementoElemento DescripciónDescripciónDescripciónDescripción

NombreNombre La palabra que identifica la variable en códigoLa palabra que identifica la variable en código

DirecciónDirección La ubicación de memoria donde se almacena el valorLa ubicación de memoria donde se almacena el valor

Tipo de datosTipo de datos El tipo y tamaño inicial de datos que la variable puede almacenarEl tipo y tamaño inicial de datos que la variable puede almacenar

ValorValor El valor en la dirección de la variableEl valor en la dirección de la variable

ÁmbitoÁmbito El conjunto de todo el código que puede acceder y utilizar la variableEl conjunto de todo el código que puede acceder y utilizar la variable

VidaVida El intervalo de tiempo durante el cual una variable es válidaEl intervalo de tiempo durante el cual una variable es válida

Page 12: Clase 2.- Visual Basic El Lenguaje

Cómo nombrar variablesCómo nombrar variables

Se recomienda las siguientes Se recomienda las siguientes directrices cuando nombre variables: directrices cuando nombre variables: Proporcione nombres descriptivos y con Proporcione nombres descriptivos y con

significado. significado. Nombre largo de variable puede Nombre largo de variable puede

resultar tedioso en el momento de resultar tedioso en el momento de escribir código, pero hará que el código escribir código, pero hará que el código sea más fácil de leer y mantener.sea más fácil de leer y mantener.

Page 13: Clase 2.- Visual Basic El Lenguaje

Cómo nombrar variablesCómo nombrar variables Inicie cada palabra del nombre de una Inicie cada palabra del nombre de una

variable pública con letra mayúscula. variable pública con letra mayúscula. Evite el uso de abreviaturas. Evite el uso de abreviaturas. Utilice un nombre único dentro del Utilice un nombre único dentro del

ámbito de la variable. ámbito de la variable. Cuando declare variables locales y Cuando declare variables locales y

privadas, inicie la primera palabra con privadas, inicie la primera palabra con un carácter en minúscula.un carácter en minúscula.

Page 14: Clase 2.- Visual Basic El Lenguaje

Cómo declarar variablesCómo declarar variables

Sintaxis para declarar variablesSintaxis para declarar variables Dim Dim nombreVariablenombreVariable As As TypeType

Ejemplos de variables de tipo valorEjemplos de variables de tipo valor

Ejemplos de variables de tipo Ejemplos de variables de tipo referenciareferencia

Dim numberBooks As IntegerDim squareFootage As SingleDim numberBooks As IntegerDim squareFootage As Single

Dim myForm As FormDim userInput As StringDim myForm As FormDim userInput As String

Page 15: Clase 2.- Visual Basic El Lenguaje

Cómo afecta Option Explicit a las Cómo afecta Option Explicit a las variablesvariables

Option Explicit habilitado Option Explicit habilitado (predeterminado)(predeterminado) Obliga a declarar explícitamente Obliga a declarar explícitamente

las variables antes de utilizarlaslas variables antes de utilizarlas

Reduce errores lógicos y facilita el Reduce errores lógicos y facilita el mantenimiento del códigomantenimiento del código

Produce una ejecución del código Produce una ejecución del código más rápidamás rápida

Page 16: Clase 2.- Visual Basic El Lenguaje

Cómo afecta Option Explicit a las Cómo afecta Option Explicit a las variablesvariables

Option Explicit no habilitadoOption Explicit no habilitado Permite utilizar implícitamente Permite utilizar implícitamente

variables sin declararlasvariables sin declararlas

Aumenta la probabilidad de Aumenta la probabilidad de conflictos de nombres y conflictos de nombres y comportamiento imprevisto comportamiento imprevisto debido a errores de ortografíadebido a errores de ortografía

Produce una ejecución del código Produce una ejecución del código más lentamás lenta

Page 17: Clase 2.- Visual Basic El Lenguaje

Cómo asignar valores a las variablesCómo asignar valores a las variables

Para asignar un valor a una variable, Para asignar un valor a una variable, utilice el operador de asignación (=), utilice el operador de asignación (=), como se muestra en la siguiente como se muestra en la siguiente expresión: expresión: NombreVariable NombreVariable = = ValorValor

Asignar un valor después de Asignar un valor después de declarardeclarar Dim cumpleaños As Date Dim cumpleaños As Date cumpleaños = #3/9/1974#cumpleaños = #3/9/1974#

Page 18: Clase 2.- Visual Basic El Lenguaje

Cómo asignar valores a las variablesCómo asignar valores a las variables

Asignar valores mientras se Asignar valores mientras se declaradeclara Dim cumpleaños As Date = #3/9/1974# Dim cumpleaños As Date = #3/9/1974# Dim goodNews As String = "Su cheque Dim goodNews As String = "Su cheque

está en el correo." está en el correo." Dim testCondition As Boolean = TrueDim testCondition As Boolean = True

Page 19: Clase 2.- Visual Basic El Lenguaje

Cómo utilizar variablesCómo utilizar variables

Podemos utilizar para:Podemos utilizar para: Almacenar valores de expresionesAlmacenar valores de expresiones Almacenar entrada del usuarioAlmacenar entrada del usuario Almacenar objetosAlmacenar objetos Almacenar valores de propiedadesAlmacenar valores de propiedades Devolver valoresDevolver valores Mostrar la salidaMostrar la salida

Page 20: Clase 2.- Visual Basic El Lenguaje

Variables frente a Variables frente a Constantes Constantes

Sintaxis para declarar una Sintaxis para declarar una constanteconstante:: Const Const constantNameconstantName As Type As Type

VariableVariableVariableVariable ConstantConstantConstantConstant

Declare with DimDeclare with Dim

Values change asapplication runs

Values change asapplication runs

Uses more memory thanconstants

Uses more memory thanconstants

Declare with ConstDeclare with Const

Values stay the same asapplication runs

Values stay the same asapplication runs

Uses less memory thanvariables

Uses less memory thanvariables

VariablesVariablesVariablesVariables ConstantesConstantesConstantesConstantes

Declarar con DimDeclarar con Dim

Los valores cambian mientras se ejecuta la aplicación

Los valores cambian mientras se ejecuta la aplicación

Utilizan más memoria que las constantes

Utilizan más memoria que las constantes

Declarar con ConstDeclarar con Const

Los valores no cambian mientras se ejecuta la aplicación

Los valores no cambian mientras se ejecuta la aplicación

Utilizan menos memoriaque las variables

Utilizan menos memoriaque las variables

Page 21: Clase 2.- Visual Basic El Lenguaje

Ámbito de una variableÁmbito de una variable

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

Page 22: Clase 2.- Visual Basic El Lenguaje

Ámbito de una variableÁmbito de una variable

Page 23: Clase 2.- Visual Basic El Lenguaje

Ámbito de una variableÁmbito de una variable

Módulo o clase Public Public a As Integer

Módulo o clase Friend Friend b As Date

Módulo o clase Private Private c As String

Procedimiento o bloque Dim d As Integer

Otros proyectos de la solución pueden acceder a la variable a

Otros proyectos de la solución pueden acceder a la variable a

Puede accederse a la variable b desde cualquier lugar del proyecto

Puede accederse a la variable b desde cualquier lugar del proyecto

Puede accederse a la variable c desde cualquier lugar del módulo

Puede accederse a la variable c desde cualquier lugar del módulo

Sólo puede accederse a la variable d dentro del procedimiento o bloque

Sólo puede accederse a la variable d dentro del procedimiento o bloque

Page 24: Clase 2.- Visual Basic El Lenguaje

Ámbito de una variableÁmbito de una variable

Existen tres Existen tres factoresfactores principales que afectan al principales que afectan al ámbito de una variable: ámbito de una variable: Dónde la declaramos: dentro de un bloque, Dónde la declaramos: dentro de un bloque, procedimiento, módulo, clase o estructura. procedimiento, módulo, clase o estructura. El nivel de acceso (El nivel de acceso (PublicPublic, , Friend Friend o o PrivatePrivate) ) del módulo, clase o estructura en que se del módulo, clase o estructura en que se declara. declara. La sintaxis que utilizamos para declarar la La sintaxis que utilizamos para declarar la variable (variable (DimDim, , PrivatePrivate, , Friend Friend o o PublicPublic).).

Page 25: Clase 2.- Visual Basic El Lenguaje

Ámbito de una variableÁmbito de una variable

Factores que afectan al ámbitoFactores que afectan al ámbito

Nivel de acceso del contenedor de la variable

Dónde declaramos la variable

Bloque

Procedimiento

Módulo, Clase oEstructura

Private

Public

Friend Nivel de acceso de la variable

Page 26: Clase 2.- Visual Basic El Lenguaje

Niveles de ámbitoNiveles de ámbito

Nivel de ámbito Descripción

Bloque Disponible únicamente dentro del bloque de código en el que se declara

Procedimiento Disponible únicamente dentro del procedimiento en el que se declara

Modulo Disponible para todo el código del módulo, clase o estructura en el que se declara

Espacio de nombres Disponible para todo el código del espacio de nombres

Page 27: Clase 2.- Visual Basic El Lenguaje

Cómo declarar Cómo declarar variables locales variables locales

Ejemplo de variable local: a nivel de bloqueEjemplo de variable local: a nivel de bloque

Ejemplo de variable local: a nivel de procedimientoEjemplo de variable local: a nivel de procedimiento

DóndeDóndedeclarardeclararDóndeDónde

declarardeclarar

En bloqueEn bloque

Palabra clavePalabra clavePalabra clavePalabra clave

DimDim

ModificadorModificadorde accesode acceso

ModificadorModificadorde accesode acceso

NingunoNinguno

ÁmbitoÁmbitoÁmbitoÁmbito

Nivel bloqueNivel bloque

En procedimientoEn procedimiento DimDim NingunoNinguno Nivel procedimientoNivel procedimiento

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

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

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

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

Page 28: Clase 2.- Visual Basic El Lenguaje

Cómo declarar variables estáticasCómo declarar variables estáticas

Una Una variable estática variable estática perdurará perdurará mientras la aplicación siga mientras la aplicación siga ejecutándose. ejecutándose. Las variables estáticas siguen Las variables estáticas siguen existiendo y conservan sus últimos existiendo y conservan sus últimos valores entre invocaciones al valores entre invocaciones al procedimiento en el que se han procedimiento en el que se han declarado. declarado.

Page 29: Clase 2.- Visual Basic El Lenguaje

Cómo declarar variables estáticasCómo declarar variables estáticas

El código de otros procedimientos no El código de otros procedimientos no puede acceder a ellas. puede acceder a ellas.

Las variables estáticas resultan Las variables estáticas resultan útiles para mantener contadores que útiles para mantener contadores que se utilizan únicamente dentro de un se utilizan únicamente dentro de un procedimiento. procedimiento.

Sub AddItem_Click( ) Static items As Integer ' Añadir 1 al contador items += 1 MessageBox.Show (“El contador es ahora " & items)End Sub

Sub AddItem_Click( ) Static items As Integer ' Añadir 1 al contador items += 1 MessageBox.Show (“El contador es ahora " & items)End Sub

Page 30: Clase 2.- Visual Basic El Lenguaje

Cómo declarar variables de módulo Cómo declarar variables de módulo

Las variables declaradas en un módulo, Las variables declaradas en un módulo, clase o estructura pero no dentro de un clase o estructura pero no dentro de un procedimiento se denominan procedimiento se denominan variables variables de módulode módulo..AccessModifier nombreVariable AccessModifier nombreVariable As As TypeType

Utilizar modificador de accesoUtilizar modificador de accesoUtilizar modificador de accesoUtilizar modificador de acceso

PrivatePrivateÁmbitoÁmbitoÁmbitoÁmbito

MóduloMódulo

FriendFriend ProyectoProyecto

PublicPublic SoluciónSolución

Private myModuleMessage As StringFriend myProjectMessage As StringPublic mySolutionMessage As String

Private myModuleMessage As StringFriend myProjectMessage As StringPublic mySolutionMessage As String

Ejemplo:

Page 31: Clase 2.- Visual Basic El Lenguaje

Convertir tipos de Convertir tipos de datosdatos

¿Cuales son las funciones de ¿Cuales son las funciones de conversión?conversión?Cómo convertir explícitamente tipos Cómo convertir explícitamente tipos de datosde datosCómo funciona la conversión de Cómo funciona la conversión de datos implícitadatos implícita

Page 32: Clase 2.- Visual Basic El Lenguaje

¿Cuáles son las funciones de ¿Cuáles son las funciones de conversión?conversión?

Las Las funciones de conversión funciones de conversión permiten convertir permiten convertir explícitamente un valor de un explícitamente un valor de un tipo de datos a otro.tipo de datos a otro.

Valor Integer 1234

Valor String "1234"CStrCStr

Valor Double 567,9894

Valor Integer 568CIntCInt

Valor String "12 Febrero 1992"

Valor Date #2/12/92#CDateCDate

se convierte en

Page 33: Clase 2.- Visual Basic El Lenguaje

¿Cuáles son las funciones de ¿Cuáles son las funciones de conversión?conversión?

Page 34: Clase 2.- Visual Basic El Lenguaje

Ejemplo Conversión de Ejemplo Conversión de tipostipos

Page 35: Clase 2.- Visual Basic El Lenguaje

Convertir tipos de Convertir tipos de datosdatos

Podemos convertir Podemos convertir explícitamente explícitamente valores de valores de un tipo en otro antes de que sean utilizados, un tipo en otro antes de que sean utilizados, evitando así errores en nuestro código y evitando así errores en nuestro código y haciendo que éste se ejecute más haciendo que éste se ejecute más rápidamente.rápidamente.También se pueden realizar conversiones También se pueden realizar conversiones automática o implícitamenteautomática o implícitamente, como convertir , como convertir algunas cadenas a enteros. Sin embargo, las algunas cadenas a enteros. Sin embargo, las conversiones implícitas pueden producir conversiones implícitas pueden producir resultados imprevistos.resultados imprevistos.

Page 36: Clase 2.- Visual Basic El Lenguaje

Cómo convertir explícitamente Cómo convertir explícitamente tipos de datostipos de datos

Sintaxis: Sintaxis: NombreVariableNombreVariable = = CFunctionCFunction((ExpressionExpression))

EjemploEjemplo

Declarar una variable como tipo de datos String Declarar una variable como tipo de datos String Dim Dim myStringmyString As String As String

Convertir el valor string en un valor integerConvertir el valor string en un valor integermyIntegermyInteger = CInt( = CInt(myStringmyString))

Declarar otra variable como tipo de datos Integer Declarar otra variable como tipo de datos Integer Dim Dim myIntegermyInteger As Integer As Integer

Asignar un valor a la variable string Asignar un valor a la variable string myStringmyString = "1234" = "1234"

11

22

33

44

Page 37: Clase 2.- Visual Basic El Lenguaje

Convierte pies y pulgadas A metros. Convierte pies y pulgadas A metros.

Page 38: Clase 2.- Visual Basic El Lenguaje

Cómo funciona la conversión de datos Cómo funciona la conversión de datos implícitaimplícita

Los tipos de datos son convertidos Los tipos de datos son convertidos automáticamenteautomáticamenteNo se requiere sintaxis especial en el códigoNo se requiere sintaxis especial en el códigoEjemplo de conversión de datos implícita:Ejemplo de conversión de datos implícita:

Desventajas de la conversión de datos implícita:Desventajas de la conversión de datos implícita: Puede producir resultados imprevistosPuede producir resultados imprevistos El código se ejecuta más lentamenteEl código se ejecuta más lentamenteOption Strict rechaza las conversiones implícitas Option Strict rechaza las conversiones implícitas de tipo estrechasde tipo estrechas

Dim sequence As StringDim number As Integer' ...sequence = "1234"number = sequence' The value in sequence is implicitly converted to an Integer

Dim sequence As StringDim number As Integer' ...sequence = "1234"number = sequence' The value in sequence is implicitly converted to an Integer

Page 39: Clase 2.- Visual Basic El Lenguaje

Crear y utilizar estructurasCrear y utilizar estructuras

Información relacionada de grupo en una estructura única

Nombre empleadoNombre empleado

Fecha nacimientoFecha nacimiento

Fecha contratoFecha contrato

CargoCargo

Estructura de datos de Empleado

Estructura de datos de Empleado

Page 40: Clase 2.- Visual Basic El Lenguaje

Crear y utilizar Crear y utilizar estructurasestructuras

Una combinación de tipos de datosUna combinación de tipos de datosSe utilizan para crear tipos de valores Se utilizan para crear tipos de valores definidos por el usuariodefinidos por el usuarioSus miembros pueden ser variables, Sus miembros pueden ser variables, propiedades, métodos o eventospropiedades, métodos o eventosEjemplo de estructura definida por el Ejemplo de estructura definida por el usuario:usuario:

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

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

Page 41: Clase 2.- Visual Basic El Lenguaje

Cómo declarar Cómo declarar estructurasestructuras

Dentro de un módulo, archivo o clase (no en un Dentro de un módulo, archivo o clase (no en un procedimiento)procedimiento)Sintaxis para declarar estructuras:Sintaxis para declarar estructuras:

Dónde se encuentra el modificador de acceso:Dónde se encuentra el modificador de acceso: PublicPublic para acceso no restringido para acceso no restringido ProtectedProtected para acceso sólo dentro de su propia para acceso sólo dentro de su propia

claseclase FriendFriend para acceso en cualquier lugar de la para acceso en cualquier lugar de la

aplicación o ensambladoaplicación o ensamblado PrivatePrivate para acceso sólo dentro del contexto de para acceso sólo dentro del contexto de

su declaraciónsu declaraciónNo asigne valores a miembros de datos en la No asigne valores a miembros de datos en la declaracióndeclaración

AccessModifier Structure StructureName ' Declare structure members hereEnd Structure

AccessModifier Structure StructureName ' Declare structure members hereEnd Structure

Page 42: Clase 2.- Visual Basic El Lenguaje

Ejemplo de estructuraEjemplo de estructura

Page 43: Clase 2.- Visual Basic El Lenguaje

¿Qué es una matriz? ¿Qué es una matriz?

Definición: Una matriz es una serie de Definición: Una matriz es una serie de elementos de datoselementos de datos Todos los elementos de una matriz tienen el Todos los elementos de una matriz tienen el

mismo tipo de datos mismo tipo de datos Se accede a los elementos individuales utilizando Se accede a los elementos individuales utilizando

índices enterosíndices enteros

EjemploEjemplo Para declarar una matriz entera con siete Para declarar una matriz entera con siete

elementos: elementos:

Para acceder al tercer elemento de la matriz:Para acceder al tercer elemento de la matriz:

(0) (1) (2) (3) (4) (5) (6)

Índice 0 Índice 6

Dim countHouses(6) As IntegerDim countHouses(6) As Integer

TextBox1.Text = CStr(countHouses(2))TextBox1.Text = CStr(countHouses(2))

Page 44: Clase 2.- Visual Basic El Lenguaje

Cómo declarar una matriz Cómo declarar una matriz unidimensional unidimensional

Declaramos una matriz especificando el: Declaramos una matriz especificando el: Nombre de la matrizNombre de la matriz Tamaño (número de elementos)Tamaño (número de elementos) Tipo de datos de los elementos de la matrizTipo de datos de los elementos de la matriz Modificador de acceso (si fuera necesario)Modificador de acceso (si fuera necesario)

Especifica el nombre de la matriz

Especifica el tipo de datos de elementos de la matriz

Especifica el nivel de acceso de la matriz

AccessModifier ArrayName(Size) As TypeAccessModifier ArrayName(Size) As Type

Especifica el tamaño de la matriz

Page 45: Clase 2.- Visual Basic El Lenguaje

Declarar un arrayDeclarar un array

Declararemos un array de igual forma Declararemos un array de igual forma que hacemos con una variable normal, que hacemos con una variable normal, con la excepción de que junto al nombre con la excepción de que junto al nombre de la variable, situaremos unos de la variable, situaremos unos paréntesis.paréntesis.

Page 46: Clase 2.- Visual Basic El Lenguaje

Declarar un arrayDeclarar un array

Page 47: Clase 2.- Visual Basic El Lenguaje

Asignación y obtención de valoresAsignación y obtención de valores

Para asignar u obtener valores de los Para asignar u obtener valores de los elementos de un array, haremos elementos de un array, haremos referencia al índice o posición. O referencia al índice o posición. O bien, puesto que un array es un bien, puesto que un array es un objeto, utilizaremos los métodos objeto, utilizaremos los métodos SetValueSetValue( ) y ( ) y GetValueGetValue( ) que ( ) que asignan y obtienen respectivamente asignan y obtienen respectivamente los valores del array.los valores del array.

Page 48: Clase 2.- Visual Basic El Lenguaje

Asignación y obtención de valoresAsignación y obtención de valores

Page 49: Clase 2.- Visual Basic El Lenguaje

Recorrer el contenidoRecorrer el contenido

Para realizar un recorrido por los Para realizar un recorrido por los elementos de un array, disponemos elementos de un array, disponemos de las funciones LBound( ) y de las funciones LBound( ) y UBound( ), que devuelven el número UBound( ), que devuelven el número de índice inferior y superior de índice inferior y superior respectivamente del array que respectivamente del array que pasemos como parámetro. pasemos como parámetro.

Page 50: Clase 2.- Visual Basic El Lenguaje

Recorrer el contenidoRecorrer el contenido

LengthLength. Esta propiedad de un objeto . Esta propiedad de un objeto array devuelve el número de array devuelve el número de elementos que contiene.elementos que contiene.GetLowerBound( ), GetLowerBound( ), GetUpperBound( )GetUpperBound( ). Devuelven . Devuelven respectivamente, el número de respectivamente, el número de índice inferior y superior. El mismo índice inferior y superior. El mismo que usando LBound( ) y UBound( ).que usando LBound( ) y UBound( ).

Page 51: Clase 2.- Visual Basic El Lenguaje

EjemploEjemplo

Page 52: Clase 2.- Visual Basic El Lenguaje
Page 53: Clase 2.- Visual Basic El Lenguaje

EjemploEjemplo

Page 54: Clase 2.- Visual Basic El Lenguaje

Recomendaciones:Recomendaciones:

El primer índice de un array debe ser siempre El primer índice de un array debe ser siempre ceroceroNo es posible crear arrays con rangos de No es posible crear arrays con rangos de índices ejemplo: índices ejemplo: Dim Nombres(5 To 8) As StringDim Nombres(5 To 8) As String

Page 55: Clase 2.- Visual Basic El Lenguaje

RecomendacionesRecomendaciones

Modificación de tamañoModificación de tamaño Para aumentar o disminuir el número de Para aumentar o disminuir el número de

elementos de un array disponemos de elementos de un array disponemos de la palabra clave la palabra clave ReDimReDim. Esta . Esta instrucción crea internamente un nuevo instrucción crea internamente un nuevo array, por lo que los valores del array array, por lo que los valores del array original se pierden.original se pierden.

Evitaremos este problema utilizando Evitaremos este problema utilizando junto a ReDim la palabra clave junto a ReDim la palabra clave PreservePreserve, que copia en el nuevo array, , que copia en el nuevo array, los valores del array previo.los valores del array previo.

Page 56: Clase 2.- Visual Basic El Lenguaje

BúsquedaBúsqueda

Los métodos IndexOf( ) y Los métodos IndexOf( ) y LastIndexOf( ) de la clase Array, nos LastIndexOf( ) de la clase Array, nos permiten buscar un elemento en un permiten buscar un elemento en un array comenzando la búsqueda array comenzando la búsqueda desde el principio o final desde el principio o final respectivamenterespectivamente Dim sNombres() As String = {"Alberto", Dim sNombres() As String = {"Alberto",

"Juan", "Ana", "Paco", "Miguel", "Ana"}"Juan", "Ana", "Paco", "Miguel", "Ana"} x = Array.IndexOf(sNombres, "Ana", 3)x = Array.IndexOf(sNombres, "Ana", 3)

Page 57: Clase 2.- Visual Basic El Lenguaje

Arrays Arrays multidimensionalesmultidimensionales

Dim iDatos(2, 4) As IntegerDim iDatos(2, 4) As Integer

Page 58: Clase 2.- Visual Basic El Lenguaje

Recorrer arrays multidimensionalesRecorrer arrays multidimensionales

RankRank. Devuelve el número de dimensiones del . Devuelve el número de dimensiones del array.array.GetLength(Dimension)GetLength(Dimension). Devuelve el número . Devuelve el número de elementos de la dimensión de array pasada de elementos de la dimensión de array pasada como parámetro.como parámetro.GetLowerBound(Dimension)GetLowerBound(Dimension). Devuelve el . Devuelve el número de índice inferior de la dimensión número de índice inferior de la dimensión pasada como parámetro.pasada como parámetro.GetUpperBound(Dimension)GetUpperBound(Dimension). Devuelve el . Devuelve el número de índice superior de la dimensión número de índice superior de la dimensión pasada como parámetro.pasada como parámetro.