Está en la página 1de 48

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.

Unidad 1. Fundamentos del lenguaje.


Qu es Visual Basic .NET? Es un lenguaje orientado a objetos encapsulacin, herencia y polimorfismo. y eventos que soporta

Es una mejora a Visual Basic formando parte de Visual Studio y compartiendo el entorno de desarrollo con Microsoft Visual C++ .NET, Microsoft Visual C# .NET, etc. Historia: Visual Basic es un lenguaje de programacin desarrollado por Alan Cooper para Microsoft. El lenguaje de programacin es un dialecto de BASIC, con importantes aadidos. Su primera versin fue presentada en 1991 con la intencin de simplificar la programacin utilizando un ambiente de desarrollo completamente grfico que facilitar la creacin de interfaces grficas y en cierta medida tambin la programacin misma. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un Framework o marco comn de libreras independiente de la versin del sistema operativo, .NET Framework, a travs de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fcil transicin de cdigo entre ellos) que presenta serias incompatibilidades con el cdigo Visual Basic existente. Visual Basic (Visual Studio) constituye un IDE (entorno de desarrollo integrado o en ingls Integrated Development Environment) que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo (programa donde se escribe el cdigo fuente), un depurador (programa que corrige errores en el cdigo fuente para que pueda ser bien compilado), un compilador (programa que traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz grfica o GUI (es una forma de programar en la que no es necesario escribir el cdigo para la parte grfica del programa, sino que se puede hacer de forma visual).

1.1

Programacin orientada a eventos.

La programacin dirigida por eventos es un paradigma de programacin en el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.
Programacin II Unidad 1. 1

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es: mientras en la programacin secuencial (o estructurada) es el programador el que define cul va a ser el flujo del programa, en la programacin dirigida por eventos ser el propio usuario (o lo que sea que est accionando el programa) el que dirija el flujo del programa. Aunque en la programacin secuencial puede haber intervencin de un agente externo al programa, estas intervenciones ocurrirn cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programacin dirigida por eventos. El creador de un programa dirigido por eventos debe definir los eventos que manejar su programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarn determinados por el lenguaje de programacin utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador. En la programacin dirigida por eventos, al comenzar la ejecucin del programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar bloqueado hasta que se produzca algn evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasar a ejecutar el cdigo del correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho click en el botn de play de un reproductor de pelculas, se ejecutar el cdigo del administrador de evento, que ser el que haga que la pelcula se muestre por pantalla. Un ejemplo claro lo tenemos en los sistemas de programacin Lxico y Visual Basic, en los que a cada elemento del programa (objetos, controles, etc.) se le asignan una serie de eventos que generar dicho elemento, como la pulsacin de un botn del ratn sobre l o el redibujado del control. La programacin dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse para desarrollar interfaces entre componentes de Software como mdulos del ncleo tambin. En los primeros tiempos de la computacin, los programas eran secuenciales, tambin llamados Batch. Un programa secuencial arranca, lee parmetros de entrada, procesa estos parmetros, y produce un resultado, todo de manera lineal y sin intervencin del usuario mientras se ejecuta.
Programacin II Unidad 1. 2

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Con la aparicin y popularizacin de la computadora personal, el software empez a ser demandado para usos alejados de los clsicos acadmicos y empresariales para los cuales era necesitado hasta entonces, y qued patente que el paradigma clsico de programacin no poda responder a las nuevas necesidades de interaccin con el usuario que surgieron a raz de este hecho.

1.1.1 Objetos. Cuando se crea una aplicacin en Visual Basic, se trabaja con objetos constantemente. Se pueden utilizar objetos proporcionados por Visual Basic, como controles, formularios y objetos de acceso a datos. Tambin se pueden usar los objetos de otras aplicaciones dentro de una aplicacin de Visual Basic. Incluso pueden crearse objetos propios y agregarles propiedades y mtodos adicionales. Los objetos actan como unidades de creacin prefabricadas para programas: permiten escribir una porcin de cdigo y utilizarla una y otra vez. Un objeto es una combinacin de cdigo y datos que puede tratarse como una unidad. Un objeto puede ser una porcin de una aplicacin, como un control o un formulario. Una aplicacin entera tambin puede ser un objeto.

1.1.2 Eventos. Un evento es un mensaje que enva un objeto anunciando que ha sucedido algo. Los eventos se implementan mediante delegados, una forma de puntero de funcin orientado a objetos que permite invocar una funcin indirectamente mediante una referencia a la funcin. Eventos y controladores de eventos. A pesar de que se puede visualizar un proyecto de Visual Studio como una serie de procedimientos que se ejecutan consecutivamente, en realidad la mayora de los programas estn dirigidos por eventos, es decir, el flujo de ejecucin est determinado por elementos externos denominados eventos. Un evento es una seal que comunica a una aplicacin que ha sucedido algo importante. Por ejemplo, cuando un usuario hace clic en un control de un formulario, el formulario puede provocar un evento Click y llamar a un procedimiento que controla el evento. Los eventos tambin permiten que las tareas separadas se comuniquen.
Programacin II Unidad 1. 3

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Suponga, por ejemplo, que una aplicacin realiza una tarea de ordenacin independientemente de la aplicacin principal. Si un usuario cancela la ordenacin, la aplicacin puede enviar un evento de cancelacin que ordene la detencin del proceso de ordenacin. Conceptos y trminos de los eventos. Esta seccin describe los trminos y conceptos que se utilizan con eventos en Visual Basic.

Declarar eventos. Los eventos se declaran en clases, estructuras, mdulos e interfaces mediante la palabra clave Event, como se muestra en el siguiente ejemplo: Event AnEvent(ByVal EventNumber As Integer) Producir eventos. Un evento es como un mensaje que anuncia que ha pasado algo importante. A la accin de difundir el mensaje se le llama producir el evento. En Visual Basic, los eventos se producen con la instruccin RaiseEvent, como en el siguiente ejemplo: RaiseEvent AnEvent(EventNumber) Los eventos se deben provocar dentro del mbito de la clase, mdulo o estructura donde se declaran. Por ejemplo, una clase derivada no puede producir eventos heredados de una clase base. Remitentes de eventos. Cualquier objeto capaz de producir un evento es un remitente de eventos, y tambin recibe el nombre de origen de eventos. Los formularios, controles y objetos definidos por el usuario son ejemplos de remitentes de eventos. Controladores de eventos. Los controladores de eventos son procedimientos llamados cuando se produce un evento correspondiente. Puede utilizar cualquier subrutina vlida con una firma coincidente como controlador de eventos. No obstante, no puede utilizar una funcin como controlador de eventos, porque no puede devolver un valor al origen del evento.

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Visual Basic utiliza una convencin de nomenclatura estndar para controladores de eventos que combina el nombre del remitente del evento, un signo de subrayado y el nombre del evento. Por ejemplo, el evento Click de un botn denominado button1 recibira el nombre de Sub button1_Click.

1.1.3 Mtodos. En la programacin orientada a objetos, un mtodo es una subrutina asociada exclusivamente a una clase (llamados mtodos de clase o mtodos estticos) o a un objeto (llamados mtodos de instancia). Anlogamente a los procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin y, posiblemente, un valor de salida (o valor de retorno) de algn tipo.

1.1.4 Propiedades. Las propiedades son aquellas caractersticas de un objeto que lo define "fsicamente", bien por su forma o color, por su contenido, por la forma en la que va a trabajar. Las propiedades de formularios y controles en Visual Basic .NET pueden establecerse mediante programacin en tiempo de ejecucin, o en modo de diseo en la ventana Propiedades. Las propiedades de la mayora de los objetos restantes, como los objetos de los ensamblados o los objetos que haya creado, nicamente pueden establecerse mediante programacin. Las propiedades que se pueden establecer y leer se denominan propiedades de lectura y escritura. Las propiedades que se pueden leer pero no modificar se denominan propiedades de slo lectura. Las propiedades en las que se puede escribir pero que no se pueden leer se denominan propiedades de slo escritura. El valor de una propiedad se establece cuando se desea modificar el aspecto o el comportamiento de un objeto. Por ejemplo, la propiedad Text de un control de cuadro de texto se cambia para modificar el contenido del cuadro de texto. El valor de una propiedad se obtiene cuando se desea conocer el estado de un objeto antes de que el cdigo ejecute acciones
Programacin II Unidad 1. 5

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


adicionales, tales como asignar el valor a otro objeto. Por ejemplo, se puede devolver la propiedad Text de un control de cuadro de texto para determinar el contenido del cuadro de texto antes de ejecutar un cdigo que podra modificar el valor. Para establecer valores de propiedad. Utilice la sintaxis siguiente: object.property = expression Las instrucciones siguientes proporcionan ejemplos sobre cmo establecer propiedades: TextBox1.Top = 200 ' Coloca la propiedad Top a 200 twips. TextBox1.Visible = True ' Muestra el TextBox. TextBox1.Text = "Hola" ' Muestra 'Hola' en el TextBox. Nota: Tambin puede establecer una propiedad pasndola a parmetros ByRef, en cuyo caso la propiedad queda modificada por el resultado devuelto por el parmetro ByRef. Para obtener valores de propiedad. Utilice la sintaxis siguiente: variable = object.property Tambin puede obtener un valor de propiedad como parte de una expresin ms compleja, sin asignar la propiedad a una variable. El siguiente cdigo modifica la propiedad Top de un control de botn de opcin: Protected Object, _ Sub RadioButton1_CheckedChanged(ByVal sender As

ByVal e As System.EventArgs) ' [sentencias] RadioButton1.Top += 20 ' [sentencias] End Sub

1.2

Entorno integrado de desarrollo.


6

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


El Entorno de Desarrollo recibe el nombre de Entorno de Desarrollo de Microsoft Visual Studio .NET. Este entorno es personalizable y contiene todas las herramientas necesarias para construir programas para Microsoft Windows.

1.3

Ventanas (proyecto, propiedades, ayuda).

El Entorno de Desarrollo contiene mltiples ventanas y mltiples funcionalidades y es por consecuencia llamado un entorno de desarrollo integrado (Integrated Development Environment IDE). La ventana central es la ventana de diseo (Designer Window), la cual contiene el formulario a desarrollar. La caja de herramientas (ToolBox) se localiza del lado izquierdo. En el extremo derecho tenemos la ventana del explorador de soluciones (Solution Explorer). La ventana de propiedades (Properties Window) contiene tres partes: 1. La parte superior contiene un combo box que muestra el nombre y la clase del objeto seleccionado. 2. La parte media contiene la lista de propiedades del objeto seleccionado, de lado derecho contiene un conjunto de cajas para ver y editar el valor de la propiedad seleccionada. 3. La parte inferior es un cuadro descriptivo que proporciona una breve descripcin de la propiedad seleccionada. Es necesario tener instalado el Visual Studio .NET, al ejecutarlo se presenta una pgina de inicio, en caso de no presentarse entonces de clic en Help/Show Start Page. En esta pgina ser posible establecer su perfil, por ejemplo identificarse como Desarrollador Visual Studio o ms especifico como Desarrollador Visual Basic con lo cual Visual Studio configura de inmediato el entorno de desarrollo para programar en Visual Basic. Para iniciar un nuevo proyecto, de clic en la opcin Projects y clic en el botn [New Project], esta accin abre una ventana donde se indicar el archivo a abrir, los proyectos Visual Basic .NET tiene la extensin .vbproj. Una vez que abre el proyecto si la pgina de inicio estaba visible continuar as y en el Explorador de Soluciones (Solution Explorer) se cargan los archivos correspondientes al proyecto.
Programacin II Unidad 1. 7

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


En Visual Basic .NET existen dos archivos: 1. Un archivo de proyecto .vbproj, el cual contiene informacin especfica para una determinada tarea de programacin. 2. Un archivo de solucin .sln, el cual contiene informacin relacionada con uno o ms proyectos. Este tipo de archivo puede administrar varios proyectos relacionados entre s y son similares a los archivos de grupos de proyecto (.vbg) en Visual Basic 6. Si la solucin tiene un nico proyecto, abrir el archivo de proyecto .vbproj o el archivo de solucin .sln tiene el mismo resultado, pero si la solucin es multiproyecto entonces deber abrir el archivo de solucin. Best Practices: Procure siempre abrir el archivo de solucin .sln. Los formularios en Visual Basic .NET tienen la extensin .vb. Se mostraran a manera de pestaas la pgina de inicio, la vista de diseo y el cdigo del formulario. Para evitar el acoplamiento de ventanas, mientras arrastre la ventana pulse la tecla [Ctrl], si desea integrar la ventana como pestaa entonces arrastre la ventana sobre otras pestaas y libere. El control Image desaparece en Visual Studio. Ya no tendr que utilizar el tabulador para identar su cdigo. Ventana Editor. Las ventanas de documento se crean dinmicamente cuando se abren o crean archivos u otros elementos. La lista de las ventanas de documento abiertas aparece en el men Ventana en el orden z actual, con la ventana de nivel superior en primer lugar. Las maneras de administrar las ventanas de documento dependen en gran medida del modo de interfaz seleccionado en la pgina General de la carpeta Entorno del cuadro de dilogo Opciones. Barra de Herramientas. En el men Ver se enumeran las ventanas de herramientas, que estn definidas por la aplicacin actual y sus complementos. Se pueden organizar las ventanas de herramientas en el IDE para que:
Programacin II Unidad 1. 8

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Se muestren u oculten automticamente. Se vinculen herramientas. mediante fichas con otras ventanas de

Se acoplen a los extremos del IDE. Floten. Se muestren en otros monitores. Adems, pueden mostrarse de una vez varias instancias de ciertas ventanas de herramientas. Explorador de Objetos. El Examinador de objetos permite examinar y encontrar objetos (espacios de nombres, clases, estructuras, interfaces, tipos, enumeraciones, etc.) y los miembros (propiedades, mtodos, eventos, variables, constantes, elementos de enumeracin, etc.) de varios componentes. Estos componentes pueden ser proyectos de la solucin, componentes a los que se hace referencia en esos proyectos y componentes externos. Explorador de Servidores. Utilice el Explorador de servidores para crear y manipular conexiones a bases de datos, y para conectar con servidores y explorar su contenido. Se puede tener acceso al Explorador de servidores en cualquier momento durante el proceso de desarrollo, mientras se trabaja con cualquier tipo de proyecto o elemento. Explorador de Soluciones. El Explorador de soluciones proporciona una vista organizada de los proyectos y sus archivos, as como acceso rpido a los comandos relativos a ellos. Normalmente, una barra de herramientas asociada a esta ventana ofrece los comandos que se utilizan con ms frecuencia con el elemento resaltado en la lista. Para tener acceso al Explorador de soluciones, seleccione Explorador de soluciones en el men Ver. Ventana Propiedades. Esta ventana se utiliza para ver y cambiar las propiedades y eventos en tiempo de diseo de los objetos seleccionados que estn localizados en editores y diseadores. Tambin puede utilizar la
Programacin II Unidad 1. 9

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


ventana Propiedades para editar y ver propiedades de archivos, proyectos y soluciones. La ventana Propiedades est disponible desde el men Ver. La ventana Propiedades muestra distintos tipos de campos de edicin, segn las necesidades de una propiedad determinada. Entre estos campos de edicin se incluyen cuadros de edicin, listas desplegables y vnculos a cuadros de dilogo de editor personalizado. Las propiedades que se muestran en gris son de slo lectura. Ayuda Dinmica. Esta ventana contiene punteros a la informacin especfica del rea que est utilizando o de la tarea que est intentando realizar actualmente en el Entorno de desarrollo integrado (Integrated Development Environment, IDE). El IDE realiza un seguimiento de las selecciones realizadas, la ubicacin del cursor y los elementos con foco a medida que se interacta con el producto. Seguidamente, la ventana Ayuda dinmica filtra los temas que se encuentran disponibles en Microsoft Developer Network (MSDN) para mostrar informacin relevante. Si no se encuentra informacin relevante, la ventana muestra el texto "No hay vnculos disponibles para la seleccin actual". La ventana Ayuda dinmica se encuentra disponible en el men Ayuda.

Elementos de la ayuda: A. Contenido. Muestra la ventana Contenido, que permite examinar la tabla de contenido de MSDN Library. B. ndice. Muestra la ventana ndice, que permite escribir palabras clave para localizar temas en MSDN Library. C. Buscar. Muestra el cuadro de dilogo Buscar, que permite escribir texto y buscarlo en la MSDN Library. D. Ayuda. Muestra los temas procedentes de los conjuntos de documentacin del producto. Los tipos de temas mostrados varan segn los tipos de temas seleccionados en el panel Ayuda dinmica de las opciones Entorno del cuadro de dilogo Opciones. Los tipos de temas posibles incluyen procedimientos, referencia, artculos, orientacin, sintaxis y ejemplos. E. Acciones. Muestra asistentes, macros, comandos y otras herramientas que se inician al hacer clic en el vnculo. Los tipos
Programacin II Unidad 1. 10

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


de temas mostrados varan segn los tipos de temas seleccionados en el panel Ayuda dinmica de las opciones Entorno del cuadro de dilogo Opciones. F. Varios. Muestra vnculos a elementos que no se encuentran en la categora Ayuda y que no pueden agruparse fcilmente dentro de las dems categoras. G. Ejemplos. Muestra vnculos a temas que contienen ejemplos. H. Aprendizaje. Muestra ttulos procedentes de la documentacin de cursos de MSDN. Los tipos de temas mostrados varan segn los tipos de temas seleccionados en el panel Ayuda dinmica de las opciones Entorno del cuadro de dilogo Opciones. Los tipos de temas posibles incluyen procedimientos, referencia, artculos, orientacin, sintaxis y ejemplos. I. Introduccin. Muestra los temas de los conjuntos de documentacin del producto que estn diseados para ayudarle a comenzar a trabajar rpidamente con Visual Studio .NET. Lista de Tareas. La ventana Lista de tareas ayuda a organizar y administrar la generacin de aplicaciones. En la ventana Lista de tareas, se puede: Identificar y localizar problemas que automticamente al editar o compilar cdigo. se detectan

Hacer doble clic en cualquier mensaje, comentario o acceso directo de IntelliSense para abrir el editor correspondiente y mover el punto de insercin a una ubicacin especificada. Identificar y localizar problemas detectados al aplicar las directivas de Enterprise Templates. Escribir notas del usuario relacionadas con la solucin en el campo Haga clic aqu para agregar una nueva tarea. Filtrar las entradas de la Lista de tareas mostradas utilizando alguna de las vistas predefinidas. Ordenar las entradas de la Lista de tareas por las columnas Prioridad, Categora, Completadas, Descripcin, Archivo o Lnea.

Programacin II Unidad 1.

11

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


1.4

Tipos de proyectos.

Debido a que en Visual Studio .Net se pueden disear diferentes tipos de soluciones empresariales, el Entorno de Creacin de Nuevos Proyectos y Soluciones se basa en el uso de un Conjunto prediseado de plantillas. Una plantilla de proyecto crea los archivos, las referencias, el marco de trabajo de cdigo, los valores de propiedades y las tareas inciales apropiados para el proyecto seleccionado. El Cuadro de Dialogo de Nuevo Proyecto contiene las siguientes Plantillas de proyecto:

Proyectos de dispositivos inteligentes. Proyectos de Visual Basic. Proyectos de Visual C#. Proyectos de Visual C++. Proyectos de Visual J#. Proyectos de extensibilidad. Proyectos de implementacin. Plantilla Solucin en blanco. Proyectos de base de datos. Proyectos de Enterprise Templates. Proyectos de Visual Studio.

Plantilla Aplicacin para Windows. La plantilla de proyecto Aplicacin para Windows de Visual Basic dispone el lugar de trabajo para una aplicacin estndar para Windows. Para Visual Basic esto reemplaza la aplicacin EXE estndar de Visual Basic 6.0. La plantilla agrega automticamente las referencias y archivos de proyecto esenciales para utilizarlos como punto de inicio para la aplicacin:

AssemblyInfo: se utiliza para describir el ensamblado y especificar la informacin sobre las versiones. Formulario (archivo .vb): contiene el formulario de Windows Forms. Referencias a estos espacios de nombres de .NET Framework: System: contiene clases fundamentales y bsicas que definen valores y tipos de datos de referencia, eventos y controladores de eventos, interfaces, atributos y excepciones de procesamiento, comnmente utilizados.

Programacin II Unidad 1.

12

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


System.Data: contiene las clases que constituyen la arquitectura ADO.NET, que es el mtodo primario para tener acceso a los datos de las aplicaciones administradas. System.Drawing: contiene las clases que proporcionan acceso a funciones grficas bsicas de GDI+. System.Windows.Forms: contiene clases para crear aplicaciones que funcionan en Windows y que aprovechan plenamente las caractersticas avanzadas de interfaz de usuario disponibles en este sistema operativo. System.XML: contiene las clases que proporcionan funcionalidad basada en estndares para procesar cdigo XML. La base de la mayor parte de soluciones que impliquen formularios Windows Forms es el proyecto Aplicacin para Windows.

1.4.1 Configuracin. Configurar un proyecto significa disponerlo para que recopile y analice datos de los eventos. No se pueden grabar o recopilar eventos ni analizar los datos de stos hasta que se configura un proyecto. La configuracin de un proyecto se realiza desde que se crea un proyecto, se le agregan elementos de proyecto, se crea y activa un filtro y se empieza a grabar eventos. El proyecto, como funciona en forma de contenedor, administra los valores que le permiten controlar las propiedades que se aplican al proyecto en conjunto, as como las propiedades que estn limitadas a ciertas configuraciones de generacin del proyecto. La configuracin global del proyecto se especifica mediante las propiedades del proyecto. Esta configuracin predeterminada controla el aspecto y el comportamiento de los elementos del proyecto durante su ciclo de vida til. Las propiedades se guardan en el archivo .vbproj del proyecto, y a ellas se tiene acceso desde el cuadro de dilogo Pginas de propiedades. El cuadro de dilogo Pginas de propiedades de <Nombre del proyecto> contiene las siguientes fichas o pginas:

General. Configuracin del Web. Valores predeterminados del diseador.


13

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.

1.5

Generar (Propiedades comunes). Importaciones. Ruta de acceso de referencia. Generar (Propiedades de configuracin). Depuracin. Optimizaciones. Implementacin. Dispositivo. Comentarios.

Los comentarios son notas cortas explicativas que se agregan al cdigo para aportar mayor informacin a las personas que lo lean. Es una buena costumbre de programacin iniciar todos los procesos y funciones con un breve comentario que describa las caractersticas funcionales del procedimiento (qu hace), para su propio beneficio y el de cualquier otra persona que examine el cdigo. Se deberan separar los detalles de implementacin (cmo lo hace el procedimiento) de los comentarios que describen las caractersticas funcionales. Al incluir detalles de implementacin en la descripcin, es importante recordar actualizarlos en el momento de actualizar la funcin. Para esto se utiliza el carcter de apostrofo (') o comilla simple. Los comentarios pueden ir a continuacin de una instruccin en la misma lnea, o pueden ocupar una lnea completa. Ambas opciones quedan reflejadas en el siguiente cdigo: 'Este es un comentario iniciando en la parte izquierda de la pantalla. Text1.Text = "Hola!" 'Este es un comentario dentro de una lnea. Si el comentario necesita ms de una lnea, se utiliza el smbolo de comentario en cada lnea: 'El texto de este comentario es demasiado largo para que quepa en una sola 'lnea, as que lo divido en dos lneas. Algunos comentarios pueden 'requerir de tres o ms lneas. Adems del carcter anterior, tambin se puede usar la instruccin REM. Esta sirve para incluir comentarios explicativos en un programa. Por ejemplo:
Programacin II Unidad 1. 14

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


REM Este es un comentario Se puede colocar una instruccin REM sola en una lnea o ponerla en una lnea a continuacin de otra instruccin. La instruccin REM debe ser la ltima instruccin de la lnea. Si sigue otra instruccin, la REM debe estar separada de esa instruccin por un espacio. Nota: No se puede continuar una instruccin REM mediante una secuencia de continuacin de lnea (_). Una vez que comienza un comentario, el compilador no examina los caracteres para encontrar significado especial. Para un comentario de varias lneas, utilice otra instruccin REM o un smbolo de comentario (') en cada lnea. Ejemplo: MiCadena = "Hola" REM Comentario despus de una sentencia usando REM. REM Este es un comentario de lnea completa.

1.6

Constantes.

Una constante es aquella que almacena un valor que no es posible cambiar durante la ejecucin del programa. Se recomienda que el nombre de una constante sea escrito en su totalidad en maysculas. Const PI As Double = 3.14159265 Si desea que la constante est disponible para todos los formularios y mdulos de la aplicacin deber ser declarada en un mdulo y anteponer a su declaracin la palabra reservada Public. REM Escribir en un Mdulo Public Const PI As Double = 3.14159265 1.7 Tipos de datos.

Los tipos de datos numricos en Visual Basic .NET se agrupan en dos categoras: enteros y de punto flotante. Los tipos de datos numricos a su vez se agrupan en, Byte, Short, Integer y Long. Los tipos de datos de punto flotante son Single y Double.
Programacin II Unidad 1. 15

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Los tipos de datos Char almacenan un slo carcter en formato Unicode. Los tipos de datos String almacenan una secuencia de caracteres Unicode. Unicode es un sistema internacional de codificacin de 16-bit que cubre valores para ms de 45,000 caracteres. Un carcter Unicode es almacenado como un valor numrico sin signo de 16-bit, de 0 a 65535. Los primeros 128 (0-127) caracteres Unicode corresponden al conjunto de caracteres ASCII. Del 32 al 127 corresponden a caracteres alfanumricos y smbolos para un teclado US. Del 128 al 255 representan caracteres especiales. El tipo de dato Boolean es un valor sin signo el cual es interpretado como falso o verdadero. El tipo de dato Date almacena fechas y tiempo, el rango de valores posible es del 12:00:00 AM Enero 1 al 31 de Diciembre del 9999 11:59:59 PM. Los valores para las fechas deben ser encerrados entre el signo # y con el formato m/d/aaaa, por ejemplo #12/7/1971#. El tipo de dato Object es el tipo de dato universal en Visual Basic .NET y es tambin el tipo de dato por default para las variables que son declaradas sin especificar su tipo de dato. Sistema de Tipos Comn. El sistema de tipos comn define cmo se declaran, utilizan y administran los tipos en el tiempo de ejecucin dentro de los programas realizados en Visual Basic .NET. Es tambin una parte importante de la compatibilidad del tiempo de ejecucin con la integracin entre lenguajes. El sistema de tipos comn realiza las funciones siguientes:

Establece un marco de trabajo que permite la integracin entre lenguajes, la seguridad de tipos y la ejecucin de cdigo con alto rendimiento. Proporciona un modelo orientado a objetos que admite la implementacin completa de muchos lenguajes de programacin. Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los objetos escritos en distintos lenguajes puedan interactuar unos con otros.

Tipos Existentes. Dato Cantida Capacidad d de


16

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


memori a Boolea 2 bytes n Byte Char Date 1 byte 2 bytes 8 bytes True o False. 1 Byte sin signo comprende un nmero entre 0 a 255. Un carcter Unicode o nmero sin comprendido en el rango de 0 a 65535. signo

Fechas comprendidas entre el 1 de enero del ao 1 y el 31 de diciembre de 9999, y horas desde las 0:00:00 (medianoche) a las 1:59:59.

Decim 16 bytes al

El mayor valor posibles es de +/79.228.162.514.264.337.593.543.950.335. Para nmeros con 28 decimales, el mayor valor posible es de +/- 7,9228162514264337593543950335 mientras que el menor valor posible distinto de cero es +/- ,0000000000000000000000000001 (+/-1E-28). Se almacenan como nmeros IEEE de punto flotante de doble precisin Los valores van desde 1,79769313486231570E+308 a 4,94065645841246544E-324 para nmeros negativos y de 4,94065645841246544E-324 a 1,79769313486231570E+308 para nmeros positivos.

Doubl e

8 bytes

Intege 4 bytes r Long 8 bytes

Valores con signo comprendidos 2.147.483.648 y 2.147.483.647. Valores con signo comprendidos 9.223.372.036.854.775.808 9.223.372.036.854.775.807. - 32.768 a 32.768.

entre entre

Short Single

2 bytes 4 bytes

Se almacenan como nmeros IEEE de punto flotante de precisin simple con valores que van de 3,4028235E+38 a 1,401298E-45 para nmeros negativos y de 1,401298E-45 a
17

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


3,4028235E+38 para nmeros positivos. Los nmeros de precisin simple almacenan aproximaciones de nmeros reales. String La longitud de un objeto String puede ir desde cero hasta, aproximadamente, dos mil millones de caracteres. Cada carcter es un valor Unicode de 16 bits. Al declarar una variable como Object, puede utilizarla posteriormente para hacer referencia a cualquier objeto reconocido por la aplicacin.
Tabla 1. Tipos de Datos en Visual Basic .Net.

Object 4 bytes

Conversin de Tipos de Datos. El proceso de cambiar un valor de un tipo de datos a otro tipo se denomina conversin. Las conversiones son de ampliacin o de restriccin, en funcin de las capacidades de los datos de los tipos involucrados. Tambin pueden ser implcitas o explcitas, segn la sintaxis del cdigo fuente. El tipo de dato de un elemento de programacin hace referencia al tipo de datos que puede contener y a cmo se almacenan stos. Los tipos de datos se aplican a todos los valores que pueden almacenarse en la memoria del equipo o participar en la evaluacin de una expresin. Cada variable, literal, constante, propiedad, argumento de procedimiento y valor devuelto por un procedimiento tiene un tipo de datos. Un tipo de datos declarado est especificado como parte de la declaracin de un elemento de programacin. A menos que utilice la programacin sin tipos, debe declarar los tipos de datos de todos los elementos de programacin. Para realizar operaciones de conversin, existen las funciones de conversin, las cuales le permiten convertir valores de un tipo de dato a otro tipo de dato.

Funcin.

Definicin.

CBool(Expresin). Convierte una expresin numrica a un tipo de dato

Programacin II Unidad 1.

18

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Boolean. CChar(Expresin) Convierte cualquier carcter valido de cadena de . caracteres al tipo de dato Char. CDate(Expresin) Convierte cualquier fecha u hora vlida a un tipo de . dato Date. CDbl(Expresin). CInt(Expresin). CLng(Expresin). Convierte una expresin numrica a un tipo de dato Double. Convierte una expresin numrica a un tipo de dato Integer (cualquier parte fraccional es redondeada). Convierte una expresin numrica a un tipo de dato Long (cualquier parte fraccional es redondeada).

CShort(Expresin Convierte una expresin numrica a un tipo de dato ). Short (cualquier parte fraccional es redondeada). CSng(Expresin). Convierte una expresin numrica a un tipo de dato Single. CType(Expresin, Convierte la expresin al tipo especificado. Type).
Tabla 2. Funciones de Conversin entre Datos.

Tipos de Datos Definidos por el Usuario. Visual Basic permite al desarrollador crear sus propios tipos de datos, esto es posible en .NET a travs del empleo de la instruccin Structure, ejemplo: Structure Persona Dim sNombre As String Dim nEdad As Integer Dim dFechaNac As Date End Structure Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Empleado As Persona Empleado.sNombre = "Pedro Gmez Luna" Empleado.nEdad = 33 Empleado.dFechaNac = "15 / 5 / 1978" txtOutput.Text = Empleado.sNombre & vbNewLine txtOutput.Text += Empleado.nEdad & vbNewLine txtOutput.Text += Empleado.dFechaNac End Sub
Programacin II Unidad 1. 19

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Cada variable declarada dentro de la estructura es llamada un member. Definicin de una estructura vaca: Dim Empleado As Persona = {}

1.8

Variables.

La sintaxis genrica para declarar una variable e inicializarla es la siguiente: [{ Public|Private|Static }] [ ReadOnly ] Dim [ WithEvents nombre[(listadelimites)] [As[New] tipo] [=expresioninicial] Instruccin Dim. Se utiliza en el nivel de mdulo, clase, estructura, procedimiento o bloque para declarar y asignar espacio de almacenamiento para variables. Partes de esta: Public. Opcional. Las variables declaradas con la palabra clave Public tienen acceso pblico. No hay restricciones para tener acceso a las variables pblicas. Puede utilizar Public solamente en el nivel de mdulo, espacio de nombres o archivo. Esto es, puede declarar variables pblicas en un archivo de cdigo fuente o dentro de un mdulo, una clase o una estructura, pero no dentro de un procedimiento. Si se especifica Public, se puede omitir la palabra clave Dim. Private. Opcional. Las variables declaradas mediante la palabra clave Private tienen acceso privado. Slo son accesibles desde dentro del contexto de su declaracin, incluidos los miembros de cualquier tipo anidado como los procedimientos. Slo puede utilizar Private en el nivel de mdulo. Esto es, puede declarar variables privadas en una clase, un mdulo o una estructura, pero no en el nivel de espacio de nombres o de archivo, ni dentro de ]

Programacin II Unidad 1.

20

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


un procedimiento. Si se especifica Private, se puede omitir la palabra clave Dim. Static. Opcional. Las variables declaradas con la palabra clave Static permanecen y conservan los valores ms recientes despus de la finalizacin del procedimiento en el que se declaran. Slo puede utilizar Static en el nivel de clase en el nivel de procedimiento. Esto es, puede declarar variables estticas dentro de un procedimiento o un bloque dentro de un procedimiento pero no en el nivel de clase o mdulo. Si se especifica Static, se puede omitir la palabra clave Dim. ReadOnly. Opcional. Las variables declaradas con la palabra clave ReadOnly se pueden leer pero no escribir Puede ser til para crear miembros de constantes de tipos de referencia, como una variable de objeto con miembros de datos preestablecidos. Puede utilizar ReadOnly solamente en el nivel de mdulo, espacio de nombres o archivo. Esto es, puede declarar variables de slo lectura en un archivo de cdigo fuente o dentro de un mdulo, una clase o una estructura, pero no dentro de un procedimiento. Si se especifica ReadOnly, se puede omitir la palabra clave Dim. WithEvents. Opcional. Una palabra clave que especifica que nombre es una variable de objeto que hace referencia a una instancia de una clase que puede provocar eventos. Se pueden declarar tantas variables individuales como se desee mediante WithEvents, pero no se pueden declarar matrices de este modo. Si se utiliza la palabra clave WithEvents, no se puede declarar nombre como Object. Debe declararlo como la clase especfica que puede provocar los eventos. Nombre. Requerido. Nombre de la variable. Debe ser un identificador de Visual Basic vlido. Se pueden declarar tantas variables como desee en la misma instruccin de declaracin, especificando el argumento nombre para cada uno y proporcionando el argumento listadelimites para matrices. Las variables mltiples se separan con comas.
Programacin II Unidad 1. 21

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Puede declarar varias variables para que sean del mismo tipo de datos. Tambin puede especificar diferentes tipos para variables o grupos de variables diferentes. Cada variable toma el tipo de datos especificado en la primera clusula As que se encontr despus del argumento nombre. Listadelimites. Opcional. Lista de enteros que no sean negativos que representan los lmites superiores de las dimensiones de una variable de matriz. Los lmites superiores mltiples se separan por comas. Una matriz puede tener hasta 60 dimensiones. Cada valor en listadelimites especifica el lmite superior de una dimensin, no la longitud. El lmite inferior es siempre cero; por tanto, el subndice de cada dimensin puede variar desde cero hasta el valor del lmite superior. Es posible utilizar 1 para declarar el lmite superior de una dimensin de matriz. Esto significa que la matriz est vaca, pero no es Nothing, una distincin que requieren algunas funciones del Common Language Runtime. No obstante, el cdigo de Visual Basic no permite un acceso correcto a dicha matriz. Si se intenta el acceso, se produce un error IndexOutOfRangeException durante la ejecucin. New. Opcional. Palabra clave que habilita la creacin inmediata de un objeto. Si se utiliza New cuando se declara la variable de objeto, se crea una nueva instancia del objeto cuando se ejecuta la instruccin Dim. Type. Opcional salvo que Option Strict sea On. Tipo de datos de la variable. Las constantes pueden ser Boolean, Byte, Char, Date, Decimal, Double, Integer, Long, Object, Short, Single o String; o bien una enumeracin, una estructura o una interfaz. Puede utilizar una clusula As independiente para cada variable que se defina o puede definir varias variables para que sean del mismo tipo mediante una clusula As comn. Si no especifica type, la variable toma el tipo de datos de expresioninicial. Si no se especifica type, el tipo de datos de expresioninicial debe poder convertirse a type. Si type o

Programacin II Unidad 1.

22

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


expresioninicial no estn presentes, el tipo de datos utiliza Object de manera predeterminada. Expresioninicial. Opcional. Expresin que se evala y se asigna a la variable cuando se crea. Si se declara ms de una variable con la misma clusula As, no se puede proporcionar expresioninicial para ese grupo de variables.

Variables Vs. Constantes. Variables. Se declara con Dim. Constantes. Se declara con Const.

Los valores cambian en tiempo Los valores permanecen igual en de ejecucin. tiempo de ejecucin. Usas ms memoria que las Usa menos constantes. variables. memoria que las

Tabla 3. Comparacin entre Variables y Constantes.

Alcance de las Variables (Scope). El mbito de un elemento declarado es el conjunto de cdigo que puede hacerle referencia sin calificar su nombre o marcarlo como disponible mediante una instruccin Imports. Un elemento de programacin est disponible en toda la regin en la que se declara. Todo el cdigo de la misma regin puede hacer referencia al elemento sin calificar su nombre. mbito de bloque. Un bloque es un conjunto de instrucciones que terminan en una instruccin End, Else, Loop o Next; por ejemplo, una construccin For...Next o If...Then...Else...End If. Un elemento declarado en un bloque slo puede utilizarse dentro de l. En el ejemplo siguiente, el mbito de la variable entera Cube es el bloque entre If y End If, y las referencias a Cube dejan de ser posibles cuando termina la ejecucin del bloque: If N < 1291 Then Dim Cube As Integer
Programacin II Unidad 1. 23

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Cube = N ^ 3 End If Nota: Incluso si el mbito de un elemento est limitado a un bloque, su perodo de duracin sigue siendo el del procedimiento completo. Si utiliza el bloque varias veces durante el procedimiento, una variable de bloque conserva su valor anterior. En este caso, y para evitar obtener resultados inesperados, es aconsejable inicializar la variable cada vez. mbito de procedimiento. Un elemento declarado en un procedimiento no est disponible fuera de l. Solamente el procedimiento que contiene su declaracin puede utilizarlo. Los elementos en este nivel tambin se denominan elementos locales. Se declaran con la instruccin Dim, con o sin la palabra clave Static. Los mbitos de procedimiento y de bloque estn estrechamente relacionados. Si un elemento se declara dentro de un procedimiento, pero fuera de un bloque que contiene el procedimiento, puede considerarse que el elemento tiene mbito de bloque, donde el bloque es el procedimiento completo. Nota: Todos los elementos locales, aunque sean variables Static, son privados para el procedimiento donde aparecen. No se puede declarar un elemento mediante la palabra clave Public dentro de un procedimiento. mbito de mdulo. Por comodidad, el trmino nivel de mdulo se aplica por igual a mdulos, clases y estructuras. Puede declarar elementos a este nivel si sita la instruccin de declaracin fuera de cualquier procedimiento o bloque contenido en el mdulo, la clase o la estructura. Cuando se incluye una declaracin en el nivel de mdulo, la accesibilidad seleccionada determina el mbito. El espacio de nombres que contiene el mdulo, la clase o la estructura tambin afecta al mbito. Los elementos para los que se declara la accesibilidad Private estn disponibles para referencias a todos los procedimientos del mdulo, pero no para el cdigo de otros mdulos. La instruccin Dim en el nivel de mdulo toma Private como predeterminado si no utiliza ninguna palabra clave de accesibilidad. No obstante, el mbito y la
Programacin II Unidad 1. 24

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


accesibilidad sern ms patentes si utiliza la palabra clave Private en la instruccin Dim. En el ejemplo siguiente, la variable de cadena strMsg est disponible para todos los procedimientos definidos en el mdulo. Cuando se llama al segundo procedimiento, muestra el contenido de la variable strMsg en un cuadro de dilogo: Private strMsg As String ' ... Sub InicializarVariablePrivada () strMsg = "Esta variable no puede ser usada fuera de este modulo." End Sub ' ... Sub UsarVariablePrivada() MsgBox(strMsg) End Sub mbito de espacio de nombres. Si declara un elemento en el nivel de mdulo por medio de la palabra clave Friend o Public, dicho elemento quedar disponible para todos los procedimientos del espacio de nombres en los que se declare. La siguiente modificacin del ejemplo anterior permite que el cdigo utilice la variable de cadena strMsg en cualquier parte del espacio de nombres de su declaracin: El mbito de espacio de nombres incluye espacios de nombres anidados. Un elemento disponible de un espacio de nombres tambin est disponible en cualquier espacio de nombres anidado en su interior. Si un proyecto no contiene declaraciones Namespace, todo lo que incluya el proyecto estar en el mismo espacio de nombres. En este caso, el mbito de espacio de nombres puede considerarse el mbito de proyecto. Los elementos Public de un mdulo, una clase o una estructura tambin estn disponibles para cualquier proyecto que haga referencia a su proyecto. Estos niveles de mbito progresan desde el ms restringido (bloque) al ms amplio (espacio de nombres), donde mbito ms restringido
Programacin II Unidad 1. 25

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


significa el conjunto de cdigo ms pequeo que puede hacer referencia al elemento sin calificacin. El mbito de un elemento se especifica al declararlo y puede depender de los factores siguientes:

La regin (bloque, procedimiento, mdulo, clase o estructura) donde se declara el elemento. El espacio de nombres que contiene la declaracin del elemento. La accesibilidad que se declara para el elemento.

Hay que tener cuidado cuando se definen variables del mismo nombre pero con mbito diferente, puesto que ello podra causar resultados inesperados. En lo que se refiere al mbito, es importante tener en cuenta que las variables locales son una opcin idnea para cualquier tipo de clculo provisional. Slo consumen memoria cuando se ejecuta el procedimiento, y sus nombres no son susceptibles de entrar en conflicto. Por ejemplo, es posible crear varios procedimientos distintos que contengan una variable denominada intTemp. En tanto que intTemp est declarado como una variable local, cada procedimiento reconocer nicamente su propia versin de intTemp. Cualquier procedimiento puede cambiar el valor de su variable intTemp local sin que ello afecte a las variables intTemp del resto de los procedimientos. Nota: Las variables de mdulo, compartidas, de instancia y estticas consumen recursos de memoria hasta que finaliza la ejecucin de la aplicacin, por lo que no conviene utilizarlas si no es realmente necesario. En general, cuando se declara una variable o una constante, es un buen hbito de programacin asignar un mbito lo ms restringido posible (el mbito de un bloque es el ms restringido). Esto permite que no se pierda memoria y reduce al mnimo la posibilidad de que el cdigo haga referencia por error a una variable incorrecta. Del mismo modo, slo debera declararse una variable como Static si es necesario que conserve su valor entre una llamada al procedimiento y otra.

1.9

Operadores.

Programacin II Unidad 1.

26

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Un operador es una unidad de cdigo que realiza una operacin sobre uno o ms elementos de cdigo que devuelven valores. Tal operacin puede ser una operacin aritmtica, como una suma o una multiplicacin; una operacin de concatenacin, que combina dos cadenas en una nueva; una operacin de comparacin, que determina cul de dos valores es mayor; una operacin lgica, que evala si dos expresiones son ambas verdaderas. Los operadores combinados con elementos de cdigo que devuelven valores como literales o variables forman expresiones o, en el caso del operador de asignacin, instrucciones. Visual Basic .NET dispone de los siguientes operadores matemticos:

Operad Descripcin or + * / \ Mod ^ & Suma. Resta. Multiplicacin. Divisin. Divisin entera (parte entera de la divisin). Residuo (resto de la divisin entera). Exponenciacin potencia). (elevar a una

Concatenacin de Cadenas.

Tabla 4. Operadores Aritmticos en Visual Basic .Net.

Dim nInc As Integer For nInc = 1 To 10 If nInc Mod 2 = 0 Then txtOutput.Text += nInc & " es par " & vbNewLine Else txtOutput.Text += nInc & " no es par " & vbNewLine End If Next txtOutput.Text += "10/0 = " & CStr(10 / 0) La divisin entre 0 no est permitida en los clculos matemticos ya que produce un resultado infinito, en la versin Visual Basic 6 hacer esto produce un error de ejecucin 11 "Divisin entre 0", pero en

Programacin II Unidad 1.

27

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Visual Basic .NET se maneja esta situacin automticamente y muestra un valor de Infinito. Ponga atencin en el siguiente cdigo y tenga cuidado al comparar resultados ya que el valor que regresa la excepcin del clculo matemtico entre 0 es Infinito con la primer letra en mayscula: If CStr(10 / 0) = "infinito" Then MsgBox("manejador de clculo") Else MsgBox("No es lo mismo -infinito- e -Infinito-") End If If CStr(10 / 0) = "Infinito" Then MsgBox("manejador de clculo")

Operadores Aritmticos. Los operadores aritmticos requieren operandos numricos (^, *, /, \, Mod, +, -) y producen resultados numricos. Operadores String. El operador de concatenacin (&) String requiere operandos String y producen resultados String. Operadores Comparativos (Relacionales). Los operadores Comparativos requieren operandos Comparativos (>, <, >=, <=, =, <>) y producen un resultado lgico (True o False). Operadores Lgicos. Los operadores Lgicos requieren operandos Lgicos (NOT, AND, OR, XOR) y producen un resultado lgico. Operadores Abreviados. Visual Basic .NET incorpora nuevos operadores abreviados que facilitan la escritura de cdigo, por ejemplo: x = x + 1 'Antes escriba x += 1 'Ahora puede escribir Operadores Abreviados +=
Programacin II Unidad 1. 28

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


-= *= /= \= ^ &=
Tabla 5. Abreviacin de Operadores en Visual Basic .Net.

Precedencia de Operadores. A continuacin se muestra el orden de precedencia/prioridad/jerarqua de los operadores en Visual Basic .NET. Precedencia de Operadores () ^ */ \ Mod +Tabla 6. Jerarqua de Operadores en Visual Basic .Net.

1.10 Sentencias. Las sentencias son todas aquellas instrucciones, que de manera conjunta forman lo que se conoce como cdigo del programa. En Visual Basic .NET, cada lnea de cdigo puede ser una sentencia, por ejemplo en el bloque siguiente se exponen cuatro sentencias: Dim Mivariable as Integer Mivariable=10 Mivariable= 10*10 MessageBox.Show (Mivariable)

1.11 Matrices. Matrices/Arrays/Arreglos/Vectores.


Programacin II Unidad 1. 29

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Optaremos por referirnos a esta estructura como Arreglo. La novedad para los arreglos en Visual Basic .NET es que el ndice comienza en 0 y no podr utilizarse la opcin Option Base para redefinirlo, es decir, darle cualquier otro valor. Efectos de los arreglos basados en 0: Dim aColores(2) As String aColores(0) = "Rojo" aColores(1) = "Verde" aColores(2) = "Azul"

No es posible declarar arreglos con la palabra reservada To. LBound regresar siempre el valor 0 porque el lmite inferior de un arreglo es 0. UBound regresar como valor el nmero de elementos -1.

Dim aNumeros() As Integer = {10, 20, 30, 40, 50} Dim i As Integer txtOut.Text += "Limite inferior: " & LBound(aNumeros) & vbNewLine txtOut.Text += "Limite superior: " & UBound(aNumeros) & vbNewLine For i = 0 To UBound(aNumeros) txtOut.Text += i & " : " & aNumeros(i) & vbNewLine Next

No es posible utilizar ReDim en la declaracin inicial. No es posible utilizar ReDim para cambiar la dimensin a un arreglo existente.

1. Arreglos Estticos, el nmero de sus elementos siempre ser

el mismo. 2. Arreglos Dinmicos, el nmero de sus elementos puede cambiar durante la ejecucin del programa. Para los arreglos dinmicos debe tenerse en mente que al declarar el arreglo su tamao ser definido como el nmero de elementos -1. Una vez declarado un arreglo no es posible cambiar el nmero de dimensiones utilizando ReDim, es decir si se declaro un arreglo unidimensional con ReDim no podr redefinirlo como bidimensional. ReDim Preserve, si modifica la dimensin de una matriz que ya contenga datos, estos se perdern, ya que al ejecutar la instruccin ReDim el contenido del arreglo dinmico se definir a su valor predeterminado 0 o null, muy bueno para eliminar el contenido de un
Programacin II Unidad 1. 30

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


arreglo, pero muy malo si se desea mantener los valores, por lo que la solucin para no eliminar los valores al redefinir un arreglo es utilizar la instruccin Preserve. La nica regla es respetar el nmero de dimensiones original. Existe una limitacin, ya que slo es posible cambiar el tamao de la ltima dimensin, si es que el arreglo tiene ms de una dimensin. En el caso de arreglos unidimensionales podra parecer no tener restriccin. Dim aMultidimensional(,,,) As Integer ReDim aMultidimensional(10, 20, 30, 40) ReDim Preserve aMultidimensional(10, 20, 30, 80) Clase Array. La Clase Array provee mtodos para crear, manipular, buscar y ordenar arreglos, por lo que sirven como la clase base para todos los arreglos en el runtime del lenguaje comn. Forma parte la biblioteca .NET. La Clase Array contiene el mtodo Sort el cual recibe como argumento un arreglo y su objetivo es ordenar el contenido del arreglo: Dim i As Integer Dim aNumeros(9) As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load For i = 0 To 9 Randomize() aNumeros(i) = Rnd() * 9 Next ShowElements(aNumeros, ListBox1) End Sub Private Sub ShowElements(ByRef a As Array, ByVal list As ListBox) For i = 0 To 9 list.Items.Add(a(i)) Next End Sub Private Sub BtnOrder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles BtnOrder.Click Array.Sort(aNumeros) ShowElements(aNumeros, ListBox2) End Sub 1.12 Procedimientos y funciones.
Programacin II Unidad 1. 31

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Procedimientos. Un procedimiento es un bloque de instrucciones de Visual Basic delimitado por una instruccin de declaracin y una instruccin End. En Visual Basic, todo el cdigo se incluye dentro de procedimientos. Los procedimientos se invocan desde otras partes del cdigo. Cuando finaliza la ejecucin de un procedimiento, ste devuelve el control al cdigo que lo invoc, que recibe el nombre de cdigo de llamada. El cdigo de llamada es una instruccin o una expresin contenida en una instruccin, que hace referencia al procedimiento por su nombre y le transfiere el control. Visual Basic utiliza varios tipos de procedimientos:

Los procedimientos Sub ejecutan acciones, pero no devuelven un valor al cdigo de llamada. Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en respuesta a un evento desencadenado por una accin del usuario o por un suceso en un programa. Los procedimientos Function devuelven un valor al cdigo de llamada. Los procedimientos Property devuelven y asignan valores de propiedades en objetos o mdulos.

Todas las lneas de cdigo de una aplicacin deben encontrarse dentro de un procedimiento, por ejemplo, Main, Calculate o Button1_Click. La aplicacin se leer con mayor facilidad si subdivide los procedimientos grandes en procedimientos ms pequeos. Los procedimientos son tiles para realizar tareas repetitivas o compartidas, como clculos de uso frecuente, manipulacin de texto y controles, y operaciones con bases de datos. Se puede llamar a un procedimiento desde distintos lugares del cdigo; de modo que los procedimientos se prestan a servir de unidades de creacin de la aplicacin. La estructuracin del cdigo en procedimientos aporta las siguientes ventajas:

Los procedimientos permiten desglosar los programas en unidades lgicas independientes. Es ms fcil depurar unidades individuales que todo un programa sin procedimientos. Los procedimientos desarrollados para un programa pueden utilizarse en otros programas, generalmente sin tener que realizar apenas modificaciones.

Procedimientos Sub.
Programacin II Unidad 1. 32

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Un procedimiento Sub consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Sub y End Sub. Cada vez que se llama a un procedimiento, se ejecutan las instrucciones de ste, desde la primera instruccin ejecutable tras la instruccin Sub hasta la primera instruccin End Sub, Exit Sub o Return que se encuentre. Un procedimiento Sub ejecuta acciones, pero no devuelve ningn valor. Puede tomar argumentos, como constantes, variables o expresiones, que le pasa el cdigo de llamada. La sintaxis para declarar un procedimiento Sub es la siguiente: [accesibilidad] Sub nombre [(lista de argumentos)] 'Sentencias a ejecutar. End Sub La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Los procedimientos Sub pueden definirse en mdulos, clases y estructuras. Son Public de forma predeterminada, lo que significa que se les puede llamar desde cualquier parte de una aplicacin. Procedimientos controladores de eventos. Un evento es una accin o un suceso, por ejemplo, un clic del mouse (ratn) o la superacin de un lmite de crdito, que un objeto reconoce y para el cual puede escribirse un cdigo de respuesta. Los eventos se producen como consecuencia de una accin del usuario o de un clculo del programa, o bien pueden ser desencadenados por el sistema. Un procedimiento de control de eventos, o controlador de eventos, es el cdigo que se escribe para dar respuesta a un evento concreto. Aunque los controladores de eventos sean procedimientos Sub, normalmente no se les llama igual que al resto de los procedimientos Sub. Cuando un objeto detecta que se ha producido un evento, invoca al controlador de eventos por medio del nombre correspondiente al evento. Es lo que se conoce como producir el evento, que es una accin que lleva a cabo el objeto mediante la ejecucin de la instruccin RaiseEvent. Procedimientos Function.

Programacin II Unidad 1.

33

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Un procedimiento Function consiste en una serie de instrucciones de Visual Basic delimitadas por las instrucciones Function y End Function. Cada vez que se llama a un procedimiento de este tipo, se ejecutan las instrucciones de ste, desde la primera instruccin ejecutable tras la instruccin Function hasta la primera instruccin End Function, Exit Function o Return que se encuentre. Un procedimiento Function es similar a un procedimiento Sub, pero adems devuelve un valor al programa que realiza la llamada al procedimiento. Un procedimiento Function puede tomar argumentos, como constantes, variables o expresiones, que le pasa el cdigo de llamada. La sintaxis para declarar un procedimiento Function es la siguiente: [accesibilidad] TipoDeDato Function Nombre [(lista de argumentos)] As

'Sentencias a ejecutar. End Function La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Los procedimientos Function pueden definirse en mdulos, clases y estructuras. Son Public de forma predeterminada, lo que significa que se les puede llamar desde cualquier parte de una aplicacin. Los argumentos se procedimiento Sub. declaran del mismo modo que en un

Procedimientos Property. Un procedimiento Property consiste en una serie de instrucciones de Visual Basic que manipulan una propiedad personalizada en un mdulo, una clase o una estructura. Los procedimientos Property tambin se conocen como descriptores de acceso de propiedades. Una propiedad se diferencia de una variable pblica o de un campo en los siguientes aspectos:

Una propiedad se implementa con cdigo ejecutable (sus procedimientos Property), y no con una instruccin de declaracin individual. Los procedimientos Property se ejecutan cuando se establece o se recupera el valor de la propiedad. Esto permite que una

Programacin II Unidad 1.

34

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.

clase realice acciones personalizadas cuando el cdigo del cliente obtiene acceso a la propiedad. Una propiedad no tiene asociada a su declaracin ninguna ubicacin de almacenamiento. Aunque los procedimientos Property suelen definir constantes y variables locales, stas no suelen estar disponibles para el cdigo de acceso a la propiedad. Por lo tanto, aunque es posible incluir una variable o un campo como miembro de una estructura o una matriz, no lo es en el caso de una propiedad. Una propiedad puede definirse como de slo lectura, slo escritura o lectura y escritura. El valor predeterminado es de lectura y escritura.

Visual Basic proporciona los siguientes procedimientos Property:

Los procedimientos Get devuelven el valor de una propiedad; se llama a estos procedimientos cuando se obtiene acceso a la propiedad en una expresin. Los procedimientos Set establecen el valor de una propiedad, e incluyen una referencia de objeto; se llama a estos procedimientos cuando se le asigna un valor a la propiedad.

Normalmente los procedimientos Property se definen por parejas, utilizando las palabras clave Get y Set, pero si la propiedad es de slo lectura (Get) o de slo escritura (Set) puede definirse cada procedimiento de forma individual. Una propiedad se define mediante un bloque de cdigo delimitado por las instrucciones Property y End Property. Dentro del bloque, cada procedimiento Property aparece como un bloque interno encerrado entre una instruccin de declaracin (Get o Set) y una instruccin End. La sintaxis para declarar una propiedad y sus procedimientos es la siguiente: [Default] [accessibilidad] Property Nombre[(listadeargumentos)] As TipoDeDato Get ' ... Return expresin propiedad. End Get Set [(ByVal newvalue As TipoDeDato)] ' ...
Programacin II Unidad 1. 35

' expresin es retornada como el valor de la

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


lvalue = newvalue ' newvalue es el Nuevo valor a ser asignado. End Set End Property La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Las propiedades pueden definirse en clases, estructuras y mdulos. De forma predeterminada las propiedades son Public, es decir, pueden llamarse desde cualquier parte de una aplicacin. Sintaxis de llamada. Un procedimiento Property se invoca de forma implcita mediante el cdigo que hace referencia a la propiedad. El cdigo utiliza el nombre de la propiedad del mismo modo que si se tratase del nombre de una variable, a excepcin de que debe suministrar valores a todos los argumentos que no sean opcionales, y debe encerrar la lista de argumentos entre parntesis. Si no se proporcionan argumentos, se puede omitir el parntesis. La sintaxis de una llamada implcita a un procedimiento Set Property es la siguiente: propertyname[(argumentlist)] = expression Los siguientes ejemplos de llamadas muestran la sintaxis de llamada permitida para un procedimiento Get Property: lvalue = nombrepropiedad[(listadeargumentos)] Do While (nombrepropiedad [(listadeargumentos)] > expresin) Nota: El tipo de datos de una propiedad y el acceso a dicha propiedad se definen en la instruccin Property, no en los procedimientos Property. Una propiedad slo puede tener un tipo de datos y un tipo de accesibilidad. Por ejemplo, no puede definirse una propiedad de forma que establezca un valor Decimal, y que a la vez obtenga un valor Double. Del mismo modo, Private Set y Public Get no pueden definirse en la misma propiedad. Para conseguir esta funcionalidad, puede definir una propiedad Public ReadOnly y un mtodo de configuracin Private independiente de la propiedad. Llamada a Funciones y Subrutinas. Los procedimientos Sub se invocan de forma explcita, con una instruccin de llamada independiente. No se les puede llamar
Programacin II Unidad 1. 36

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


utilizando su nombre en una expresin. La instruccin de llamada debe suministrar el valor de todos los argumentos que no sean opcionales, y debe incluir la lista de argumentos entre parntesis. Si no se proporcionan argumentos, se puede omitir el parntesis. El uso de la palabra clave Call tambin es opcional. La sintaxis para llamar a un procedimiento Sub es la siguiente: [Call] Procedimiento[(listadeargumentos)] El procedimiento Sub que aparece a continuacin notifica al usuario del equipo la tarea que est a punto de realizar la aplicacin, y tambin muestra una marca de tiempo. En lugar de duplicar este fragmento de cdigo al principio de cada tarea, la aplicacin simplemente llama a DecirOperacion desde varios lugares. Cada llamada pasa una cadena al argumento Tarea que identifica la tarea que se va a iniciar. Sub DecirOperacion (ByVal Tarea As String) Dim Inicio As Date ' Inicio es local a DecirOperacion. ' Obtiene la hora actual para la marca de

Stamp = TimeOfDay() Inicio.

'Usa la clase MessageBox del Espacio de Nombres 'System.Windows.Forms. MessageBox.Show("Iniciando " & Tarea & " a las " & CStr(Inicio)) End Sub Una llamada tpica a DecirOperacion tendra esta forma: Call DecirOperacion ("Actualizacin de Archivos") Para llamar a un procedimiento Function, hay que incluir el nombre y los argumentos de ste en la parte derecha de una asignacin o en una expresin. Esto ltimo se ilustra en los siguientes ejemplos de llamada: lvalue = functionname[(listadeargumentos)] If ((Funcin[(listadeargumentos)] / 3) <= expresin) Then ... El siguiente procedimiento Function calcula la hipotenusa de un tringulo rectngulo a partir de los valores de los catetos:

Programacin II Unidad 1.

37

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Function Hipotenusa (ByVal Lado1 As Single, ByVal Lado2 As Single) As Single Return Math.Sqrt((Lado1 ^ 2) + (Lado2 ^ 2)) End Function Son llamadas habituales a Hipotenusa las siguientes: Dim Longitud, PruebaHipotenusa, X, Y, Area As Single PruebaHipotenusa = Hipotenusa (Longitud, 10.7) 'Se asume que AreaTriangulo es una funcin definida. 'El valor devuelto desde Hipotenusa es usado como argumento para AreaTriangulo Area = AreaTriangulo(X, Y, Hipotenusa(X, Y)) El espacio de nombres Microsoft.VisualBasic proporciona multitud de funciones, entre las funciones ms comunes se encuentran, por ejemplo, Beep, MsgBox y StrComp. Se pueden llamar a estas funciones de la misma manera que llama a los procedimientos Function creados por el usuario. Cuando se llama a un procedimiento Function, no es necesario utilizar su valor devuelto, en cuyo caso se ejecutan todas las acciones de la funcin, pero el valor devuelto se omite. Las llamadas a MsgBox suelen hacerse de esta manera.

Funcin Asc Chr Format Instr Len Mid Now

Valor que retorna Carcter en cdigo ASCII o ANSI. Carcter correspondiente en cdigo ASCII o ANSI. Fecha o nmero convertido en una cadena de caracteres. Localiza una subcadena dentro de otra cadena. Nmero de caracteres en una cadena de texto. Selecciona o extrae una porcin de una cadena de texto. Fecha y hora actual.

Programacin II Unidad 1.

38

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Rnd Str Timer Trim Val Nmeros aleatorios entre 0 y 1. Numero convertido a cadena de caracteres. Numero de medianoche. segundos transcurridos desde

Quita primero y arrastra espacios de una cadena. Valor numrico que da a una cadena.
Tabla 7. Funciones Comunes en Visual Basic .Net.

Argumentos ByVal y VyRef. Los argumentos de un procedimiento, (funcin o subrutina) se declaran igual que las variables, especificando el nombre y el tipo de datos del argumento. Tambin puede especificarse el mecanismo que se va a utilizar para pasar el argumento, as como si se trata de un argumento opcional. La sintaxis de los argumentos en una lista de argumentos es la siguiente: [Optional] [ByVal|ByRef] NombreDelArgumento As TipoDeDato [ArreglodeParametros]

Se pueden pasar argumentos ya sea por ByVal (valor) o ByRef (referencia). Mediante ByVal los procedimientos no pueden modificar el contenido. Usando ByRef el procedimiento puede modificar el contenido. Usando Exception los elementos no variables nunca son modificados llamados desde el cdigo, aun cuando se paso por referencia. Los argumentos son pasados ByVal por default en Visual Basic .NET. Ejemplo: (ByVal Name As String) Argumentos opcionales. Si el argumento es opcional, la declaracin de ste debe contener tambin un valor predeterminado, como se muestra a continuacin: Optional ByVal argumentname As TipoDeDato = defaultvalue Reglas para declarar argumentos opcionales.

Programacin II Unidad 1.

39

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Especificar un valor por defecto. El valor por defecto debe ser una expresin constante. Los argumentos siguientes de un argumento opcional tambin deben ser opcionales.

Ejemplo: Function Suma (ByVal Valor1 As Integer, ByVal Valor2 As _ Integer, Optional ByVal Valor3 As Integer = 0) As Integer Valores de Retorno en Funciones. El valor que un procedimiento Function devuelve al programa que realiza la llamada se denomina valor devuelto. La funcin puede devolver dicho valor de dos maneras: La funcin asigna un valor a su propio nombre de funcin en una o ms instrucciones del procedimiento. No se devuelve el control al programa que realiza la llamada hasta que se ejecuta una instruccin Exit Function o End Function, como en el siguiente ejemplo: Function FuncionPrueba[(ListaDeArgumentos)] As TipoDeDato ' ... FuncionPrueba = Expresin funcin. ' ... End Function La funcin utiliza la instruccin Return para especificar el valor devuelto, e inmediatamente devuelve el control al programa de llamada, como en el siguiente ejemplo: Function FuncionPrueba [(ListaDeArgumentos)] As TipoDeDato ' ... Return Expresin 'El control es devuelto inmediatamente. ' ... End Function La ventaja de asignar el valor devuelto al nombre de la funcin es que el control permanece en la funcin hasta que el programa encuentra 'El control permanece dentro de la

Programacin II Unidad 1.

40

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


una instruccin Exit Function o End Function, lo que permite asignar un valor previo y, si es necesario, se puede ajustar despus. Si la funcin devuelve datos de tipo matricial, el acceso a los elementos individuales de la matriz no es posible dentro de la funcin. Si se intentara hacerlo, el compilador lo interpretar como una llamada a la funcin. En el siguiente ejemplo se generan errores de compilacin: Function TodosEnUno(ByVal N As Integer) As Integer() Dim I As Integer ' Variable entera, no arreglo de enteros. For I = 1 To N - 1 ' Asume que N tiene un valor valido. TodosEnUno(I) = 1 'Error del Compilador: llamada con tipo errneo. Next I Return TodosEnUno() argumentos. End Function Todos los procedimientos Function tienen un tipo de datos, al igual que las variables. La clusula As de la instruccin Function especifica el tipo de datos, y determina el tipo del valor devuelto. En las siguientes declaraciones de ejemplo se ilustra esto ltimo: Function Ayer As Date ' ... End Function Function RaizCuadrada (ByVal Numero As Single) As Single ' ... End Function 'Error del Compilador: llamada sin

1.13 Estructuras de control. Expresiones condicionales.

Programacin II Unidad 1.

41

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Las expresiones condicionales incluyen una condicin para ser evaluada como verdadera o falsa e incluyen un operador para especificar el tipo de condicin. Estructuras de decisin.
A. Sentencia IfThen.

Se usa para una decisin que esta entre falso o verdadero. Si la condicin es verdadera las lneas siguientes de cdigo son ejecutadas. Si la condicin es falsa las lneas siguientes de cdigo no son ejecutadas. If Sales > 10000 Then Bonus = .10 * Sales End If

B. Sentencia IfThen...Else.

Se usa para una decisin con por lo menos dos opciones. Cada sentencia If debe tener un End If correspondiente. Si la condicin es verdadera las lneas siguientes de cdigo son ejecutadas. Si la condicin es falsa las lneas siguientes de cdigo de la sentencia If no son ejecutadas. If Sales > 10000 Then Bonus = .10 * Sales Else Bonus = 0 End If
C. Sentencia IfThen...ElseIf.

Se utiliza para anidar declaraciones de decisin. Cada sentencia If debe tener un End If correspondiente. Las declaraciones de ElseIf no tienen su propio End If. Las declaraciones de ElseIf no pueden aparecer despus de un Else. Si la condicin es falsa las lneas siguientes de cdigo de la sentencia If no son ejecutadas.

Programacin II Unidad 1.

42

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


If Sales > 10000 Then Bonus = .10 * Sales ElseIf Sales > 5000 Then Bonus = .05 * Sales Else Bonus = .02 * Sales End If Tambin podemos usar la funcin IIf, que funciona de la siguiente forma: tipo = IIf(i=1,uno,otro) tipo = IIf(i>0,Positivo,Negativo) D. Sentencia Select Case. Esta instruccin permite evaluar mltiples valores ya que selecciona un bloque de cdigo para ejecutar basado en una lista de posibles opciones. Se utiliza como una alternativa a la compleja sentencia anidada IfThenElse. Si mltiples casos son verdaderos, se ejecutan slo las declaraciones que pertenecen al primer caso verdadero. Por ejemplo: Dim B As Short =30 Select Case B Case 5 Si fuera igual a 5 Case Is < 10 Si fuera menor a 10 Case Is> 20 Si fuera mayor a 20 Case 23 To 25 Si fuera mayor o igual a 23 y menor e igual a 25
Programacin II Unidad 1. 43

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Case 1 To 2 Si fuera 1 o 2 Case 26 To 28,31 Si fuera mayor o igual a 26 y menor e igual a 28 o si es 31 Case Else Si no es ninguna de las anteriores End Select Estructuras de control iterativas. A. Sentencia Do...Loop...Until. Ejecuta el cdigo si la condicin se evala como Falso, y se repite hasta que la expresin evaluada sea Verdadera. Este ciclo se repite hasta que la expresin condicional es verdadera. El ciclo siempre se ejecuta por lo menos una vez. Ejemplo: Suma = 0 Contador = 0 Do Suma += CInt(Rnd() * 6 0.5) + 1 Contador += 1 Loop Until Suma > 30 Este ciclo rueda un dado simulado hasta que la Suma de los tiros exceda 30. Tambin guarda el nmero de tiros (Contador) necesitados para lograr esta suma. B. Sentencia Do...Until...Loop. En esta estructura, el ciclo se repite hasta que expresin booleana es verdadera. Tiros = 0 Contador = 0 Do Until Contador = 10
Programacin II Unidad 1. 44

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Tiros += 1 If CInt(Rnd() * 6 0.5) + 1 = 6 Then Contador += 1 End If Loop Este ciclo se repite hasta que la variable Contador sea igual a 10. La variable Contador se incrementa cada vez que se tira un dado simulado. C. Sentencia Do...Loop While. Este ciclo se realiza mientras la expresin booleana sea verdadera. Dim i As Integer = 5 Do Console.WriteLine(i) i -= 1 Loop While i > 0 Console.Read() D. Sentencia Do While...Loop. Este ciclo se realiza mientras la condicin sea verdadera, obsrvese que si la expresin no se cumple entonces no ingresa al ciclo. Ejemplo: Dim i As Integer = 5 Do While i > 0 Console.WriteLine(i) i -= 1 Loop Console.Read() E. Sentencia For...Next.
Programacin II Unidad 1. 45

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


Este ciclo se utiliza cuando se conoce el nmero de incrementos que desea que se ejecute un cdigo. For Variable = Inicio To Fin [Step Incremento] [process this code] Next Variable Variable es el contador (que no necesariamente debe ser un nmero entero). Ejemplo: Dim MisValores(100) as Double Suma = 0 For I = 1 to 100 Suma += MisValores (I) Next I Promedio = Suma / 100

1.14 Controles bsicos y sus propiedades. En Visual Basic .NET, la interfaz de usuario, es decir, la parte de los programas con la que interacta el usuario, se desarrolla utilizando objetos, mejor conocidos como controles. Cada uno estos controles se derivan de una clase especfica. Todas las clases para los controles a utilizar en una aplicacin estn contenidas de manera predeterminada al instalar el lenguaje. Existe adems la posibilidad de crear controles a la propia necesidad del programador, estos se conocan anteriormente como controles ActiveX, ahora en este lenguaje se les conoce como controles de usuario. De esta manera, ya que un control es en s un objeto creado a partir de una clase, contiene los mismos elementos universales de un objeto: propiedades, mtodos y eventos. Los controles ms utilizados para el diseo de la interfaz de usuario son el Cuadro de Texto (TextBox), el Botn de Comando (Button), la Etiqueta (Label), la Lista Desplegable (DropDownList) y el Contenedor
Programacin II Unidad 1. 46

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


de Objetos (Container). Existen muchos otros pero estos son los que se usan con ms frecuencia. Para poder utilizar todos los controles anteriores se debe hacer referencia a una Biblioteca o Espacio de Nombres, la cual contiene a las clases para crear aplicaciones para Windows que aprovechan todas las ventajas de las caractersticas de la interfaz de usuario disponibles en el sistema operativo Microsoft Windows. Este espacio de Nombres es System.Windows.Forms. Las clases de este espacio de nombres se pueden agrupar en las siguientes categoras:

Control, User Control, and Form. La mayora de las clases del espacio de nombres System.Windows.Forms derivan de la clase Control. La clase Control proporciona la funcionalidad base de todos los controles que se muestran en un objeto Form. La clase Form representa una ventana dentro de una aplicacin. Incluye cuadros de dilogo, ventanas no modales, ventanas cliente y la ventana principal de la Interfaz de documentos mltiples (MDI). Para crear un control personalizado que est compuesto por otros controles, utilice la clase UserControl. Controls. El espacio de nombres System.Windows.Forms dispone de diferentes clases de controles que permiten crear interfaces de usuario completas. Algunos controles estn diseados para la entrada de datos en la aplicacin, por ejemplo, los controles TextBox y ComboBox. Otros controles muestran datos de la aplicacin, por ejemplo, Label y ListView. El espacio de nombres tambin dispone de controles para invocar a comandos en la aplicacin, por ejemplo, Button y ToolBar. Adems, puede utilizar el control PropertyGrid para crear su propio Diseador de Windows Forms que muestra las propiedades de los controles que son visibles para el diseador. Components. Adems de los controles, el espacio de nombres System.Windows.Forms proporciona otras clases que no se derivan de la clase Control pero que tambin aportan caractersticas visuales a las aplicaciones basadas en Windows. Algunas clases, como ToolTip y ErrorProvider, amplan las capacidades o proporcionan informacin al usuario. Otras, como Menu, MenuItem y ContextMenu, permiten mostrar mens al usuario para que invoquen a comandos en una aplicacin. Las clases Help y HelpProvider permiten mostrar informacin de Ayuda al usuario de las aplicaciones. Common Dialog Boxes. Windows proporciona varios cuadros de dilogo comunes que se pueden utilizar para ofrecer a la aplicacin una interfaz de usuario coherente a la hora de realizar tareas como abrir y guardar archivos, manipular la fuente o el color del texto, o imprimir. Las clases OpenFileDialog y SaveFileDialog proporcionan la funcionalidad
47

Programacin II Unidad 1.

Instituto Tecnolgico Superior de la Sierra Norte de Puebla, Zacatln, Pue.


para mostrar un cuadro de dilogo que permita al usuario buscar o escribir el nombre del archivo que desea abrir o guardar. La clase FontDialog muestra un cuadro de dilogo para cambiar los elementos del objeto Font que utiliza la aplicacin. Las clases PageSetupDialog, PrintPreviewDialog y PrintDialog muestran cuadros de dilogo que permiten al usuario controlar la impresin de documentos. Adems de los cuadros de dilogo comunes, el espacio de nombres System.Windows.Forms dispone de la clase MessageBox para presentar un cuadro de mensaje para y mostrar obtener datos del usuario. Algunas de las clases del espacio de nombres System.Windows.Forms admiten las clases mencionadas en el resumen anterior. Algunos ejemplos son las enumeraciones, las clases de argumentos de evento y los delegados que utilizan los eventos en controles y componentes.

Programacin II Unidad 1.

48

También podría gustarte