Manual de Visual Basic.net 2005

Embed Size (px)

Citation preview

Visual Basic.net 2008 Express

Programacin Digital I

OBJETIVOS ESPECIFICOS Describir el lenguaje de programacin orientada a objetos. Construir expresiones para escribir instrucciones en un programa

CONTENIDO 1. Descripcin del entorno 2. Caja de herramientas. 3. Ventana de propiedades. 4. Ventana del Explorador de proyectos. 5. Terminologa. 6. Clase, objeto. 7. Propiedad, Evento, mtodo. 8. Formulario, control. 9. Algoritmos secuenciales. 10. Desarrollo de aplicaciones que implementen u algoritmo secuencial. 11. Etiquetas, cuadros de texto y botones de comando. 12. La funcin VAL. 13. Operadores aritmticos, concatenacin.

Escuela Superior Privada de Tecnologa SENATI

2

Programacin Digital ISESIN I: EL IDE DEL VISUAL BASIC .NET

Conceptos Generales ......................................................................................... 6 MICROSOFT NET FRAMEWORK ........................................................................... 6 Entorno NET FRAMEWORK ................................................................................ 7 Visual Studio NET .............................................................................................. 9 Elementos del Entorno de VISUAL STUDIO 2005 .................................................. 12

SESIN II : INSTRUCCIONES CONDICIONALES

Primera Aplicacin ............................................................................................. 23 Variables y Operadores ...................................................................................... 34 Uso de Operadores

Operadores de Asignacin ........................................................ 38 Operadores de Comparacin ..................................................... 38

Instrucciones Condicionales ................................................................................ 41 Instruccin SELECT CASE ..................................................................... 48 Laboratorio..50

SESIN III: TRABAJANDO CON CONTROLES

ComboBox ........................................................................................................ 56 ListBox.............................................................................................................. 61 CheckBox .......................................................................................................... 64 Radio Button .................................................................................................... 67 Tab Page .......................................................................................................... 72 Laboratorios...74

SESION IV: PROCESOS REPETITIVOS

For/Next ........................................................................................................... 70 For Each .......................................................................................................... 71 While/End While ............................................................................................... 71 Do/Loop ........................................................................................................... 72 Estructuras ....................................................................................................... 73 Laboratorio..74

SESIN V: PROCEDIMIENTOS Y ARREGLOS

PROCEDIMIENTOS Y FUNCIONES ....................................................................... 81 ARREGLOS ........................................................................................................ 81

ARREGLOS TIPO LISTA ......................................................................... 82 ARREGLOS TIPO TABLA ........................................................................ 86 ARREGLOS CON PARAMETROS............................................................... 87 ARREGLOS DE CONTROLES................................................................. .87

Laboratorios...88

Escuela Superior Privada de Tecnologa SENATI

3

Programacin Digital ISESION VI : EXCEPCIONES Y MENUES

Control de Excepciones ................................................................................... 97 Mens en Visual Basic NET y 2005 ...................................................................... 101 Laboratorios...110

SESIN VII: BASE DE DATOS

Base de Datos Relacional .................................................................................... 112 LENGUAJE SQL ................................................................................................. 116 Laboratorios...119

SESIN VIII: ADO NET

ADO NET ......................................................................................................... 135 Objeto de acceso a datos .................................................................................. 155 Acceso a Datos.................................................................................................. 160

Escuela Superior Privada de Tecnologa SENATI

4

Programacin Digital I

Introduccin

Visual Basic.net es la evolucin de Visual Basic, el popular lenguaje de programacin de Microsoft. A diferencia de sus antecesores, Visual Basic.net esta implementado sobre el FRAMEWORK .NET y las potencialidades que tiene el leguaje supera con creces las de versiones anteriores. Visual Basic .net esta basado en el paradigma de programacin orientado a objetos, por lo que es necesario tener algunas nociones de este tipo de programacin. La siguiente gua pretende ilustrar al estudiante sobre las caractersticas mas importantes del lenguaje, el

framework que lo soporta y los distintos tipos de aplicaciones que podemos lograr con l.

Escuela Superior Privada de Tecnologa SENATI

5

Programacin Digital I

SESIN I EL IDE DEL VISUAL BASIC .NETCONTENIDO

Conceptos Generales MICROSOFT NET FRAMEWORK Entorno NET FRAMEWORK Visual Studio NET Elementos del Entorno de VISUAL STUDIO 2005PRCTICA DE REFORZAMIENTO

Escuela Superior Privada de Tecnologa SENATI

6

Programacin Digital I

CONCEPTOS GENERALES MICROSOFT .NETMicrosoft.Net es una nueva tecnologa que responde a la necesidad de comunicacin total entre negocios de sistemas heterogneos y con gran capacidad de procesamiento. Microsoft .Net proporciona todas las herramientas y tecnologas para construir Aplicaciones Web Distribuidas usando protocolos Web estndares tales como HTTP (Hipertexto Transfer Protocolo), XML (extensible Markup Lnguage) y SOAP (Simple Object Access Protocol). Las aplicaciones creadas en la plataforma :net podrn ser usadas por un gran nmero de clientes, tales como PC, PC de bolsillo (Palm PC), celulares digitales, PC de juegos (PC Games), PC de auto (Auto PC), PC Televisor (Ultimate TV), etc.

MICROSOFT .NET FRAMEWORKLo que se dice en el eBook Microsoft .NET Framework. ".NET Framework es un entorno para construir, instalar y ejecutar servicios Web y otras aplicaciones. Se compone de tres partes principales: el Common Language Runtime, las clases Framework y ASP.NET" Lo que dice el MSDN Library. "El .NET Framework es un entorno multi-lenguaje para la construccin, distribucin y ejecucin de Servicios Webs y aplicaciones."

"El .NET Framework es una nueva plataforma diseada para simplificar el desarrollo de aplicaciones en el entorno distribuido de Internet."

"El .NET Framework consta de dos componentes principales: el Common Language Runtime y la librera de clases .NET Framework." El .NET Framework es el corazn de .NET, cualquier cosa que queramos hacer en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes del .NET Framework. Basndose en la definicin de Microsoft sobre que es el .net framework podemos decir que .NET Framework es

un entorno para construir, instalar y ejecutar servicios Web y otras aplicaciones. Se compone de tres partes principales: El conjunto de lenguajes de programacin, La Biblioteca de Clases Base o BCL y El Entorno Comn de Ejecucin para Lenguajes o CLR por sus siglas en ingls.

Escuela Superior Privada de Tecnologa SENATI

7

Programacin Digital I

ENTORNO NET FRAMEWORKLa siguiente figura muestra un diagrama con la distribucin de elementos dentro del entorno de .NET Framework.

En la base del entorno de ejecucin, se encuentra el CLR, que constituye el ncleo de .NET Framework, encargndose de la gestin del cdigo en cuanto a su carga, ejecucin, manipulacin de memoria, seguridad, etc. En el nivel intermedio, se sita la jerarqua de clases bsicas del entorno de ejecucin, que constituyen un slido API de servicios a disposicin del programador, para multitud de tareas como, gestin del sistema de ficheros, manipulacin multihebra, acceso a datos, etc. Finalmente, en el nivel superior, encontramos las clases que permiten el diseo del interfaz de usuario de nuestras aplicaciones. Si necesitamos desarrollar aplicaciones para Internet, utilizaremos ASP.NET, que nos provee de todo lo necesario para crear aplicaciones para la Red: web forms, web services, etc. Adems la plataforma provee de un motor capaz de desarrollar aplicaciones para escritorio (similar a las que se puede obtener con Visual Basic). Estas aplicaciones de escritorio son los llamados Windows Forms, la nueva generacin de formularios, con caractersticas avanzadas y muy superiores a las del motor de generacin de formularios de obtenidos con versiones anteriores de Visual Basic.

Visual Studio .NETVisual Studio .net es un entorno de programacin integrado (IDE) desarrollado por Microsoft para el desarrollo de aplicaciones .NET. Este entorno cuenta con todo lo necesario para la creacin de aplicaciones, en esta gua se utilizar el entorno Visual Studio 2005 para realizar los ejercicios. Visual Studio no es el nico Ide para desarrollar aplicaciones .net, existen otros entornos alternativos entre los cuales podemos SharpDevelop. Los Windows Forms Windows Forms es el nombre que reciben las interfaces de usuarios creadas para ser utilizadas en aplicaciones de escritorio. Estas interfaces pueden ser diseadas a travs de los motores de construccin ofrecidos por

Escuela Superior Privada de Tecnologa SENATI

8

Programacin Digital IWindows Forms est constituido por multitud de clases especializadas que ofrecen aplicaciones de escritorio. Visual Studio ofrece todo lo necesario para crear visualmente este tipo de programas, de un modo similar aunque ms rico al que ofreca el entorno de desarrollo integrado de Visual Basic. Al contrario de Visual Basic 6, VB.NET ofrece control sobre cada control que se incorpore al Windows Form. Los formularios (ventanas) son clases que heredan de la clase base Form, cada control que se incorpore en la clase form ser miembro de esta. Otras consideraciones previas. Extensin de los ficheros de cdigo. En Visual Basic .NET a diferencia de lo que ocurra en las versiones anteriores de Visual Basic, slo existe un tipo de fichero de cdigo, el cual tiene la extensin .vb, en este tipo de fichero pueden coexistir distintos tipos de elementos, por ejemplo: un mdulo de clase, un formulario, un mdulo de cdigo, un control, etc.; mientras que en las versiones anteriores de Visual Basic, cada uno de estos elementos tenan su propio tipo de fichero con su respectiva extensin. Tipos de ejecutables. funcionalidades para el trabajo con ventanas, botones, rejillas, campos de texto y todo este tipo de controles habituales en las

Con Visual Basic .NET puedes crear bsicamente estos dos tipos de ejecutables: de consola, no grfico, al estilo del viejo MS-DOS, y grficos, como los que normalmente estamos acostumbrados a ver en Windows. Existen otros tipos de aplicaciones que se pueden crear con Visual Basic .NET: aplicaciones ASP.NET, las cuales sern tratadas en otra gua. Visual Basic .NET (VB.NET) es un lenguaje de programacin orientado a objetos que se puede considerar una evolucin de Visual Basic implementada sobre el framework .NET. Su introduccin result muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es compatible hacia atrs con Visual Basic, cosa que caus gran divisin en la comunidad de desarrolladores de Visual Basic. La gran mayora de programadores de VB.NET utilizan el entorno de programacin Microsoft Visual Studio .Net en alguna de sus versiones (Visual Studio .NET, Visual Studio .NET 2003 o Visual Studio .NET 2005), aunque existen otras alternativas, como SharpDevelop (que adems es libre). Como pasa con todos los lenguajes de programacin basados en .NET, los programas escritos en VB.NET requieren el Framework .NET para ejecutarse.

Escuela Superior Privada de Tecnologa SENATI

9

Programacin Digital I

VISUAL BASIC .NET 2008 Cuando se Iniciar el Visual Basic Net conocer el Entorno de Desarrollo Integrado (IDE) del Visual Basic 2005 Express es decir todas las ventanas y componentes que permitan el desarrollo de aplicaciones. Visual Studio .NET es un entorno de desarrollo integrado que nos ayuda a disear, desarrollar, depurar e implantar con rapidez soluciones basadas en el .NET Framework. Podemos acceder a un conjunto comn de herramientas, diseadores y editores desde cualquiera de los lenguajes de programacin de Visual Studio .NET. Podemos crear aplicaciones Windows Forms y Web Forms que integren datos y lgica de negocio.

Al ingresar por primera vez al Visual Basic Net observara la siguiente pantalla En esta pantalla se muestra principalmente la pgina de inicio con los proyectos reciente y as opciones para abrir

Escuela Superior Privada de Tecnologa SENATI

10

Programacin Digital Io crear un nuevo proyecto. Tambin se muestra las opciones para Abrir o Crear un nuevo proyecto. Tambin se muestra el cuadro de herramientas y el explorador de soluciones pero vacos porque no hay ningn proyecto activo.

Para visualizar todos los componentes de Visual Basic Net debe crear una aplicacin. CREAR UNA APLICACIN Para crear una aplicacin puede seguir cualquiera de los siguientes pasos: Elegir la opcin Archivo Nuevo Proyecto:

Hacer clic en el botn Nuevo Proyecto que se encuentra en la barra estndar.

Escuela Superior Privada de Tecnologa SENATI

11

Programacin Digital I

Visual Studio .NET ofrece varias plantillas de aplicaciones para soportar el desarrollo de diferentes tipos de aplicaciones y componentes. Antes de iniciar un nuevo proyecto, debemos escoger el tipo de plantilla que deseamos utilizar. Una plantilla de aplicacin proporciona archivos de inicio y una estructura de proyecto, y contiene los objetos bsicos del proyecto y la configuracin del entorno que necesitamos para crear el tipo de aplicacin que deseamos.

Plantilla Aplicacin WindowsEsta plantilla proporciona las herramientas, estructura y cdigo de inicio para crear una aplicacin estndar basada en Windows. Aade automticamente las referencias bsicas del proyecto y los archivos a utilizar como punto de partida para nuestra aplicacin.

Esta ventana contiene las plantillas instaladas de Visual Studio Net. En forma predeterminada se elige aplicacin para Windows.

En la caja de herramientas, escriba el nombre de su nueva aplicacin y presione Enter o haga clic en el botn Aceptar.

Escuela Superior Privada de Tecnologa SENATI

12

Programacin Digital I

ELEMENTOS DEL ENTORNO DE VISUAL STUDIO 2005 Mens y barras de herramientasAl crear una nueva aplicacin se visualiza la siguiente ventana que consisten en el IDE del Visual Basic .Net. En el ejemplo se ha creado una aplicacin llamada Windows Application1

Men principal Nuevo proyecto Cuadro de herramientas Diseador de Windows Forms

Ventana Propiedades

Escuela Superior Privada de Tecnologa SENATI

13

Programacin Digital I

Barra de TtuloContiene el nombre del proyecto y su estado. Cuando estamos en estado de diseo, es decir dibujando los controles o escribiendo las instrucciones, la barra slo muestra el nombre del proyecto.

Cuando ejecuta la aplicacin se muestra la palabra ejecutando en la barra de titulo. Durante este estado la aplicacin solo ejecutara las instrucciones indicadas y no se podr modificar las ni alterar el diseo de la aplicacin. Los siguientes botones que s encuentran en la barra estndar permiten iniciar, interrumpir, detener o depurar una aplicacin.

Tambin se puede ejecutar una aplicacin pulsando la tecla F5.

La Barra de MenLa barra de mens contienen todas las opciones que permiten utilizar el Visual Basic 2005 Express.

El Cuadro de HerramientasComo su nombre lo indica, este cuadro contiene todas las herramientas que se necesita para desarrollar las aplicaciones. Al pasar el puntero del Mouse por este cuadro se visualizan todas las herramientas. Si desea que el cuadro de herramientas est permanente en su pantalla, debe hacer clic en el botn Ocultar Automticamente.

Escuela Superior Privada de Tecnologa SENATI

14

Programacin Digital IEl Formulario

El formulario es el objeto principal de cada aplicacin porque aqu se construye la interfaz del usuario, es decir, la comunicacin del usuario con la aplicacin que se desarrolla. El desarrollo de una aplicacin consiste en agregar los formularios necesarios y asignarles sus propiedades luego dibujar los controles que cada uno ellos necesitan y asignarles tambin sus propiedades y finalmente escribir las instrucciones requeridas por la aplicacin. Cuando se crea una aplicacin, en forma predeterminada se crea un formulario llamado Form1.Para agregar nuevos formularios a su aplicacin puede elegir la Opcin Proyecto Agregar Windows Forms.

Escuela Superior Privada de Tecnologa SENATI

15

Programacin Digital IOtra forma de agregar formularios a una aplicacin es haciendo clic en el nombre del proyecto del explorador de soluciones y eligiendo la opcin Agregar Windows Forms. En la ventana que se visualiza selecciones Windows Forma y luego clic en el botn Agregar, si desea ,antes de hacer clic en el botn Agregar puede asignarle un nombre diferente al predeterminado del nuevo formulario. En el siguiente ejemplo se est agregando un nuevo formulario con el nombre frmejemplo por Form2.vb

Para eliminar un formulario haga clic derecho en su nombre en el explorador de soluciones y del men contextual que se visualiza elija la opcin Eliminar. Del mensaje que se visualiza, haga clic en el botn Aceptar para confirmar la eliminacin. Cuando se ejecuta el proyecto, se visualiza el primer formulario. Para indicar el formulario inicial seleccione el nombre de la aplicacin luego clic derecho, propiedades. Luego seleccione el nombre del formulario inicial.

Escuela Superior Privada de Tecnologa SENATI

16

Programacin Digital I

Barra de Mens

Men principal Barra de herramientas estndar

Nuevo proyecto

Guardar Form1.vb

Deshacer

La Ventana de PropiedadesEsta ventana, como su nombre lo indica, contiene todas las propiedades o caractersticas que se les pueden asignar a los controles que se dibujan en el formulario. Como en casi todas las ventanas, en la barra de ttulo se visualizan los botones que permiten: Indicar posicin de la ventana de la pantalla Indicar si la ventana se oculta en forma automtica Cerrar la ventana

Los botones

Permiten lo siguiente: Mostrar las propiedades o eventos ordenados por su categora Mostrar las propiedades o eventos ordenadas alfabticamente por su n nombre Ver slo las propiedades del objeto seleccionado Ver slo los eventos del objeto seleccionado

Escuela Superior Privada de Tecnologa SENATI

17

Programacin Digital I

El Explorador de Soluciones(CTRL + R)El explorador de servidores contiene todos los objetos que forman parte de nuestra aplicacin, como formularios, controles de usuarios, mdulos etc.

El explorador de soluciones muestra los siguientes botones:

Estos botones permiten: Mostrar las propiedades del archivo seleccionado Mostrar todos los archivos del proyecto Actualizar el explorador de soluciones Ingresar a la ventana de cdigo del objeto seleccionado Ver la ventana de diseo Ver diagrama de clase

Ventana de Cdigo

Escuela Superior Privada de Tecnologa SENATI

18

Programacin Digital I

Explorador de soluciones

Ventana de Diseo

Como en las versiones anteriores de Visual Basic, tambin se puede ingresar a la ventan de cdigo de un objeto pulsando la tecla F7 y para regresar a la ventan de diseo Shift+f7

CONFIGURAR EL VISUAL BASIC NET Si desea configurar el Visual Basic Net como por ejemplo cambiar el tipo, tamao, color de la letra de las instrucciones que escriba o el color del texto de cada comentario, etc. debe elegir la opcin Herramientas Opciones. Se visualiza una ventana con 2 opciones. 1.-Crear una Carpeta de trabajo en la unidad d:\Mis Proyectos 2,-Clic en herramientas, Opciones, Proyectos y soluciones Escoger la ruta de la carpeta de trabajo en; D:\mis proyectos

Escuela Superior Privada de Tecnologa SENATI

19

Programacin Digital I1. 2. 3. Ubicacin de proyectos de Visual Studio Ubicacin de plantillas de proyecto de usuario de Visual Studio Ubicacin de plantillas de elementos de usuario de Visual Studio

Clic en Archivo Nuevo Proyecto: observe lo siguiente:

Observe lo siguiente:

Escuela Superior Privada de Tecnologa SENATI

20

Programacin Digital I

Asigne las siguientes Propiedades: Propiedades Text Backcolor BackgroundImage Mi Primer Formulario InactiveCaptionText Imagen1

Cuadro de HerramientasPara observar el cuadro de herramientas pulsar las teclas ALT +CTRL +X Para ocultar el cuadro de herramientas hacer clic en el icono

Para ejecutar las aplicaciones

Ejecutar las aplicaciones Clic en Proyecto, Propiedades de WindowsApplication1 Se observa

Escuela Superior Privada de Tecnologa SENATI

21

Programacin Digital I

Elija Objeto inicial: Form1 Clic en el icono Ejecutar

Cdigo Diseador Explorador de Soluciones Ventana de Propiedades Cuadro de Herramientas Examinador de Objetos Ejecutar Application

F7 Shift + f7 CTRL + R, CTRL +ALT +L F4 CTRL+ALT+X F2 F5

Escuela Superior Privada de Tecnologa SENATI

22

Programacin Digital I

SESIN IIINSTRUCCIONES CONDICIONALESCONTENIDO

Primera Aplicacin Variables y Operadores Uso de Operadores

Operadores de Asignacin Operadores de Comparacin

Instrucciones Condicionales Instruccin SELECT CASEPRCTICA DE REFORZAMIENTO

Escuela Superior Privada de Tecnologa SENATI

23

Programacin Digital I

Nuestra primera aplicacin.Crear una aplicacion que muestre el siguiente formulario y luego de hacer clic en el boton aplicar se observe los siguientes mensajes como se muestran en la fig 2

Figura 1

Luego de hacer clic en aplicar

Figura 2

Procedimientoa)primero Realizamos el diseo del formulario b)Pulsar alt + ctrl + x para para usar el control etiqueta

Este control permite escribir titulos

Escuela Superior Privada de Tecnologa SENATI

24

Programacin Digital IY usar el control boton de comando para generar el boton de comando

Objeto Label1

Propiedad Name Font

Valor Label1 Microsoft Sans Serif, 36pt, style=Bold Label1 Microsoft Sans Serif, 36pt, style=Bold Button1 APLICAR

Label2

Nombre Font

Button1

Name Text

Propiedades de los controles del Formulario Establecer las siguientes propiedades de los controles Realize el siguiente cdigo

Pulse shift +F7 para pasar del formulario ala venatna de cdigo

Public Class Form4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = "BIENVENIDOS A VISUAL STUDIO " Label1.ForeColor = Color.Blue Label2.Text = "UCV SE MAS" Label2.ForeColor = Color.Brown End Sub End Class ExplicacinEn este ejemplo se aplica el evento clic al objeto Button1, el cual activa las propiedades de los 2 objetos: Label1 y Label 2 de la siguiente forma:

Label1.Text = "BIENVENIDOS A VISUAL STUDIO "

Objeto

propiedad 25

Escuela Superior Privada de Tecnologa SENATI

Programacin Digital I

La propiedad Text permite asignar el texto al Objeto La propiedad ForeColor permite asignar el color al Objeto

Agregue el siguiente botn SALIR ya gregue el codigo que se indica.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End SubEn este caso el formulario se identifica con Me y se le asigna el METODO close()

Segunda AplicacinOtra aplicacin ser un simple formulario con algunos elementos de escritorio comunes para ir familiarizando con el entorno. Abra el entorno de desarrollo visual studio y cree un nuevo proyecto (ctrl+n).

Escuela Superior Privada de Tecnologa SENATI

26

Programacin Digital I

En el cuadro de dialogo seleccione Windows application

En el cuadro de dialogo Name escriba alumnos y pinche el botn OK. El IDE inmediatamente creara el proyecto y nos mostrar una esto:

Escuela Superior Privada de Tecnologa SENATI

27

Programacin Digital I

En la cual se mostrar como pgina principal una pestaa que contendr el diseador visual con un formulario el cual el sistema habr llamado Form1. En la ventana de propiedades cambie el nombre a form_alumnos

Escuela Superior Privada de Tecnologa SENATI

28

Programacin Digital IAdems cambie la propiedad text a Registro de Alumnos y el tamao (size) a 800,600.Lo que acabamos de hacer es ajustar las propiedades del objeto form mediante el diseador. agregando controles a nuestro formulario. Desde la ventana de herramientas o toolbox podemos agregar distintos controles a nuestro formulario, esto lo podemos hacer pinchando el control que deseamos y arrastrndolo al formulario. Ingrese los siguientes controles a su formulario: 9 Etiquietas (Label) 6 cuadros de texto (TextBox) 1 cuadro de lista desplegable (combo box) 1 Calendario (DateTimePicker) Cambie la propiedad de cada Label con los siguientes nombres: RUN Nombre Ap. Paterno Ap.Materno Direccin Telfono Email Carrera Fecha de Ingreso Cambie la propiedad name de los text_box de la siguiente forma: Text_run Text_nombre Text_ap_pat Text_ap_mat Text_direccion Text_telefono Text_email

Cambie la propiedad nombre del combo box a cmb_carrera y la del DateTimerPicker a DTP_fec_ingreso. Distribuya estos controles de la siguiente Manera

Escuela Superior Privada de Tecnologa SENATI

29

Programacin Digital I

Presione el botn esto:

para ejecutar la aplicacin y ver como quedar nuestro formulario, debera ver algo similar a

Escuela Superior Privada de Tecnologa SENATI

30

Programacin Digital IHasta el momento no hemos utilizado absolutamente nada de cdigo, bueno, dependiendo de la ptica del programador, esto es una ventaja ya que el IDE nos permite crear en forma rpida una aplicacin. Hagamos algo ms interesante, agreguemos dos botones al formulario para utilizarlo como disparador de un eventos, para ello iremos nuevamente al toolbox y busquemos el control Button, ubiquemos uno debajo del combobox de carrera y cambiemos su nombre a btn_grabar y la la propiedad text a Grabar, el otro botn ubiqumoslo al costado derecho del botn Grabar y cambie su propiedad nombre a btn_Salir y su text a Salir. Como comentario aparte, Se han fijado que para dar el nombre a los controles hemos utilizado una nomeclatura comn?, por ejemplo Textbox1 lo llamamos Text_run, Combobox1 lo llamamos cmb_carrera, bueno, utilizar nomeclaturas comunes que identifiquen claramente el tipo de control y el campo o dato con el cual se est trabajando es una buena idea ya que nos permitir fcilmente identificar estos cuando estemos trabajando con cdigo. Sigamos con nuestra apliacion, hasta ahora no hemos utilizado nada de cdigo, asi que ya es hora de utilizar nuestras neuronas . Haga doble click en el botn btn_salir. Qu ha pasado?, se ha activado la pestaa de cdigo y auto-magicamente el cursor se ha ubicado entre estas lneas:

Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs) Handles btn_salir.Click End SubSe trata de un procedimiento cuyo nombre, btn_salir_Click, compuesto del nombre del control y del evento, lo proporciona automticamente el IDE. Recibe dos parmetros: sender y e, con informacin adicional proporcionada por el entorno. Pero lo verdaderamente importante est al final de la declaracin: Handles btn_salir_Click. La palabra clave Handles, seguida del nombre de un control, un punto y el nombre de un evento de ese control, le indica al entorno de .NET Framework que debe ejecutar este procedimiento cuando se produzca el evento para ese control. No realizaremos en este momento una explicacin ms detallada puesto que trataremos este aspecto con ms profundidad en temas posteriores del texto. Este procedimiento ser ejecutado cada vez que pulsemos el control btn_salir, por lo que si en tal situacin, queremos cerrar el formulario, slo ser necesario incluir la lnea de cdigo mostrada entre estas lneas. Me.Close() Presiona para ejecutar el programa, presiona el botn cerrar y observa que sucede.

Agreguemos algo de estilo a nuestro formulario. Para ello pondremos una imagen en el top de formulario con el Titulo de la aplicacin. Primero debemos hacer espacio para nuestra imagen, seleccione todos los controles y muvalos hacia abajo. Para ello mantenga presionado el botn derecho del mouse y seleccione los controles de formulario. Agregamos un Label a nuestro Formulario, y le agregamos las siguientes propiedades (en tiempo diseo):

Escuela Superior Privada de Tecnologa SENATI

31

Programacin Digital I Dock = Top Autosize = False En la propiedad Image, importamos una nueva imagen, yo ocup el logo de Ceduc , ustedes elijan el que gusten

y aceptamos: Cambiemos las siguientes propiedades: ImageAlign = MiddleLeft Text = [Titulo] TextAlign = MiddleRight Font = Microsoft Sans Serif, 18pt, style=Bold BackColor = Window Modifiers = Public

Nuestro formulario debera quedar ms o menos as:

Escuela Superior Privada de Tecnologa SENATI

32

Programacin Digital I

Agregando nuevos formularios al proyecto.Vamos a construir un formulario que nos servir de autentificacin para nuestra aplicacin. Para ello vamos a la pestaa Solution explorer y hagamos click con el botn derecho sobre el icono de nuestro proyecto, aparecer un men emergente, desde la opcin add seleccionemos Windows

form.

Ahora agregamos un nuevo formulario (Windows Form), frmLogin.vb. Y le agregamos los siguientes controles:

En el formulario frmLogin.cs, cambiamos la propiedad del control btnAceptar:

Escuela Superior Privada de Tecnologa SENATI

33

Programacin Digital I DialogResult = Ok Y en el control btnCancelar: DialogResult = Cancel

Y en el control txtPassword: UseSystemPasswordChar = Trae PasswordChar = * Y en el propio formulario cambiamos las siguientes propiedades: AcceptButton = btnAceptar CancelButton = btnCancelar

Ahora debemos hacer que nuestro formulario de autentificacin sea el principal en nuestro proyecto, para ello vamos nuevamente a la ventana del explorador de soluciones y seleccionamos nuestro proyecto haciendo doble click en el. En este instante se abrir el cuadro de propiedades de la aplicacin. En el cuadro de opciones startup form selecionaremos el formulario frmLogin:

Vamos nuevamente al formulario frmLogin y hacemos clic en el botn aceptar para acceder al cdigo del evento. Instanciaremos el formulario form_alumnos para llamarlo de la siguiente forma. Dim falumnos = New form_alumnos() falumnos.show()

Escuela Superior Privada de Tecnologa SENATI

34

Programacin Digital I

Variables y OperadoresUso de variables y operadores de VB.NET Variable Ubicacin de memoria temporal, se usan para almacenar datos. Una variable tiene un nombre y un tipo de dato. Ejemplo:

Dim NombreVariable tipoDatoTipos de Datos Datos que pueden albergar una variable. Tipo de datos Descripcin

Integer Long Short Byte Double Single Decimal Boolean Char String DateTime Object Numero entero 32 bits Numero entero 64 bits Numero Entero 16 bits Binarios o caracteres ASCII en numrico Decimales 64 bits Decimales de coma flotante 32 bits Decimales con coma como enteros 128 bits True o False nmeros de 16 bits Un carcter numero de 16 bits sin signo Alfanumricos Fechas y horas como entero de 64 bits Datos de cualquier tipo Declaracin de Variables Indicar su presencia a un programa. Sintaxis:

Dim NombreVariable [As Tipo]Ejermplos: Dim NumVar As Integer Dim StrVar As String

Escuela Superior Privada de Tecnologa SENATI

35

Programacin Digital I

Tambien se pueden declarar por medio de caracteres de tipo identificador. Dim StrVar$

Tipo Dato Integer Long Single Double

Carcter de identificacin % & ! #

Decimal StringNomenclatura de variables

@ $

Debe empezar por una letra.

No puede contener puntos ni caracteres de identificacin de tipo

No debe superar los 255 caracteres

Debe ser exclusivo dentro del mismo mbito (procedimiento, formulario o modulo).

Inicializacin de variables

De manera predeterminada una variable contienen un valor cuando se declara. Por ejemplo, una variable Integer contiene 0 y una variable Boolean almacena False. Ejemplos Dim NumVar As Integer Declaracin

NumVar=200

Inicializacin en 200

Dim NumVar As Integer =200

Declaracin e Inicializacin

Escuela Superior Privada de Tecnologa SENATI

36

Programacin Digital I

Crear una variable en momento de declaracin: NewDim permite declarar o crear variables, sin embargo las variables se crean cuando se utilizan o se inicializan. La sentencia New permite crear una variable en el momento de su declaracin. Ejemplos Dim NumVar As Integer NumVar = New Integer() Declaracin Creacin b) Declaracin y creacin Declaracin y creacin

Dim NumVar As Integer = New Integer() Dim NumVar As New Integer()

Disociar una variable de su tipo de dato: Nothing Nothing disocia una variable de su tipo de dato correspondiente. pOr ejemplo si se asinga Nothing a una variable de tipo Integer la variable pierde su valor y adopta el valor predeterminado de su tipo de datos. Ejemplo Dim Ctr Integer = 10 Ctr = Nothing Adopta 10 Adopta 0

Declaraciones implcitas y explicitas Se puede declarar variables implcita que permiten utilizar variables sin declararlas y explcitamente. Ejemplorcy Vilche [email protected] NumVar= 2*5 10 3

Se recomienda declarar explcitamente una variable. La instruccin Option Explicit garantiza que las variables se declaren antes de utilizarlas. Sintaxis Option Explicit On Off Por defecto es On

Escuela Superior Privada de Tecnologa SENATI

37

Programacin Digital I

Ambito de las variables El mbito determina su accesibilidad. En funcin a ello, una variable puede ser variable local o de nivel de modulo. Variable local, declaradas en un procedimiento. Variable de modulo, declaradas a nivel de la aplicacin o de mdulos de una aplicacin. A su vez se clasifican en privadas(solo en el modulo) y publicas(entre mdulos). Ejemplos Private Dim NumVar Integer Private NumVar As Integer Public Dim NumVar As Integer Public NumVar as Integer Conversin de Tipos Se dispone de dos tipos de conversiones:

Por ampliacin no generan perdidas de datos y siempre producen resultas satisfactorios.

Por ejemplo, Short a Integer

Por Reduccin, generan perdida de datos y en ocasiones insatisfactorios.

Por ejemplo, de Integer a Short

A su vez pueden ser conversiones explicitas(On) e implcitas(Off).

Option Strict [On Off] On comprueba los tipos de datos antes de la conversin. Off puede generar conversiones implcitas. El valor por defecto es On Nota: Cuando se define la instruccin Option Strict On, es necesario declarar las variables explcitamente. Constante Una variable cuyo valor no cambia durante la ejecucin de un programa. Const MaxPuntos As Integer = 100 Const MaxPuntos = 100

Escuela Superior Privada de Tecnologa SENATI

38

Programacin Digital I

Uso de OperadoresUn operador es una unidad de cdigo que realiza una operacin en una variable(s) o elementos. Tenemos los siguientes:

Aritmticos

Asignacin

Comparacin

Lgicos/ de bits

Concatenacin

Operadores AritmticosOperador ^ Descripcin Calcula la potencia Sintaxis Numero ^ Exponente * Multiplicar dos nmeros Numero1 * Numero2 / Dividir dos nmeros Numnero1 / Numero2 \ Mod Divide y devuelve un entero Devuelve el resto Numero1 \ Numero2 Numero1 Mod Numero2 12 Mod 4.3 3.4 200\3 5 Mod 2 1 8/3.5 (-3)^4 3.5*3.25 Ejemplo 2^3

+

Sumar dos nmeros o unir dos cadenas

Expresion1 + Expresion2 Numero1 Numero2

5.89+6.3 47.9 Mod 9.35 1.15 Hola+Mundo 23.6-8.3 15.3

-

Diferencia entre dos Nmeros

Escuela Superior Privada de Tecnologa SENATI

39

Programacin Digital I

Operadores de Asignacin

Operador =

Descripcin Asigna un valor o expresin a una variable o propiedad

Sintaxis Variable = Expresion

Ejemplo Num1 = 12

Costo = Precio Variable += Expresion Num1 * Cant = 10

+=

Asignacin de suma

-=

Asignacin de resta

Variable -= Expresion

Num1 +=20 Numero =5

*=

Asignacin de

Variable *=

Numero -=2 Numero = 6

Multiplicacin /= Asignacin de divisin

Expresion Variable /= Expresion

Numero *=2 Numero = 5.8

\=

Asignacin de divisin de enteros

Variable \= Expresion Variable &= Expresion

Numero /=2 Num= 8.4

&=

Asignacin de concatenacin

Num \=2 Cadena = Hola

^=

Asignacin de potencia

Numero ^= Exponente

Cadena &= Mundo = 2 Numero1

Numero1 ^=3

Escuela Superior Privada de Tecnologa SENATI

40

Programacin Digital I

Operadores de ComparacinPermiten comparar dos expresiones, el resultado es un valor booleano. Operador < >= = Is Descripcin Menor que Menor o igual que Mayor que Mayor o igual que Igual que No igual que Comparar dos referencias a Sintaxis Expresion1< Expresion2 Expresion1 Expresion2 Expresion1>= Expresion2 Expresion1= Expresion2 Expresion1 Expresion2 Objeto1 Is Ejemplo 23 < 30 56 3 78 >= 12 5=5 63 89 Dim Objeto1, Objeto2 As

PRAMAR .NET

Visual

Elementos del lenguaje. Variables y estructuras de datos

Introduccin a los tipos de datos

Tipo Visual Basic Net

Tamao de almacenamiento 2 bytes 8 bytes

Rango de Valores

Boolean Date

Verdadero o Falso 0:00:00 del 1 de enero de 0001 a 11:59:59 PM del 31 de diciembre de 9999 Hasta 29 dgitos significativos, con valores de hasta 7,9228 x 10 (con signo) -4,94065645841246544E-324 a +1,79769313486231570E+308 (con signo -2.147.483.648 a +2.147.483.647 (con signo

Decimal

16 bytes

Double

8 bytes

Integer

4 bytes

Single

4 bytes

-3,4028235E+38 a 1,401298E-45 (con signo) 0 a 2.000 millones aproximadamente de caracteres Unicode

String

Variant

Escuela Superior Privada de Tecnologa SENATI

41

Programacin Digital I

INSTRUCCIN CONDICIONALEstas instrucciones nos permiten tomar decisiones, permiten evaluar una expresin y ejecutar unas instrucciones en caso contrario ejecuta otras series de instrucciones

Sintaxis:Primera Forma: If Then Ejemplo: If a = b Then MessageBox(.Son Nmeros Iguales.) Si la expresin a evaluar de a = b devuelve o mejor dicho es verdadera, este nos mostrar un mensaje, con el texto de .Son Nmeros Iguales.. Segunda Forma: If Then End If Ejemplo: If b 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) End If Esta segunda forma, lo utilizamos cuando tengamos que hacer mas de una instruccin si la expresin a evaluar resulta verdadera, en este caso si a es mayo que b, si es verdadero este har la siguiente instruccin de a dividir entre b y el resultado guardarlo en una variable llamada Res, que despus la mostraremos en pantalla. Tercera Forma: If Then < Instruccin (si la expresin evaluada devuelve Verdadero)> Else < Instruccin (si la expresin evaluada devuelve Falso)>

Escuela Superior Privada de Tecnologa SENATI

42

Programacin Digital IEnd If Ejemplo: If b 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) Else Console.WriteLine("Error: Divisin Entre Cero") End If Esta forma nos permite utilizar los dos tipos de resultados de la expresin evaluada, por ejemplo, si b es diferente a cero este dividir a a, pero si es falso, nos mostrara un mensaje de Error. Cuarta Forma: If Then Else (todo en una misma lnea) Esta forma no tan muy usada, solo en los casos cuando hay que hacer una sola instruccin en cada tipo de respuesta de la expresin evaluada, por ejemplo, si a es igual b nos mostrar un mensaje de Nmeros Iguales, pero si es falso nos mostrara otro mensaje dicindonos que No son Nmeros iguales, y recuerden que es en una sola lnea. Quinta Forma: If Then < Instruccin (si la expresin evaluada devuelve Verdadero)> ElseIf Then < Instruccin (si la expresin evaluada devuelve Verdadero)> Else < Instruccin (si la expresin evaluada devuelve Falso)> End If Ejemplo: If b = 0 Then Console.WriteLine("Error: Divisin Entre Cero") ElseIf a b Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) Else Console.WriteLine("El Resultado de La Divisin es: 1") End If

Escuela Superior Privada de Tecnologa SENATI

43

Programacin Digital I

EJEMPLOS CON SENTENCIA CONDICIONAL(IF-THEN) Desarrollar una aplicacin con 4 ejercicios que permita realizar lo siguiente: Ejercicio1.- Ingresar las Notas de Un alumno y obtener su promedio

Vista Diseo del Formulario Principal Objeto Form1 Propiedad (Name) BackColor BackgroundImage BackgroundImageLayout Font Label1 (Name) Text Font ForeColor Button1 (Name) BackColor BackgroundImage BackgroundImageLayout Font Label1 Ejercicios de Visual Basic Net Valor Form1

Escuela Superior Privada de Tecnologa SENATI

44

Programacin Digital I

Vista Cdigo del Formulario Principal Clic en el primer botn, escriba el siguiente cdigo dentro del procedimiento que permite llamar a un formulario. Si queremos llamar a los formulario en modo Modal es decir, que solo se active el formulario priincipal,cuando cerramos el formulario secundario,debemos utilizar el metodo ShowDialog.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.ShowDialog() End SubLas siguientes instrucciones muestran el formulario form2 en modo Modal.

Vista Diseo del segundo formulario:

Declaracin de Variables

Se Requiere lo siguiente: El Ingreso del cdigo solo numrico El ingreso de apellidos y nombres y el curso solo letras Las notas deben ser valor numrico Obtener el Promedio

Escuela Superior Privada de Tecnologa SENATI

45

Programacin Digital I

FORMULARIOCuando se inicia el formulario el cursor debe ubicarse en el primer cuadro , en este aplicaremos al formulario el evento activated.

Private Sub Form2_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated TextBox1.Focus() End SubEn las Notas Las Notas deben cambiar de color si es aprobatorio color azul ,en caso contrario color rojo.

Aplicar en Textbox1 Evento:Changed

Private Sub TextBox1_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

If Val(TextBox1.Text) >= 11 Then TextBox1.ForeColor = Color.Blue Else TextBox1.ForeColor = Color.Red End If End SubAplicando Consistencia: Las Notas deben ser de valor Numrico

Aplicar en Textbox1 Evento:KeyPress

Private Sub TextBox1_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If (Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57) And Asc(e.KeyChar) 8 Then e.Handled = TrueEscuela Superior Privada de Tecnologa SENATI

End If

46

End Sub

Programacin Digital I

Escuela Superior Privada de Tecnologa SENATI

47

Programacin Digital I

CALCULOS Obtener el promedio escriba sub y la palabra promedio pulse enter luego digite el cdigo Para llamar procedimiento promedio utilizar:

Sub promedio() n1 = Val(TextBox1.Text) n2 = Val(TextBox2.Text) n3 = Val(TextBox3.Text) prom = (n1 + n2 + n3) / 3 TextBox4.Text = prom.ToString("##.00") If (prom >= 0 And prom < 10.5) Then PictureBox1.Image = WindowsApplication3.My.Resources.Resources.desaprobado MsgBox("Desaprobado") Else If (prom > 10.5 And prom 20 Then MsgBox("La nota debe estar entre 0 y 20", MsgBoxStyle.Exclamation, "verifique") TextBox1.Clear() TextBox1.Focus() Else TextBox2.Focus() End If End Sub

Escuela Superior Privada de Tecnologa SENATI

49

Programacin Digital I

INSTRUCCION SELECT CASETambin existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en estos casos o se usa una condicin compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instruccin SELECT CASE. Esta instruccin es una instruccin de decisin mltiple donde el compilador prueba o busca el valor contenido en una variable ENTERA, CHARACTER, STRING contra una lista de constantes apropiadas, es decir enteras, carcter o astringes, cuando el computador encuentra el valor de igualdad entre variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ltimo es opcional. El formato en visual BASIC net de esta instruccin es el siguiente; capturar o asignar variable de condicin Select Case variableopcion case const1 instruccion(es) case const2 instruccion(es) case const3 Instruccion(es) Case Else instruccion(es) End Select

Public Class Form4 Dim EDAD As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click EDAD = Val(TextBox1.Text) Select Case EDAD Case 0 To 9 Label2.Text = "INFANCIA" Case 10 To 13 Label2.Text = "NIEZ" Case 15, 16, 17 Label2.Text = "ADOLESCENCIAZ" Case 18 To 59 Label2.Text = "ADULTEZ" Case Is >= 60 Label2.Text = "ANCIANO" Case ElseEscuela Superior Privada de Tecnologa SENATI

50

Programacin Digital I

Label2.Text = "NO EXISTE" End Select End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

51

Programacin Digital I

LABORATORIOSLABORATORIO - 001

1.

Elaborar una aplicacin que permita ingresar el nombre de un usuario y que luego permita saludarlo en un Label.

Public Class Form1 Private Sub BtnSaludo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSaludo.Click 'Define la variable nombre y le asigna el valor ingresado Dim Nombre As String = TxtNombre.Text 'Alinea el texto del saludo al centro de la etiqueta LblSaludo.TextAlign = ContentAlignment.MiddleCenter 'Muestra el saludo LblSaludo.Text = "Hola: " & Chr(10) & Chr(13) & Nombre & Chr(10) & Chr(13) & Chr(10) _ & Chr(13) & "Bienvenido a Visual Basic 2005" End Sub Private Sub BtnCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCerrar.Click Close() End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

52

Programacin Digital I

LABORATORIO - 002

Elaborar una aplicacion que permita obtener el promedio de tres notas, mostrandome los puntos obtenidos (suma de las notas) y el promedio del mismo.

Public Class Form1 Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim Nota1, Nota2, Nota3, Puntos, Promedio As Single Nota1 = Single.Parse(TxtNota1.Text) Nota2 = Single.Parse(TxtNota2.Text) Nota3 = Single.Parse(TxtNota3.Text) Puntos = Nota1 + Nota2 + Nota3 Promedio = Puntos / 3 LblPuntos.Text = Puntos.ToString LblPromedio.Text = Promedio.ToString If Promedio >= 10.5 Then LblPromedio.ForeColor = Color.Blue Else LblPromedio.ForeColor = Color.Red End If End Sub Private Sub BtnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) TxtNombre.Text = "" TxtNota1.Text = "" TxtNota2.Text = "" TxtNota3.Text = "" LblPuntos.Text = "" LblPromedio.Text = "" TxtNombre.Focus()

Escuela Superior Privada de Tecnologa SENATI

53

Programacin Digital IEnd Sub End Class

LABORATORIO - 003Elaborar una aplicacin que permita mostrar el promedio de dos notas, este promedio se mostrara en un cuadro de mensaje, de la siguiente manera:

Public Class Form4 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim kb As Integer = 0 Dim seg As Integer = 0 Dim velocidad As Integer = 0 kb = 55 velocidad = kb / seg MsgBox(CStr(velocidad) & " kb por seg") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim aNumber As Integer = CInt(TextBox1.Text) Dim bNumber As Integer = CInt(TextBox2.Text) MsgBox(calculopromedio(aNumber, bNumber)) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = "" TextBox1.Text = "" habilitabotones() End Sub Sub deshabilitabotones() TextBox1.Enabled = False TextBox2.Enabled = False End Sub Sub habilitabotones()

Escuela Superior Privada de Tecnologa SENATI

54

Programacin Digital ITextBox1.Enabled = True TextBox2.Enabled = True End Sub Function calculopromedio(ByVal N1 As Integer, ByVal N2 As Integer) As Integer Return (N1 + N2) / 2 End Function End Class

Escuela Superior Privada de Tecnologa SENATI

55

Programacin Digital I

LABORATORIO - 004

2.

Elaborar una aplicacion que permita ingresar el nombre de un cliente asi como el monto consumido, luego al hacer click debera mostrar el importe del mismo acompaado del igv, mostrandose en los labels respectivos.

Public Class Form1 Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim Monto, Importe, Igv As Double Monto = Double.Parse(TxtMonto.Text) Importe = Monto / 1.19 Igv = Monto - Importe LblImporte.Text = Importe.ToString("###,##0.00") LblIgv.Text = Igv.ToString("###,##0.00") End Sub Private Sub BtnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) TxtCliente.Text = "" TxtMonto.Text = "" LblImporte.Text = "" LblIgv.Text = "" TxtCliente.Focus() End Sub Private Sub BtnCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Close() End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

56

Programacin Digital I

SESIN III TRABAJANDO CON CONTROLESCONTENIDO

ComboBox ListBox CheckBox RadioButton TabPage PRCTICA DE REFORZAMIENTO

Escuela Superior Privada de Tecnologa SENATI

57

Programacin Digital I

ComboBox (Control, formularios Windows Forms)El control ComboBox de los formularios Windows Forms se utiliza para mostrar datos en un cuadro combinado desplegable. De forma predeterminada, el control ComboBox aparece en dos partes: la parte superior es un cuadro de texto que permite al usuario escribir un elemento de la lista. La segunda parte es un cuadro de lista que muestra una lista de elementos, de los cuales el usuario puede seleccionar

Public Class Form7 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Select Case ComboBox1.SelectedIndex Case 0 TextBox1.Text = 1000 Case 1 TextBox1.Text = 2000 Case 2 TextBox1.Text = 3000 End Select End Sub

Escuela Superior Privada de Tecnologa SENATI

58

Programacin Digital I

Private Sub Form7_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ComboBox1.Items.Add("DIGITADOR") ComboBox1.Items.Add("PROGRAMADOR") ComboBox1.Items.Add("ANALISTA") End Sub End ClassEl control ComboBox de Visual Basic 6.0 se ha reemplazado por el control ComboBox de Windows Forms en Visual Basic 2005. Los nombres de algunas propiedades, mtodos, eventos y constantes son diferentes y, en algunos casos, existen diferencias de comportamiento. Diferencias conceptuales Change (Evento) En Visual Basic 6.0, el evento Change del control ComboBox se desencadena cuando se modifica el texto del control. El evento Change no se desencadena cuando se selecciona un elemento en la seccin de la lista del control. Si se modifica el texto de un elemento de la lista mediante programacin, no se desencadena el evento Change. En Visual Basic 2005, el evento Change ya no existe; el evento TextChanged se desencadena cada vez que el texto se modifica por alguna razn; por ejemplo:

Cuando se modifica la seccin de entrada de texto Cuando se selecciona un elemento de la lista Cuando se modifica un elemento de la lista mediante programacin Cuando se llama al mtodo AddItem

ItemData (Propiedad) En Visual Basic 6.0 la propiedad ItemData de un control ComboBox se puede establecer en tiempo de diseo en la ventana Propiedades para asociar un valor Integer con un elemento ComboBox. En Visual Basic 2005, la propiedad ItemData ya no existe. La biblioteca Microsoft.VisualBasic.Compatibility contiene una funcin SetItemData que se puede utilizar para asociar un valor Integer con un elemento; la funcin GetItemData se puede utilizar para recuperar el elemento. Locked (Propiedad) En Visual Basic 6.0, la propiedad Locked de un control ComboBox determina si se puede editar la seccin del cuadro de texto del control. En Visual Basic 2005, la propiedad Locked impide que un control se mueva en tiempo de diseo. No existe un equivalente directo para la propiedad Locked de Visual Basic 6.0; sin embargo, puede conseguir el mismo efecto si establece la propiedad DropDownStyle del control ComboBox en DropDownList. Nota En Visual Basic 6.0, si se establece la propiedad Locked en True, tambin se impedir que se modifique la seleccin. Para duplicar este comportamiento, puede cancelar la seleccin en el evento MouseDown.

Escuela Superior Privada de Tecnologa SENATI

59

Programacin Digital INewIndex (Propiedad) En Visual Basic 6.0, la propiedad NewIndex se usaba para recuperar el ndice del ltimo elemento agregado a un control ComboBox. En Visual Basic 2005, la propiedad NewIndex ya no existe. Puede utilizar el valor devuelto desde el mtodo Item.Add para recuperar el ndice de un elemento cuando ste se agrega. TopIndex (Propiedad) En Visual Basic 6.0, la propiedad TopIndex se utilizaba para devolver o establecer un valor que especificara el elemento del control ComboBox o ListBox que deba mostrarse en la posicin superior. Esta propiedad sola utilizarse para desplazarse por la lista sin seleccionar ningn elemento. En Visual Basic 2005, la propiedad ComboBox ya no es compatible con la propiedad TopIndex. En la mayora de los casos esto no debera representar un problema, porque al definir la propiedad TopIndex, no se producir ningn efecto visible a menos que se hubiera establecido la propiedad Style en 1 - SimpleCombo. En este caso, puede emular su comportamiento utilizando un control ListBox y un control TextBox; el control ListBox contina admitiendo la propiedad TopIndex. Scroll (Evento) El evento Scroll de Visual Basic 6.se utiliza junto con la propiedad TopIndex para llevar a cabo acciones cuando se desplaza por la lista. Visual Basic 2005 no admite el evento Scroll; sin embargo, en la mayora de los casos, el evento SelectedIndexChanged constituye un sustituto vlido. Otras diferencias Existen numerosas diferencias conceptuales que se aplican a todos los controles, como diferencias en los enlaces de datos, control de fuentes, operaciones de arrastrar y colocar, compatibilidad con Ayuda, y otras. Para obtener ms informacin, vea Conceptos de formularios Windows Forms para usuarios de Visual Basic 6.0. Cambios de cdigo para el control ComboBox En los ejemplos siguientes se muestran las diferencias que existen entre las tcnicas de codificacin de Visual Basic 6.0 y Visual Basic 2005. El cdigo se modifica para hacer que un control ComboBox sea de slo lectura El cdigo siguiente muestra cmo impedir que un usuario agregue nuevos elementos a un control ComboBox. Copiar cdigo ' Visual Basic 6.0 Combo1.Locked = True Visual Basic Copiar cdigo

Escuela Superior Privada de Tecnologa SENATI

60

Programacin Digital I' Visual Basic 2005 ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList El cdigo se modifica para seleccionar el ltimo elemento agregado en un control ComboBox El cdigo siguiente muestra cmo se establece la seleccin en un elemento que se ha agregado mediante programacin a un control ComboBox. Copiar cdigo ' Visual Basic 6.0 Combo1.AddItem "This is a new item" Combo1.ListIndex = Combo1.NewIndex Visual Basic Copiar cdigo ' Visual Basic 2005 Dim i As Integer i = ComboBox1.Items.Add("This is a new item") ComboBox1.SelectedIndex = i El cdigo de Private Sub se modifica para asociar datos de elementos El cdigo siguiente muestra cmo se asocia un nmero de empleado a cada empleado mostrado en un control ComboBox y cmo se recupera despus ese nmero en tiempo de ejecucin. Copiar cdigo ' Visual Basic 6.0 Private Sub Form_Load Combo1.AddItem "Nancy Davolio" Combo1.ItemData(Combo1.NewIndex) = 12345 Combo1.AddItem "Judy Phelps" Combo1.ItemData(Combo1.NewIndex) = 67890 End Sub Private Sub Combo1_Click() Label1.Caption = "Empoyee #" & _ CStr(Combo1.ItemData(Combo1.ListIndex)) End Sub Visual Basic Copiar cdigo ' Visual Basic 2005 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Nancy Davolio") Microsoft.VisualBasic.Compatibility.VB6. _ SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 12345) ComboBox1.Items.Add("Judy Phelps") Microsoft.VisualBasic.Compatibility.VB6. _ SetItemData(ComboBox1, ComboBox1.Items.Count() - 1, 67890)

Escuela Superior Privada de Tecnologa SENATI

61

Programacin Digital IEnd Sub Visual Basic Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Label1.Text = "Employee #" & CStr( _ Microsoft.VisualBasic.Compatibility.VB6. _ GetItemData(ComboBox1, ComboBox1.SelectedIndex)) End Sub

Escuela Superior Privada de Tecnologa SENATI

62

Programacin Digital I

Control ListBoxEl control ListBox permite aadir elementos en forma de lista y tambin poder seleccionar elementos de la misma para trabajar los datos. Este control permite seleccionar un elemento solo o varios de ellos, utilizando la propiedad Multiselect. La imagen de la izquierda muestra un ListBox en el que se selecciona un solo elemento y a la derecha se seleccionan varios: Algunas de sus propiedades. ListBox.Items.Add: Sirve para agregar informacin al control ListBox.SelectedIndex: Indica los elementos que han sido seleccionado en el control, (ojo) esta propiedad es una de las mas funcionales que tiene este control, ya que, no da una perspectiva completa de la informacin que tenemos almacenada en el mismo. ListBox.Items.RemoveAt: Remueve o elimina la informacin seleccionada en el mismo. ListBox.Sorted: Esta propiedad es de tipo Boolean (Verdadero o Falso), nos sirve para ordenar alfabticamente (A hasta Z) la informacin contenida en el control.

Public Class Form8 Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ListBox1.Items.Add("DIGITADOR") ListBox1.Items.Add("PROGRANADOR") ListBox1.Items.Add("ANALISTA") End Sub Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged Select Case ListBox1.SelectedIndexEscuela Superior Privada de Tecnologa SENATI

63

Programacin Digital I

Case 0 TextBox1.Text = 1200 Case 1 TextBox1.Text = 2500 Case 2 TextBox1.Text = 4500 End Select End Sub End ClassEjercicio 2

Public Class Form1 'Aqui valido que no quede entradas en blanco Private Sub btnAgregar_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnAgregar.Click If Me.txtNombre.Text = "" Then MessageBox.Show("El Nombre esta en blanco", "Datos en blanco") Me.txtNombre.Focus() Exit SubEscuela Superior Privada de Tecnologa SENATI

64

Programacin Digital I

Else If Me.txtDireccion.Text = "" Then MessageBox.Show("La Direccion esta en blanco", "Datos en blanco") Me.txtDireccion.Focus() Exit Sub Else If Me.txtTelefono.Text = "" Then MessageBox.Show("El Telefono esta en blanco", "Datos en blanco") Me.txtTelefono.Focus() Exit Sub Else 'Agrego a la lista Me.lstLista.Items.Add(Me.txtNombre.Text.Trim _ & " " & "---" & " " & Me.txtDireccion.Text.Trim _ & " " & "---" & " " & Me.txtTelefono.Text.Trim) 'Limpio las entradas Me.txtNombre.Clear() Me.txtDireccion.Clear() Me.txtTelefono.Clear() 'Enfoco Me.txtNombre.Focus() End If End If End If End Sub Private Sub btnEliminar_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnEliminar.Click 'Aqui eliminamos los datos del ListBox If Me.lstLista.SelectedIndex -1 Then Me.lstLista.Items.RemoveAt(Me.lstLista.SelectedIndex) MessageBox.Show("El Dato ha sido borrado", "Dato borrado") Exit Sub Else MessageBox.Show("Debe seleccionar para poder borrar", "Seleccione el dato") End If End Sub

Escuela Superior Privada de Tecnologa SENATI

65

Programacin Digital I

Private Sub btnSalir_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSalir.Click 'Aqui mandamos a salir Application.Exit() End Sub Private Sub Llenar_Lista() 'Aqui creamos un metodo para llenar la lista With Me.lstLista.Items .Add("Carlos Perez --- La Vega --- 8095286969") .Add("Roman Fernandez --- Santiago --- 8094715896") .Add("Juan Fco. --- Santiago --- 8094718494") .Add("Alberto Fernandez --- La Vega --- 8093256969") .Add("Adalberto Perez --- San Cristobal --- 8098526969") End With End Sub Private Sub btnLlenar_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnLlenar.Click 'Aqui llamamos el metodo Call Llenar_Lista() 'Mandamos a ordenar Me.lstLista.Sorted = True End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

66

Programacin Digital I

BackColor

Obtiene o establece el color de fondo del control.

Checked

Obtiene o establece un valor que indica si el estado de la casilla de verificacin es el de activada. Obtiene o establece un valor que indica si el control puede responder a la interaccin del usuario. Obtiene o establece la fuente del texto que muestra el control. Obtiene o establece el color de primer plano del control. Obtiene o establece el texto asociado al control.

Enabled

Font ForeColor Text

-

Se utiliza un control CheckBox para dar al usuario una opcin del tipo verdadero/falso o s/no. El control de la casilla de verificacin puede mostrar una imagen o texto o ambos. Se utiliza la propiedad Checked para obtener o establecer el valor de un control de casilla de verificacin de dos estados.

-

Focus Establece el foco de entrada en el control.

Hide Refresh

Oculta el control al usuario. Obliga al control a invalidar su rea cliente y, acto seguido, obliga a que vuelva a dibujarse el control y sus controles secundarios.

Escuela Superior Privada de Tecnologa SENATI

67

Programacin Digital I

Show

Muestra el control al usuario.

Escuela Superior Privada de Tecnologa SENATI

68

Programacin Digital I

Public Class Form5 Dim sueldo, bon, descuento, neto As Single Private Sub Opcion1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Form2.Show() End Sub Private Sub Opcion2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Form4.Show() End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If CheckBox1.Checked = True Then sueldo = 1500 TextBox1.Text = sueldo Else sueldo = 0 TextBox1.Text = sueldo End If

Escuela Superior Privada de Tecnologa SENATI

69

Programacin Digital I

End Sub

Escuela Superior Privada de Tecnologa SENATI

70

Programacin Digital I

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If CheckBox2.Checked = True Then bon = 500 TextBox2.Text = bon Else bon = 0 TextBox2.Text = bon End If End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If CheckBox3.Checked = True Then descuento = 345 TextBox3.Text = descuento Else descuento = 0 TextBox3.Text = descuento

End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click neto = sueldo + bon - descuento TextBox4.Text = neto.ToString("##.00") End Sub

Escuela Superior Privada de Tecnologa SENATI

71

Programacin Digital I

Private Sub Form5_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load sueldo = 0 bon = 0 descuento = 0 neto = 0 End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

72

Programacin Digital I

Control Radiobutton

-

Ofrece opciones que el usuario puede activar o desactivar, pero solamente una opcin si existe un grupo de RadioButton. El control RadioButton puede mostrar texto, Imagen o ambos. Cuando el usuario selecciona un botn de opcin en un grupo, los dems se desactivan automticamente. Se utiliza la propiedad Checked para obtener o establecer el estado de un RadioButton. Ofrece opciones que el usuario puede activar o desactivar, pero solamente una opcin si existe un grupo de RadioButton. El control RadioButton puede mostrar texto, Imagen o ambos. Cuando el usuario selecciona un botn de opcin en un grupo, los dems se desactivan automticamente. Se utiliza la propiedad Checked para obtener o establecer el estado de un RadioButton.

-

-

-

-

PROPIEDADES

BackColor CheckAlign

Obtiene o establece el color de fondo del control. Obtiene o establece la ubicacin de la parte de casilla de verificacin del control de botn de opcin. Obtiene o establece un valor que indica si el control est activado. Obtiene o establece un valor que indica si el control puede responder a la interaccin del usuario. Obtiene o establece la fuente del texto que muestra el control. Obtiene o establece el color de primer plano del control. Obtiene o establece el nombre del control. Obtiene o establece el texto asociado al control. Obtiene o establece un valor que indica si se muestra el control.

Checked

Enabled

Font ForeColor Name Text Visible

Escuela Superior Privada de Tecnologa SENATI

73

Programacin Digital I

Focus Hide Refresh

Establece el foco de entrada en el control. Oculta el control al usuario. Obliga al control a invalidar su rea cliente y, acto seguido, obliga a que vuelva a dibujarse el control y sus controles secundarios. Sobrecargado. Activa un control. Muestra el control al usuario. Hace que el control vuelva a dibujar las regiones no vlidas en su rea de cliente.

MTODOS

Select Show Update

Public Class Form6 Dim SUELDO As Single Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Enabled = True Then SUELDO = 960 TextBox1.Text = SUELDO End If

Escuela Superior Privada de Tecnologa SENATI

74

Programacin Digital I

End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged If RadioButton2.Enabled = True Then SUELDO = 2500 TextBox1.Text = SUELDO End If End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged If RadioButton3.Enabled = True Then SUELDO = 3500 TextBox1.Text = SUELDO End If End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

75

Programacin Digital I

TAB PAGE Este control permite visualizar las fichas de un control

Public Class Form9 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call visibilidad() TabPage1.BackColor = Color.BlanchedAlmond Label6.Text = "DATOS REGISTRADOS" Label7.Text = TextBox1.Text Label8.Text = TextBox2.Text Label9.Text = TextBox3.Text Label10.Text = TextBox4.Text Label11.Text = ComboBox1.Text End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub

Escuela Superior Privada de Tecnologa SENATI

76

Programacin Digital I

Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label6.Visible = False Label7.Visible = False Label8.Visible = False Label9.Visible = False Label10.Visible = False Label11.Visible = False ComboBox1.Items.Add("DIGITADOR") ComboBox1.Items.Add("PROGRAMADOR") ComboBox1.Items.Add("ANALISTA") TabPage1.Text = "DATOS PERSONALISIMOS" TabPage2.Text = "ESTUDIOS" TabPage3.Text = "RESUMEN" TabPage1.BackColor = Color.BlanchedAlmond TabPage2.BackColor = Color.White TabPage3.BackColor = Color.Chartreuse End Sub Sub visibilidad() Label6.Visible = True Label7.Visible = True Label8.Visible = True Label9.Visible = True Label10.Visible = True Label11.Visible = True End Sub

Escuela Superior Privada de Tecnologa SENATI

77

Programacin Digital I

LABORATORIOSLABORATORIO - 001 Se desea elaborar una aplicacin que me permita mostrar el Neto a Pagar en el sueldo de un empleado para ello debemos tomar en cuenta lo siguiente: Si hacemos click en el Check de Bon Mov, se debera tomar en cuenta: El basico va a Depender del Cargo: Cargo Analista Programador Operador Digitador Secretaria Bon Mov es el 2% del Basico Si es Bon Ref es el 1% del Basico El Sueldo Bruto es la Suma del Basico mas las Bonificaciones esta se mostrara en el Label14. El Adelanto es el 3% del Basico, la AFP es el 13% del Basico, Otros es el 7% del Basico, por lo tanto el total de Descuentos es : Adelanto + AFP + Otros esto se mostrara en el Label15. El Neto es Bruto TotalDescuentos. Basico 2800 2000 1600 1250 1000

El diseo de la ventana tendra el siguiente aspecto:

Escuela Superior Privada de Tecnologa SENATI

78

Programacin Digital I

LABORATORIO - 002

Elaborar una aplicacin que permita ingresar el Nombre, Edad y Estado Civil asi como su Turno, cuando presionemos Agregar este se visualizara en las Listas respectivas. Luego si deseamos eliminar a uno de los elementos de la lista, debemos seleccionarla y luego hacer clic en el boton Quitar. Del mismo modo cuando se haga clic en Limpiar todos los controles se borraran.

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click Dim Nombre, Casado, Turno As String Dim Edad As Byte If TxtNombre.Text.Trim = "" Then MessageBox.Show("Ingrese el Nombre", "Por Favor") TxtNombre.Focus() Exit Sub End If If RbMaana.Checked = False And RbTarde.Checked = False And RbNoche.Checked = False Then MessageBox.Show("Seleccione el Turno", "Por Favor") Exit Sub End If 'Cambia el nombre a maysculas Nombre = TxtNombre.Text.ToUpper() Edad = UpEdad3.Value If CkCasado.Checked = True Then Casado = "Si" Else Casado = "No"

Escuela Superior Privada de Tecnologa SENATI

79

Programacin Digital IEnd If If RbMaana.Checked = True Then Turno = "Maana" ElseIf RbTarde.Checked = True Then Turno = "Tarde" Else Turno = "Noche" End If LbNombre.Items.Add(Nombre) LbEdad.Items.Add(Edad.ToString) LbTurno.Items.Add(Turno) LbCasado.Items.Add(Casado) TxtNombre.Clear() UpEdad3.Value = 18 CkCasado.Checked = False RbMaana.Checked = False RbTarde.Checked = False RbNoche.Checked = False TxtNombre.Focus() End Sub Private Sub LbNombre_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LbNombre.SelectedIndexChanged Seleccionar(LbNombre.SelectedIndex) End Sub Private Sub LbEdad_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LbEdad.SelectedIndexChanged Seleccionar(LbEdad.SelectedIndex) End Sub Private Sub LbTurno_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LbTurno.SelectedIndexChanged Seleccionar(LbTurno.SelectedIndex) End Sub Private Sub LbCasado_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LbCasado.SelectedIndexChanged Seleccionar(LbCasado.SelectedIndex) End Sub Private Sub BtnQuitar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnQuitar.Click If LbNombre.SelectedIndex < 0 Then MessageBox.Show("Seleccione un elemento", "Para Quitar", MessageBoxButtons.OK, MessageBoxIcon.Information) Else Quitar(LbNombre.SelectedIndex)

Escuela Superior Privada de Tecnologa SENATI

80

Programacin Digital IEnd If End Sub Private Sub BtnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLimpiar.Click LbNombre.Items.Clear() LbTurno.Items.Clear() LbEdad.Items.Clear() LbCasado.Items.Clear() End Sub Sub Seleccionar(ByVal Elemento As Integer) LbNombre.SelectedIndex = Elemento LbTurno.SelectedIndex = Elemento LbEdad.SelectedIndex = Elemento LbCasado.SelectedIndex = Elemento End Sub Sub Quitar(ByVal Elemento As Integer) LbNombre.Items.RemoveAt(Elemento) LbTurno.Items.RemoveAt(Elemento) LbEdad.Items.RemoveAt(Elemento) LbCasado.Items.RemoveAt(Elemento) End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

81

Programacin Digital I

LABORATORIO - 003Elaborar una aplicacin que permita ingresar :

Nombre de una Persona Seleccionar el Sexo de una persona Seleccionar el Estado Civil Ingresar la Edad.

Cuando se ingresa la Edad y se presiona ENTER, se mostrara la informacion ingresada y seleccionada en las listas respectivamente, y al mismo tiempo se debera mostrar Los Nros que solicitan en la parte inferior.

List: Masculino Femenino List: Soltero Casado Viudo Divorciado Conviviente

Escuela Superior Privada de Tecnologa SENATI

82

Programacin Digital I

LABORATORIO - 004Elaborar una aplicacin que permita ingresar : Nombre de una Persona Seleccionar el Turno Seleccionar el Ciclo Seleccionar la Especialidad Seleccionar los datos Adicionales.

Se debera tomar en cuenta las siguientes alternativas : ESPECIALIDADES Contabilidad Computacion 290 290 310 320 260 270 280 280 295 295 340 340

Turno Maana Tarde Noche

Ciclo I , II y III IV, V ,VI I , II y III IV, V ,VI I , II y III IV, V ,VI

Turismo 280 300 250 270 284 320

Secretariado 285 315 265 270 290 325

Los precios se mostrara en la Caja de Texto Mensualidad, asi mismo cuando seleccionamos un dato Adicional esta se acumulara en la caja de texto Pago Adicional. El Descuento sera de la siguiente manera : Turno Maana Tarde Noche Descuento 2% de la Suma (Mensualidad + Adicional) 3% de la Suma (Mensualidad + Adicional) 4% de la Suma (Mensualidad + Adicional)

List : Maana Tarde Noche List : I II III IV V VI

Escuela Superior Privada de Tecnologa SENATI

83

Programacin Digital I

SESIN IV PROCESOS REPETITIVOSCONTENIDO

For/Next For Each While/End While Do/Loop Estructuras PRCTICA DE REFORZAMIENTO

Escuela Superior Privada de Tecnologa SENATI

84

Programacin Digital I

PROCESOS REPETITIVOSLos procesos repetitivos o llamados bucles, se utilizan para repetir el o los cdigos, un numero determinado de veces, para esto usaremos el For, que nos permitir repetir un numero determinado de veces el cdigo. For / Next Con este tipo de bucle podemos repetir un cdigo un nmero determinado de veces. Sintaxis: For = To [Step ] 'contenido del bucle, lo que se va a repetir Next Primera Forma: Una de las formas mas utilizadas. For i = 1 To 10 'contar de 1 hasta 10 'la variable i tomar los valores 1, 2, 3, etc. Next Segunda Forma: Esta forma se utiliza para decirle como va a incrementar, ya sea como el ejemplo de 2 en 2. For i = 1 To 100 Step 2 'contar desde 1 hasta 100 (realmente 99) de 2 en 2 'la variable i tomar los valores 1, 3, 5, etc. Next Tercera Forma: Cuando queremos que un bucle sea en decreciente solo bastar darle un valor negativo, al nmero, como en el ejemplo, queremos que en vez que avance del 1 al 10 queremos que este vaya del 10 al 1. For i = 10 To 1 Step -1 'contar desde 10 hasta 1 'la variable i tomar los valores 10, 9, 8, etc. Next

Escuela Superior Privada de Tecnologa SENATI

85

Programacin Digital I

For Each Este bucle repetir o iterar por cada uno de los elementos contenidos en una coleccin. Sintaxis: For Each In 'Lo que se har mientras se repita el bucle Next Ejemplo: Dim s As String For Each s In "Hola Mundo" Console.WriteLine(s) Next Console.ReadLine() Este bucle recorre cada uno de los caracteres de una cadena, en este caso recorrer cada carcter de la cadena s (Hola Mundo)., comenzando por la H y de ah la o y as hasta la ultima o de la palabra Mundo. Las estructuras repetitivas o llamados tambin bucles, se utilizan para repetir el o los cdigos, hasta que la expresin evaluada de un valor de Falso. While / End While Se repete mientras se cumpla la expresin lgica que se indicar despus de While Sintaxis: While Lo que haya que hacer mientras se cumpla la expresin End While Ejemplo: While i < 10 Console.WriteLine(i) i=i+1 End While

Escuela Superior Privada de Tecnologa SENATI

86

Programacin Digital IEste cdigo escribira el valor de i hasta que el valor de i tome el valor de 10 Do / Loop Este tipo de bucle es muy parecido al anterior. Si se utiliza slo con esas dos instrucciones, este tipo de bucle no acabar nunca y repetir todo lo que haya entre Do y Loop. Pero este tipo de bucle se puede usar con dos instrucciones que nos permitirn evaluar expresiones lgicas: While y Until Pero no debemos confundir este While con el While/End While que acabamos de ver anteriormente. La ventaja de usar While o Until con los bucles Do/Loop es que estas dos instrucciones podemos usarlas tanto junto a Do como junto a Loop, la diferencia est en que si los usamos con Do, la evaluacin se har antes de empezar el bucle, mientras que si se usan con Loop, la evaluacin se har despus de que el bucle se repita al menos una vez. Sintaxis: Primera Forma: Este bucle evala al principio, mejor dicho realizara el cdigo o las instrucciones un numero que digamos que sea n veces. Do While Instruccin Loop Segunda Forma: Este bucle evala al final, mejor dicho realizara el cdigo o las instrucciones n veces. Do Instruccin Loop While Tercera Forma: Este bucle evala al principio, a diferencia que el primero realizara el cdigo siempre y cuando la expresin sea falsa, mejor dicho realizara el cdigo o las instrucciones n veces. Do Until Instruccin Loop Cuarta Forma: Este bucle evalua al final, a diferencia que el segundo realizara el cdigo siempre y cuando la expresin sea falsa, mejor dicho realizara el cdigo o las instrucciones n 1 veces Do Instruccin

Escuela Superior Privada de Tecnologa SENATI

87

Programacin Digital ILoop Until

Ejemplo con PROCESOS REPETITIVOS

Public Class Form10 Dim I As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click I=0 While (I = 11 Then cadena = "ESTAS APROBADO" Else cadena = "ESTAS DESAPROBADO" End If Call MENSAJE(cadena) End Sub Sub MENSAJE(ByVal TEXTO As String) MsgBox(TEXTO) End Sub End Class

Escuela Superior Privada de Tecnologa SENATI

98

Programacin Digital I

ARREGLOSUno de los problemas mas comunes en los diversos sistemas de informacion es el tratamiento o procesamiento de una gran volumen de datos o de informacin. Las variables usadas hasta ahora reciben propiamente el nombre de variables escalares porque solo permiten almacenar o procesar un dato a la vez. Por ejemplo si se quiere almacenar nombre y edad de 15 personas con el metodo tradicional se ocuparan 30 variables y solo es nombre y edad de 15 personas, agreguen mas datos y mas personas y ya es tiempo de empezar a analizar otro tipo de variables. Es decir, en problemas que exigen manejar mucha informacin o datos a la vez, variables escalares no son suficientes ya que su principal problema es que solo permiten almacenar y procesar un dato a la vez. Se ocupan entonces variables que sean capaces de almacenar y manipular conjuntos de datos a la vez. Variables de tipo arreglo si permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez. Cada dato dentro del arreglo se le conoce como elemento del arreglo y se simboliza y procesa (captura, operacion, despliegue ) usando el nombre del arreglo respectivo y un subindice indicando la posicion relativa del elemento con respecto a los demas elementos del arreglo, solo recordar que en VISUAL BASIC 2005 la primera posicion, elemento o renglon es el 0 (cero), ej. NOMBRES Juan >nombres(0) Pedro nombres(1)

Rosa > nombres(2) Jose > nombres(3) Sin embargo sus problemas son similares a los de variables normales es decir hay que declararlos, capturarlos, hacer operaciones con ellos, desplegarlos, compararlos, etc. En programacion tradicional siempre se manejan dos tipos de arreglos los arreglos tipo listas, vectores o unidimensionales y los arreglos tipo tablas, cuadros, concentrados, matrices o bidimensionales en ambos casos son variables que permiten almacenar un conjunto de datos del mismo tipo a la vez, su diferencia es en la cantidad de columnas que cada uno de estos tipos contiene, como en los siguientes ejemplos: a) LISTAS DE EDADES

18 34 22B) TABLAS DE SUCURSALES

15

Escuela Superior Privada de Tecnologa SENATI

99

Programacin Digital ISUC A 10 20 30 SUC B 50 60 70 40 80

SUC D 90 100 110 120

Como se observa la diferencia principal entre un arreglo tipo lista y un arreglo tipo tabla son las cantidades de columnas que contienen.

ARREGLO TIPO LISTAUn arreglo tipo lista se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o ms renglones. Tambin reciben el nombre de vectores en algebra o arreglos unidimensionales en programacin. Los procesos normales con una lista o con sus elementos incluyen declarar toda la lista, capturar sus elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc. Para declarar una lista se usa el siguiente formato; SHARED DIM NOMLISTA(CANT ELEMENTOS -1) AS TIPODATO Shared(compartido), se usa cuando la lista se tenga que compartir entre varias subrutinas, observar que cada botn de comando en un programa empieza con sub-end sub, si un programa tiene varias subrutinas que compartan la misma lista, dicha lista deber ser SHARED. La cantidad de elementos-1, significa que si se quiere una lista de 5 ciudades por ejemplo su declaracin ser shared dim ciudad(4) as string, la razn de esto es que visual basic empieza una lista por el elemento o rengln cero(0), por tanto cuando se pide crear una lista de 4 ciudades, visual basic net le agrega el renglon o elemento 0, que en total darian 5 ciudade. Es tambin importante recordar que un arreglo en visual basic net es realmente un objeto derivado de la clase SYSTEM.ARRAY. Recordar tambin que como objeto arreglo, tambin puede usar una serie de mtodos pertenecientes a dicha clase system.array, los metodos principales de dicha clase y por tanto de los arreglos derivados de la misma son: Public Methods BinarySearch Overloaded. Searches a one-dimensional sorted Array for a value, using a binary search algorithm. Clear Sets a range of elements in the Array to zero, to false, or to a null reference (Nothing in Visual Basic), depending on the element type. Clone Creates a shallow copy of the Array. Copy Overloaded. Copies a section of one Array to another Array and performs type casting and boxing as required. CopyTo Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array starting at the specified destination Array index. CreateInstance Overloaded. Initializes a new instance of the Array class. Equals (inherited from Object) Overloaded. Determines whether two Object instances are equal. GetEnumerator Returns an IEnumerator for the Array. GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.

Escuela Superior Privada de Tecnologa SENATI

100

Programacin Digital IGetLength Gets the number of elements in the specified dimension of the Array

Escuela Superior Privada de Tecnologa SENATI

101

Programacin Digital IGetLowerBound Gets the lower bound of the specified dimension in the Array. GetType (inherited from Object) Gets the Type of the current instance. GetUpperBound Gets the upper bound of the specified dimension in the Array. GetValue Overloaded. Gets the value of the specified element in the current Array. IndexOf Overloaded. Returns the index of the first occurrence of a value in a one-dimensional Array or in a portion of the Array. Initialize Initializes every element of the value-type Array by calling the default constructor of the value type. LastIndexOf Overloaded. Returns the index of the last occurrence of a value in a one-dimensional Array or in a portion of the Array. Reverse Overloaded. Reverses the order of the elements in a one-dimensional Array or in a portion of the Array. SetValue Overloaded. Sets the specified element in the current Array to the specified value. Sort Overloaded. Sorts the elements in one-dimensional Array objects. ToString (inherited from Object) Returns a String that represents the current Object. FUENTE: Ayuda Microsoft Net notas: En visual Basic 2005 recordar que la primera posicion o renglon en una lista es la posicion o renglon 0 (cero). El dato capturado, proviene de momento de un componente escalar textbox y/o se usan tantos de estos controles como elementos tenga el arreglo o mas facil aun se debera controlar la captura de elementos usando algun algoritmo sencillo de validacion como lo muestra el programa ejemplo.

Public Class Form1 Shared EDADARR(4) As Integer ' DECLARANDO RENG COMO GLOBAL Dim RENG As Integer Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated EDAD.Focus()

Escuela Superior Privada de Tecnologa SENATI

102

Programacin Digital I

End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load EDAD.Focus() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' LIMPIANDO LISTAS LISTA1.Items.Clear() LISTA2.Items.Clear() ' CARGANDO LISTA ORIGINAL CON EDAD CAPTURADA For RENG = 0 To 4 LISTA1.Items.Add(EDADARR(RENG)) Next ' A MESES Y Y DESPLEGANDO For RENG = 0 To 4 EDADARR(RENG) = EDADARR(RENG) * 12 LISTA2.Items.Add(EDADARR(RENG)) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' EN ESTE MODULO SOLO SE TRABAJA CON EL ARREGLO ' EN MEMORIA EDAD.Focus() LISTA1.Items.Add(EDAD.Text) Label2.Text = RENG

If RENG = 5 Then EDAD.Visible = False RENG = 0 End If End Sub End Class

Notas:Observar que en el programa el arreglo edad y la variable rengln se declararon de tipo GLOBAL porque los dos mtodos el de captura y el de operacin-despliegue, las estn compartiendo. Adems observar que se declararon antes de los eventos clickButton, para crearlos como objetos globales. Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez se deber usar un ciclo for con una variable entera llamada rengln, misma que tambin se usa como indice de la lista. Recordar que todos los datos internos de la lista estarn almacenados en la memoria ram del computador, para despliegues se usa un componente visual que permite manipular un conjunto de datos a la vez, el ListBox con sus mtodos apropiados pero se tiene que usar un ciclo for para ir anadiendo o agregando elemento por elemento como se observa en el problema ejemplo que se ha venido desarrollando, en este caso se quiere desplegar las cinco edades convertidas a meses. La ultima instruccin y muy importante es poner en cero las variables de control de ciclos o ndice de arreglos, esto es porque el servidor mantiene el programa ejecutndose continuamente en memoria y si se vuelve a