0% encontró este documento útil (0 votos)
66 vistas198 páginas

Manual Visual Basic .NET: Guía Completa

El documento es un manual sobre Visual Basic .NET, que cubre herramientas de desarrollo de software y el entorno de programación Visual Studio. Se abordan temas como instrucciones condicionales, controles, procesos repetitivos, procedimientos, arreglos, excepciones, menús, bases de datos y ADO.NET. El objetivo es proporcionar a los estudiantes una guía completa sobre las características y aplicaciones del lenguaje Visual Basic .NET y su framework asociado.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas198 páginas

Manual Visual Basic .NET: Guía Completa

El documento es un manual sobre Visual Basic .NET, que cubre herramientas de desarrollo de software y el entorno de programación Visual Studio. Se abordan temas como instrucciones condicionales, controles, procesos repetitivos, procedimientos, arreglos, excepciones, menús, bases de datos y ADO.NET. El objetivo es proporcionar a los estudiantes una guía completa sobre las características y aplicaciones del lenguaje Visual Basic .NET y su framework asociado.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

2023

MANUAL VISUAL NET


Lenguaje de Programación
Computación – Herramientas de Desarrollo de Software
1 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

TEMÁTICA DE DESARROLLO
SESIÓN 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 2008........................................12

SESIÓN II: INSTRUCCIONES CONDICIONALES

 Primera Aplicación......................................................................................23
 Variables y Operadores...............................................................................34
 Uso de Operadores
 Operadores de Asignación.................................................38
 Operadores de Comparación.............................................38
 Instrucciones Condicionales........................................................................41
 Instrucción SELECT CASE..............................................................48
 Laboratorio…......................................................................................................50

SESIÓN 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

SESIÓN 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

Semestre 2025 - I 1
2 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESION VI: EXCEPCIONES Y MENUES

 Control de Excepciones................................................................................97
 Menús en Visual Basic NET y 2008.............................................................101
 Laboratorios........................................................................................................................110

SESIÓN VII: BASE DE DATOS

 Base de Datos Relacional...........................................................................112


 LENGUAJE SQL............................................................................................116
 Laboratorios........................................................................................................................119

SESIÓN VIII: ADO NET

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

Semestre 2025 - I 2
3 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

INTRODUCCIÓN

Visual [Link] es la evolución de Visual Basic, el popular lenguaje de programación de Microsoft.


A diferencia de sus antecesores, Visual [Link] 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 programación orientado a objetos, por lo que es
necesario tener algunas nociones de este tipo de programación.

La siguiente guía pretende ilustrar al estudiante sobre las características más importantes del
lenguaje, el FRAMEWORK que lo soporta y los distintos tipos de aplicaciones que podemos lograr
con él.

Semestre 2025 - I 3
4 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN I EL
IDE DEL VISUAL BASIC .NET
CONTENIDO

 Conceptos Generales
 MICROSOFT NET FRAMEWORK
 Entorno NET FRAMEWORK
 Visual Studio NET
 Elementos del Entorno de VISUAL STUDIO 2008
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 4
5 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

CONCEPTOS GENERALES
MICROSOFT .N
ET
[Link] es una nueva tecnología que responde a la necesidad de
comunicación total entre negocios de sistemas heterogéneos y con gran capacidad de
procesamiento.

Microsoft .Net proporciona todas las herramientas y tecnologías para construir


Aplicaciones Web Distribuidas usando protocolos Web estándares tales como HTTP
(Hipertexto Transfer Protocolo), XML (extensible Markup Languaje) y SOAP (Simple
Object Access Protocol).

Las aplicaciones creadas en la plataforma .NET podrán ser usadas por un gran
número 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.

La plataforma .NET de Microsoft es un componente de software que puede ser


añadido al sistema operativo Windows. Provee un extenso conjunto de soluciones
predefinidas para necesidades generales de la programación de aplicaciones, y administra
la ejecución de los programas escritos específicamente con la plataforma. Esta solución es
el producto principal en la oferta de Microsoft, y pretende ser utilizada por la mayoría de
las aplicaciones creadas para la plataforma Windows.

MICROSOFT .NET FRAMEWORK

Lo 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 [Link]"

Lo que dice el MSDN Library.

"El .NET Framework es un entorno multilenguaje para la construcción, distribución y


ejecución de Servicios Webs y aplicaciones."

"El .NET Framework es una nueva plataforma diseñada 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 librerÌa de clases .NET Framework."

El .NET Framework es el corazón de .NET, cualquier cosa que queramos hacer


en cualquier lenguaje .NET debe pasar por el filtro cualquiera de las partes integrantes
del .NET Framework.

Basándose en la definición 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 programación,
La Biblioteca de Clases Base o BCL y El Entorno Común de Ejecución para Lenguajes o CLR por
sus siglas en inglés”.

Semestre 2025 - I 5
6 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ENTORNO NET FRAMEWORK

La siguiente figura muestra un diagrama con la distribución de elementos dentro del entorno de .NET
Framework.

En la base del entorno de ejecución, se encuentra el CLR, que constituye el núcleo de .NET
Framework, encargándose de la gestión del código en cuanto a su carga, ejecución, manipulación
de memoria, seguridad, etc. En el nivel intermedio, se sitúa la jerarquía de clases básicas del
entorno de ejecución, que constituyen un sólido API de servicios a disposición del programador,
para multitud de tareas como, gestión del sistema de ficheros, manipulación multihebra, acceso a
datos, etc. Finalmente, en el nivel superior, encontramos las clases que permiten el diseño del
interfaz de usuario de nuestras aplicaciones. Si necesitamos desarrollar aplicaciones para Internet,
utilizaremos [Link], que nos provee de todo lo necesario para crear aplicaciones para la Red:
WEB FORMS, WEB SERVICES, etc. Además 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 generación de formularios,
con características avanzadas y muy superiores a las del motor de generación de formularios de
obtenidos con versiones anteriores de Visual Basic.

Visual Studio .NET


Visual Studio .net es un entorno de programación integrado (IDE) desarrollado por Microsoft para el
desarrollo de aplicaciones .NET. Este entorno cuenta con todo lo necesario para la creación de
aplicaciones, en esta guía se utilizará el entorno Visual Studio 2008 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 diseñadas a través de los motores de
construcción ofrecidos por Windows Forms está constituido por multitud de clases especializadas

Semestre 2025 - I 6
que ofrecen funcionalidades para el trabajo con

Semestre 2025 - I 7
7 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ventanas, botones, rejillas, campos de texto y todo este tipo de


controles habituales en las aplicaciones de escritorio.

Visual Studio ofrece todo lo necesario para crear visualmente este tipo de programas, de un modo
similar aunque más rico al que ofrecía el entorno de desarrollo integrado de Visual Basic.

Al contrario de Visual Basic 6, [Link] 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.


 Extensión de los ficheros de código.
En Visual Basic .NET a diferencia de lo que ocurría en las versiones anteriores de Visual Basic,
sólo existe un tipo de fichero de código, el cual tiene la extensión .vb, en este tipo de fichero
pueden coexistir distintos tipos de elementos, por ejemplo: un módulo de clase, un formulario,
un módulo de código, un control, etc.; mientras que en las versiones anteriores de Visual Basic,
cada uno de estos elementos tenían su propio tipo de fichero con su respectiva extensión.

 Tipos de ejecutables.
Con Visual Basic .NET puedes crear básicamente estos dos tipos de ejecutables: de consola, no
gráfico, al estilo del viejo MS-DOS, y gráficos, como los que normalmente estamos
acostumbrados a ver en Windows. Existen otros tipos de aplicaciones que se pueden crear con
Visual Basic .NET: aplicaciones [Link], las cuales serán tratadas en otra guía.

Visual Basic .NET ([Link]): Es un lenguaje de programación orientado a objetos que se puede
considerar una evolución de Visual Basic implementada sobre el framework .NET. Su introducción
resultó muy controvertida, ya que debido a cambios significativos en el lenguaje [Link] no es
compatible hacia atrás con Visual Basic, cosa que causó gran división en la comunidad de
desarrolladores de Visual Basic.
La gran mayoría de programadores de [Link] utilizan el entorno de programación Microsoft Visual
Studio .Net en alguna de sus versiones (Visual Studio .NET, Visual Studio .NET 2003 o Visual
Studio .NET 2008), aunque existen otras alternativas, como SharpDevelop (que además es libre).
Como pasa con todos los lenguajes de programación basados en .NET, los programas escritos en
[Link] requieren el Framework .NET para ejecutarse.

Semestre 2025 - I 8
9 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

VISUAL BASIC .NET 2008

Cuando se Iniciar el Visual Basic Net conocerá el Entorno de Desarrollo Integrado (IDE) del Visual
Basic 2008 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 diseñar, desarrollar,
depurar e implantar con rapidez soluciones basadas en el .NET Framework. Podemos acceder a un
conjunto común de herramientas, diseñadores y editores desde cualquiera de los lenguajes de
programación de Visual Studio .NET. Podemos crear aplicaciones Windows Forms y Web Forms que
integren datos y lógica de negocio.

Al ingresar por primera vez al Visual Basic Net observara la siguiente pantalla

En esta pantalla se muestra principalmente la página de inicio con los proyectos reciente y as
opciones para abrir o crear un nuevo proyecto. También se muestra las opciones para Abrir o Crear
un nuevo proyecto. También se muestra el cuadro de herramientas y el explorador de soluciones
pero vacíos porque no hay ningún proyecto activo.

Semestre 2025 - I 9
10 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Para visualizar todos los componentes de Visual Basic Net debe crear una aplicación.

CREAR UNA APLICACIÓN

Para crear una aplicación puede seguir cualquiera de los siguientes

pasos: Elegir la opción Archivo Nuevo Proyecto:

Hacer clic en el botón Nuevo Proyecto que se encuentra en la barra estándar.

Semestre 2025 - I 10
11 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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 aplicación proporciona archivos de inicio y una estructura de proyecto, y contiene
los objetos básicos del proyecto y la configuración del entorno que necesitamos para crear el tipo
de aplicación que deseamos.

Plantilla Aplicación Windows

Esta plantilla proporciona las herramientas, estructura y código de inicio para crear una aplicación
estándar basada en Windows. Añade automáticamente las referencias básicas del proyecto y los
archivos a utilizar como punto de partida para nuestra aplicación.

Esta ventana contiene las plantillas instaladas de Visual Studio Net. En


forma predeterminada se elige aplicación para Windows.

En la caja de herramientas, escriba el nombre de su nueva aplicación y presione ENTER

o haga clic en el botón Aceptar.

Semestre 2025 - I 11
12 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ELEMENTOS DEL ENTORNO DE VISUAL STUDIO 2008

Menús y barras de herramientas

Al crear una nueva aplicación se visualiza la siguiente ventana que consisten en el IDE del Visual
Basic .Net. En el ejemplo se ha creado una aplicación llamada Windows Application1

Menú principal Nuevo proyecto


Cuadro de herramientas
Diseñador de Windows
Forms

Ventana
Propiedad
es

Semestre 2025 - I 12
13 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Barra de Título

Contiene el nombre del proyecto y su estado. Cuando estamos en estado de diseño, es decir
dibujando los controles o escribiendo las instrucciones, la barra sólo muestra el nombre del
proyecto.

Cuando ejecuta la aplicación se muestra la palabra ejecutando en la barra de titulo.

Durante este estado la aplicación solo ejecutara las instrucciones indicadas y no se podrá
modificar las ni alterar el diseño de la aplicación.

Los siguientes botones que s encuentran en la barra estándar permiten iniciar, interrumpir,
detener o depurar una aplicación.

Semestre 2025 - I 13
13 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

También se puede ejecutar una aplicación pulsando la tecla F5.

La Barra de Menú

La barra de menús contienen todas las opciones que


permiten utilizar el Visual Basic 2008 Express.

El Cuadro de Herramientas

Como 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 botón
Ocultar Automáticamente.

El Formulario

El formulario es el objeto principal de cada aplicación porque aquí se construye la interfaz del
usuario, es decir, la comunicación del usuario con la aplicación que se desarrolla.

El desarrollo de una aplicación consiste en agregar los formularios necesarios y asignarles sus propiedades

Semestre 2025 - I 14
luego

Semestre 2025 - I 15
14 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

dibujar los controles que cada uno ellos necesitan y asignarles


también sus propiedades y finalmente escribir las instrucciones
requeridas por la aplicación.

Cuando se crea una aplicación, en forma predeterminada se crea un formulario llamado


[Link] agregar nuevos formularios a su aplicación puede elegir la Opción Proyecto Agregar
Windows Forms.

Otra forma de agregar formularios a una aplicación es haciendo clic en el nombre del proyecto del
explorador de soluciones y eligiendo la opción Agregar Windows Forms.

En la ventana que se visualiza selecciones Windows Forma y luego clic en el botón Agregar, si
desea, antes de hacer clic en el botón Agregar puede asignarle un nombre diferente al
predeterminado del nuevo formulario. En el siguiente ejemplo se está agregando un nuevo

formulario con el nombre frm ejemplo por [Link]

Para eliminar un formulario haga clic derecho en su nombre en el


explorador de soluciones y del menú contextual que se visualiza elija la
opción Eliminar. Del mensaje que se visualiza, haga clic en el botón
Aceptar para confirmar la eliminación. Cuando se ejecuta el proyecto, se
visualiza el primer formulario. Para indicar el formulario inicial seleccione
el nombre de la aplicación luego clic derecho, propiedades. Luego
seleccione el nombre del formulario inicial.

Semestre 2025 - I 16
17 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Barra de Menús

Menú principal

Barra de herramientas estándar

Guardar [Link]
Nuevo proyecto Deshacer

La Ventana de Propiedades

Esta ventana, como su nombre lo indica, contiene todas las propiedades o características que
se les pueden asignar a los controles que se dibujan en el formulario.

Como en casi todas las ventanas, en la barra de título se visualizan los botones que permiten:

 Indicar posición de la ventana de la pantalla


 Indicar si la ventana se oculta en forma automática
 Cerrar la
ventana Los botones

Permiten lo siguiente:

 Mostrar las propiedades o eventos ordenados por su categoría


 Mostrar las propiedades o eventos ordenadas
alfabéticamente por su n nombre
 Ver sólo las propiedades del objeto seleccionado
 Ver sólo los eventos del objeto seleccionado

El Explorador de Soluciones (CTRL + R)

El explorador de servidores contiene todos los objetos que forman


parte de nuestra aplicación, como formularios, controles de usuarios,
módulos etc.

Semestre 2025 - I 17
18 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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 código del objeto seleccionado
 Ver la ventana de diseño
 Ver diagrama de clase

Ventana de Código

Semestre 2025 - I 18
19 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Explorador de soluciones

Ventana de Diseño

Como en las versiones anteriores de


Visual Basic, también se puede ingresar a
la ventana de código de un objeto
pulsando la tecla F7 y para regresar a la
ventana de diseño Shift+f7

CONFIGURAR EL VISUAL BASIC NET

Si desea configurar el Visual Basic Net como por ejemplo cambiar el tipo, tamaño, color de la letra
de las instrucciones que escriba o el color del texto de cada comentario, etc. debe elegir la opción
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

Semestre 2025 - I 19
20 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

1. Ubicación de proyectos de Visual Studio


2. Ubicación de plantillas de proyecto de usuario de Visual Studio
3. Ubicación de plantillas de elementos de usuario de
Visual Studio Clic en Archivo Nuevo Proyecto: observe lo siguiente:

Observe lo siguiente:

Semestre 2025 - I 20
21 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Asigne las siguientes Propiedades:

Propiedad
es
Text Mi Primer Formulario

Backcolor InactiveCaptionText

BackgroundImage Imagen1

Cuadro de Herramientas

Para 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
 Elija Objeto inicial: Form1

 Clic en el icono Ejecutar

Semestre 2025 - I 21
22 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

PROCESO Tecla
Rápida
Código F7

Diseñador Shift + f7

Explorador de Soluciones CTRL + R, CTRL +ALT +L

Ventana de Propiedades F4

Cuadro de Herramientas CTRL+ALT+X

Examinador de Objetos F2

Ejecutar Application F5

Semestre 2025 - I 22
21 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN II
INSTRUCCIONES CONDICIONALES
CONTENIDO

 Primera Aplicación
 Variables y Operadores
 Uso de Operadores
 Operadores de Asignación
 Operadores de Comparación
 Instrucciones Condicionales
 Instrucción SELECT CASE
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 23
22 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Nuestra primera aplicación.


Crear una aplicación que muestre el siguiente formulario y luego de hacer clic en el botón aplicar
se observe los siguientes mensajes como se muestran en la fig 2

Figura 1

Luego de hacer clic en aplicar

Figura 2

Procedimiento

primero Realizamos el diseño del formulario

Pulsar alt + ctrl + x para usar el control etiqueta

Este control permite escribir títulos


Y usar el control botón de comando para generar el botón de comando

Semestre 2025 - I 24
23 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Objeto Propiedad Valor


Label1 Name Label1
Font Microsoft Sans Serif, 36pt, style=Bold
Label2 Nombre Label1
Font Microsoft Sans Serif, 36pt, style=Bold
Button1 Name Button1
Text APLICAR

Propiedades de los controles del Formulario

Establecer las siguientes propiedades de los controles

Realize el siguiente código

 Pulse shift +F7 para pasar del formulario ala venatna de código

Public Class Form4

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

[Link] = "BIENVENIDOS A VISUAL STUDIO "

[Link] =

[Link] [Link] =

"UCV SE MAS"

[Link] =

[Link]

End

Sub End

Class

Explicación

En 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:

[Link] = "BIENVENIDOS A VISUAL STUDIO "

Objeto propiedad

Semestre 2025 - I 25
23 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

 La propiedad Text permite asignar el texto al Objeto


 La propiedad ForeColor permite asignar el color al Objeto

Semestre 2025 - I 26
24 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Agregue el siguiente botón SALIR ya agregue el código que se indica.

Private Sub Button2_Click(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] [Link]()

End Sub

En este caso el formulario se identifica con Me y se le asigna el METODO close()

Segunda Aplicación

Otra aplicación 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).

Semestre 2025 - I 27
28 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

En el cuadro de dialogo seleccione “Windows application”

En el cuadro de dialogo Name escriba “alumnos” y pinche el botón OK. El IDE inmediatamente
creara el proyecto y nos mostrará una esto:

En la cual se mostrará como página principal una pestaña que contendrá el diseñador visual con un
formulario el cual el sistema habrá llamado Form1. En la ventana de propiedades cambie el
nombre a form_alumnos

Semestre 2025 - I 28
29 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Además cambie la propiedad text a “Registro de Alumnos” y el tamaño (size) a 800,[Link] que
acabamos de hacer es ajustar las propiedades del objeto form mediante el diseñador. 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 arrastrándolo 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
 [Link]
 Dirección
 Teléfono
 Email
 Carrera
 Fecha de Ingreso

Cambie la propiedad name de los text_box de la siguiente forma:

 Text_run

Semestre 2025 - I 29
30 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

 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:

Presione el botón para ejecutar la aplicación y ver cómo quedará nuestro formulario, debería
ver algo similar a esto:

Semestre 2025 - I 30
31 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Hasta el momento no hemos utilizado absolutamente nada de código, bueno, dependiendo de la


óptica del programador, esto es una ventaja ya que el IDE nos permite crear en forma rápida una
aplicación.

Hagamos algo más 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
propiedad text a “Grabar”, el otro botón ubiquémoslo al costado derecho del botón 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 nomenclatura común?, por ejemplo Textbox1 lo llamamos Text_run, Combobox1 lo llamamos
cmb_carrera, bueno, utilizar nomenclaturas 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á fácilmente
identificar estos cuando estemos trabajando con código.

Sigamos con nuestra aplicación, hasta ahora no hemos utilizado nada de código, así que ya es hora
de utilizar nuestras neuronas . Haga doble clic en el botón btn_salir. ¿Qué ha pasado?, se ha
activado la pestaña de código y auto-mágicamente el cursor se ha ubicado entre estas líneas:

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles btn_salir.Click

End Sub

Se trata de un procedimiento cuyo nombre, btn_salir_Click, compuesto del nombre del control y del
evento, lo proporciona automáticamente el IDE. Recibe dos parámetros: sender y e, con
información adicional proporcionada por el entorno. Pero lo verdaderamente importante está al
final de la declaración: “Handles btn_salir_Click”. La palabra clave Handles, seguida del nombre de
un control, un punto y el nombre de un evento

Semestre 2025 - I 31
32 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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 explicación más detallada puesto que trataremos este aspecto con más profundidad
en temas posteriores del texto. Este procedimiento será ejecutado cada vez que pulsemos el
control btn_salir, por lo que si en tal situación, queremos cerrar el formulario, sólo será
necesario incluir la línea de código mostrada entre estas líneas.

[Link]()

Presiona para ejecutar el programa, presiona el botón 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 aplicación.

Primero debemos “hacer espacio” para nuestra imagen, seleccione todos los controles y muévalos
hacia abajo. Para ello mantenga presionado el botón derecho del mouse y seleccione los controles
de formulario.

Agregamos un Label a nuestro Formulario, y le agregamos las siguientes propiedades (en tiempo diseño):

 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]

Semestre 2025 - I 32
33 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

 TextAlign = MiddleRight
 Font = Microsoft Sans Serif, 18pt, style=Bold
 BackColor = Window
 Modifiers = Public

Nuestro formulario debería quedar más o menos así:

Agregando nuevos formularios al proyecto.


Vamos a construir un formulario que nos servirá de autentificación para nuestra aplicación. Para
ello vamos a la pestaña “Solution explorer” y hagamos clic con el botón derecho sobre el icono de
nuestro proyecto, aparecerá un menú emergente, desde la opción add seleccionemos Windows
Form.

Semestre 2025 - I 33
34 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Ahora agregamos un nuevo formulario (Windows Form), [Link]. Y le agregamos los

siguientes controles: En el formulario [Link], cambiamos la propiedad del control btnAceptar:

 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 autentificación sea el principal en nuestro
proyecto, para ello vamos nuevamente a la ventana del explorador de soluciones y seleccionamos
nuestro proyecto haciendo doble clic en el. En este instante se abrirá el cuadro de propiedades de
la aplicación. En el cuadro de opciones “startup form” selecionaremos el formulario frmLogin:

Semestre 2025 - I 34
35 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Vamos nuevamente al formulario frmLogin y hacemos clic en el botón aceptar para acceder al
código del evento. Instanciaremos el formulario form_alumnos para llamarlo de la siguiente forma.

Dim falumnos = New form_alumnos()

[Link]()

Semestre 2025 - I 35
36 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Variables y Operadores

Uso de variables y operadores de [Link]

Variable

Ubicación de memoria temporal, se usan para almacenar datos. Una

variable tiene un nombre y un tipo de dato. Ejemplo:

Dim NombreVariable tipoDato

Tipos de Datos

Datos que pueden albergar una variable.

Tipo de datos Descripción

Integer Long Short Byte Double Single Decimal Boolean

Char String DateTime

Object

Numero entero 32 bits Número entero 64 bits Número Entero

16 bits Binarios o caracteres ASCII en numérico

Decimales 64 bits

Decimales de coma flotante 32 bits Decimales con coma como enteros 128 bits
True o False números de 16 bits

Un carácter numero de 16 bits sin

signo Alfanuméricos

Fechas y horas como entero de

64 bits Datos de cualquier tipo

Declaración de Variables

Indicar su presencia a un programa. Sintaxis:

Dim NombreVariable [As Tipo]

Ejermplos:

Dim NumVar As

Integer Dim StrVar

As String

Semestre 2025 - I 36
37 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Tambien se pueden declarar por medio de caracteres

de tipo identificador. Dim StrVar$

Tipo Dato Carácter de identificación

Integer %

Long &

Single !

Double #

Decimal @

String $
Nomenclatura de variables

 Debe empezar por una letra.

 No puede contener puntos ni caracteres de identificación de tipo

 No debe superar los 255 caracteres

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

Inicialización 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.

Ejemplo

Dim NumVar As Integer‘Declaración

NumVar=200 ‘Inicialización en 200

Dim NumVar As Integer =200 ‘Declaración e Inicialización

Semestre 2025 - I 37
35 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Crear una variable en momento de declaración: New

Dim 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 declaración.

Ejemplos

Dim NumVar As Integer

‘Declaraci

ón NumVar = New Integer()

‘Creación b)

Dim NumVar As Integer = New Integer() ‘Declaración y creación

Dim NumVar As New Integer() ‘Declaración y creación

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 ‘Adopta

10 Ctr = Nothing ‘Adopta

0 Declaraciones implícitas y

explicitas

Se puede declarar variables implícita que permiten utilizar variables sin declararlas y
explícitamente.

Ejemplo:

NumVar= 2*5 ‘10

Se recomienda declarar explícitamente una variable.

La instrucción Option Explicit garantiza que las variables se declaren antes de utilizarlas.

Sintaxis

Option Explicit On

Off Por defecto es

On

Semestre 2025 - I 38
36 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Ámbito de las variables

El ámbito determina su accesibilidad. En función 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 aplicación o de módulos de una aplicación. A su vez


se clasifican en privadas (solo en el modulo) y publicas (entre módulos).

Ejemplos

Private Dim NumVar Integer Private


NumVar As Integer Public Dim
NumVar As Integer Public NumVar as
Integer

Conversión de Tipos

Se dispone de dos tipos de conversiones:

 Por ampliación no generan perdidas de datos y siempre producen resultas


satisfactorios. Por ejemplo, Short a Integer

 Por Reducción, generan perdida de datos y en ocasiones


insatisfactorios. Por ejemplo, de Integer a Short

A su vez pueden ser conversiones explicitas (On) e implícitas (Off).

Option Strict [On Off]

On comprueba los tipos de datos antes de la conversión. Off puede generar

conversiones implícitas. El valor por defecto es On

Nota: Cuando se define la instrucción Option Strict On, es necesario declarar las variables explícitamente.

Constante

Una variable cuyo valor no cambia durante la ejecución de un

programa. Const MaxPuntos As Integer = 100

Const MaxPuntos = 100

Semestre 2025 - I 39
37 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Uso de Operadores
Un operador es una unidad de código que realiza una operación en una variable(s) o

elementos. Tenemos los siguientes:

 Aritméticos
 Asignación
 Comparación
 Lógicos/ de bits
 Concatenación

Operadores Aritméticos

Operador Descripción Sintaxis Ejemplo

^ Calcula la potencia Numero 2^3

Exponent

* Multiplicar dos números Numero1 * 3.5*3.25

Numero2

/ Dividir dos números Numnero1 / 8/3.5

Numero2

\ Divide y devuelve un Numero1 \ 200\3

Mod Devuelve el resto Numero1 Mod 5 Mod 2 ‘1

Numero2

12 Mod 4.3 ‘3.4

+ Sumar dos números o Expresion1 5.89+6.3

unir dos cadenas +

Expresion2

- Diferencia entre dos Numero1 – 23.6-8.3 ’15.3

Números Numero2

Semestre 2025 - I 40
38 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Operadores de Asignación

Operador Descripción Sintaxis Ejemplo

= Asigna un valor o Variable Num1 = 12

expresión a una =
variable o propiedad
Expresio Costo = Precio

+= Asignación de suma Variable Num1 = 10

+=

Expresion

-= Asignación de resta Variable - Numero =5

Expresion

*= Asignación de Variable *= Numero = 6

Multiplicación Expresion Numero *=2

/= Asignación de división Variable / Numero = 5.8

Expresion

\= Asignación de Variable \ Num= 8.4

división de enteros =

Expresion

&= Asignación Variable Cadena

de &= =

concatenaci Expresion “Hola”

ón

Cadena &=”
^= Asignación de potencia Numero Numero1 = 2

^=

Exponent

Semestre 2025 - I 41
39 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Operadores de Comparación

Permiten comparar dos expresiones, el resultado es un valor booleano.

Operador Descripción Sintaxis Ejemplo

< Menor que Expresion1< 23 < 30

<= Menor o igual que Expresion1<= 56 <= 56

> Mayor que Expresion1> 8>3

>= Mayor o igual que Expresion1>= 78 >= 12

= Igual que Expresion1= 5=5

<> No igual que Expresion1<> 63 <> 89

Is Comparar dos referencias a Objeto1 Is Dim Objeto1, Objeto2 As

Elementos del lenguaje. Variables y estructuras de datos

 Introducción a los tipos de datos

Tipo Visual Basic Net Tamaño de Rango de Valores


almacenamien
to
Boolean 2 bytes Verdadero o Falso

Date 8 bytes 0:00:00 del 1 de enero de 0001 a


11:59:59 PM del 31 de diciembre de 9999

Decimal 16 bytes Hasta 29 dígitos significativos, con


valores de hasta 7,9228 x 10 (con
signo)

Double 8 bytes -4,94065645841246544E-324 a


+1,79769313486231570E+308 (con signo

Integer 4 bytes -[Link] a

+[Link] (con signo

Single 4 bytes -3,4028235E+38 a 1,401298E-45


(con signo)

String Variant 0 a 2.000 millones aproximadamente de


caracteres Unicode

Semestre 2025 - I 42
40 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

INSTRUCCIÓN CONDICIONAL

Estas instrucciones nos permiten tomar decisiones, permiten evaluar una expresión y ejecutar unas
instrucciones en caso contrario ejecuta otras series de instrucciones

Sintaxis:

Primera

Forma:

If <expresión a evaluar> Then <Instrucción (si la expresión devuelve

Verdadero)> Ejemplo:

If a = b Then MessageBox(.Son Números Iguales.)

Si la expresión a evaluar de a = b devuelve o mejor dicho es verdadera, este nos mostrará un


mensaje, con el texto de .Son Números Iguales..

Segunda Forma:

If <expresión a evaluar> Then

<Instrucción (si la expresión evaluada devuelve

Verdadero)> End If

Ejemplo:

If b <> 0 Then

Res = a / b

[Link]("El Resultado de La División es: {0}", Res)

End If

Esta segunda forma, lo utilizamos cuando tengamos que hacer mas de una instrucción si la
expresión a evaluar resulta verdadera, en este caso si es mayor que b, si es verdadero este hará la
siguiente instrucción de a dividir entre b y el resultado guardarlo en una variable llamada Res, que
después la mostraremos en pantalla.

Tercera Forma:

If <expresión a evaluar> Then

< Instrucción (si la expresión evaluada devuelve Verdadero)>

Else

< Instrucción (si la expresión evaluada devuelve Falso)>

Semestre 2025 - I 43
41 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

End If

Ejemplo:
If b <> 0 Then
Res = a / b
[Link]("El Resultado de La División es: {0}", Res)
Else

[Link]("Error: División Entre Cero")


End
If
Esta forma nos permite utilizar los dos tipos de resultados de la expresión 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 <expresión a evaluar> Then <Instrucción (si la expresión evaluada devuelve Verdadero)> Else
<Instrucción (si la expresión evaluada devuelve Falso)> (todo en una misma línea)

Esta forma no tan muy usada, solo en los casos cuando hay que hacer una sola instrucción en cada
tipo de respuesta de la expresión evaluada, por ejemplo, si a es igual b nos mostrará un mensaje
de Números Iguales, pero si es falso nos mostrara otro mensaje diciéndonos que No son Números
iguales, y recuerden que

es en una sola línea.

Quinta Forma:

If <expresión a evaluar> Then


< Instrucción (si la expresión evaluada devuelve
Verdadero)> ElseIf <expresión a evaluar> Then
< Instrucción (si la expresión evaluada devuelve Verdadero)>
Else

< Instrucción (si la expresión evaluada devuelve Falso)>


End
If
Ejemplo:

If b = 0 Then
[Link]("Error: División Entre
Cero") ElseIf a <> b Then
Res = a / b
[Link]("El Resultado de La División es: {0}", Res)
Else

[Link]("El Resultado de La División es: 1")


End

If

Semestre 2025 - I 44
42 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

EJEMPLOS CON SENTENCIA CONDICIONAL (IF-THEN)

Desarrollar una aplicación con 4 ejercicios que permita realizar lo

siguiente: Ejercicio1.- Ingresar las Notas de Un alumno y obtener

su promedio

Vista Diseño del Formulario Principal

Objeto Propiedad Valor

Form1 (Name) Form1

BackColor

BackgroundImage

BackgroundImageLayout

Font

Label1 (Name) Label1

Text Ejercicios de Visual Basic Net

Font

ForeColor

Button1 (Name)

BackColor

BackgroundImage

BackgroundImageLayout

Font

Semestre 2025 - I 45
43 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Vista Código del Formulario Principal

Clic en el primer botón, escriba el siguiente código 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.
Las siguientes instrucciones muestran el formulario form2 en modo Modal.

Private Sub Button1_Click(ByVal sender As [Link],


ByVal
Vista e As [Link])
Diseño Handles [Link]
del segundo formulario:

[Link]()

End Sub

Declaración de Variables

Se Requiere lo siguiente:

El Ingreso del código solo numérico


El ingreso de apellidos y nombres y el curso
solo letras Las notas deben ser valor numérico
Obtener el Promedio

Semestre 2025 - I 46
44 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

FORMULARIO

Cuando 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 [Link]) Handles M


[Link]() End Sub
En las Notas

 Las Notas deben cambiar de color si es aprobatorio color azul, en caso contrario color rojo.

Aplicar en Textbox1 Evento:Changed

Aplicando Consistencia:
Private Sub TextBox1_TextChanged_1(ByVal sender As [Link],

ByVal e As [Link]) Handles [Link]
Las Notas deben ser de valor

Numérico Aplicar en Textbox1

If Val([Link])
Evento:KeyPress >= 11

Then [Link]
Private Sub TextBox1_KeyPress1(ByVal sender As Object, ByVal e As
= [Link]
[Link]) Handles [Link]
Else
If (Asc([Link]) < 48 Or Asc([Link]) > 57) And Asc([Link]) <> 8 Then
[Link] =
[Link] = True
[Link] End If

End Sub

Semestre 2025 - I 47
45 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

CALCULOS

Obtener el promedio escriba sub y la palabra promedio pulse enter luego digite

el código Para llamar procedimiento promedio utilizar:

Sub promedio()

n1 =

Val([Link]) n2

= Val([Link])

n3 =

Val([Link])

prom = (n1 + n2 + n3)

/3

[Link] =

[Link]("##.00") If (prom >= 0

And prom < 10.5) Then

[Link] =

[Link]

MsgBox("Desaprobado")

Else

If (prom > 10.5 And prom <= 20) Then

[Link] =

[Link]

MsgBox("Aprobado")

End

If End If

End Sub

 En el botón

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As


Observe el promedio respectivo
[Link]) Handles [Link]
 Se requiere que las notas deben estar entre un valor
Call promedio()
de 0 y 20 En este caso se crea un procedimiento llamado

Semestre 2025 - I 48
evaluar.

Semestre 2025 - I 49
46 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Sub evaluar()

if Val([Link]) < 0 Or Val([Link]) > 20 Then

MsgBox("La nota debe estar entre 0 y 20", [Link],

"verifique") [Link]()

[Link]()

INSTRUCCION SELECT CASE

También existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en
estos casos o se usa una condición compuesta muy grande o se debe intentar convertir el problema
a uno que se pueda resolver usando la instrucción SELECT CASE. Esta instrucción es una instrucción
de decisión múltiple donde el compilador prueba o busca el valor contenido en una variable
ENTERA, CHARACTER, STRING contra una lista de constantes apropiadas, es decir enteras, carácter
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 instrucción es el siguiente;
capturar o asignar variable de condición
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 [Link], ByVal e As [Link]) Handles
[Link] EDAD = Val([Link])
Select Case
EDAD Case 0
To 9
[Link] =
"INFANCIA" Case 10 To

Semestre 2025 - I 50
46 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

13
[Link] =
"NIÑEZ" Case 15, 16,
17

Semestre 2025 - I 51
47 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link] = "ADOLESCENCIAZ"
Case 18 To 59
[Link] =
"ADULTEZ" Case Is >=
60
[Link] =
"ANCIANO" Case Else

[Link] = "NO

EXISTE" End Select

End Sub

End Class

Semestre 2025 - I 52
48 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIOS

LABORATORIO - 001
1. Elaborar una aplicación 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 [Link], ByVal e As
[Link]) Handles [Link]
'Define la variable nombre y le asigna el valor
ingresado Dim Nombre As String =
[Link]
'Alinea el texto del saludo al centro de la
etiqueta [Link] =
[Link] 'Muestra el
saludo
[Link] = "Hola: " & Chr(10) & Chr(13) & Nombre & Chr(10) & Chr(13) &
Chr(10) _ & Chr(13) & "Bienvenido a Visual Basic 2008"
End Sub

Private Sub BtnCerrar_Click(ByVal sender As [Link], ByVal e As [Link])


Handles [Link]
Close(
) End Sub
End Class

Semestre 2025 - I 53
49 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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 [Link], ByVal e As [Link])
Dim Nota1, Nota2, Nota3, Puntos, Promedio As
Single Nota1 = [Link]([Link])
Nota2 =
[Link]([Link])
Nota3 =
[Link]([Link])
Puntos = Nota1 + Nota2 +
Nota3 Promedio = Puntos / 3
[Link] =
[Link]
[Link] =
[Link] If Promedio
>= 10.5 Then
[Link] =
[Link] Else
[Link] =
[Link] End If
End Sub

Private Sub BtnNuevo_Click(ByVal sender As [Link], ByVal e As [Link])


[Link] =
"" [Link] =
"" [Link] =
"" [Link] =
"" [Link] =
""
[Link] =

Semestre 2025 - I 54
""
[Link]()
End Sub
End
Class

Semestre 2025 - I 55
50 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 003

Elaborar una aplicación 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 [Link], ByVal e As [Link])
Handles [Link]
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 [Link], ByVal e As
[Link]) Handles [Link]
Dim aNumber As Integer =
CInt([Link]) Dim bNumber As
Integer = CInt([Link])
MsgBox(calculopromedio(aNumber,
bNumber))
End Sub
Private Sub Button2_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] =
"" [Link]
= ""
habilitabotones()
End Sub
Sub
deshabilitabotones(
) [Link] =
False

Semestre 2025 - I 56
50 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link] =
False
End Sub
Sub habilitabotones()
[Link] = True

Semestre 2025 - I 57
51 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link] = True
End Sub
Function calculopromedio(ByVal N1 As Integer, ByVal N2 As Integer) As Integer
Return (N1 + N2) / 2
End
Function
End Class

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 acompañado del igv,
mostrandose en los labels respectivos.

Public Class Form1


Private Sub BtnCalcular_Click(ByVal sender As [Link], ByVal e As [Link])
Dim Monto, Importe, Igv As
Double Monto =
[Link]([Link])
Importe = Monto / 1.19
Igv = Monto - Importe
[Link] =
[Link]("###,##0.00") [Link]
= [Link]("###,##0.00")
End Sub

Private Sub BtnNuevo_Click(ByVal sender As [Link], ByVal e As [Link])


[Link] =
"" [Link]
= ""
[Link] =
"" [Link] = ""
[Link]()
End Sub
Private Sub BtnCerrar_Click(ByVal sender As [Link], ByVal e As [Link])
Close(
) End Sub
End Class

Semestre 2025 - I 58
52 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN III
TRABAJANDO CON CONTROLES
CONTENIDO

 ComboBox
 ListBox
 CheckBox
 RadioButton
 TabPage
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 59
53 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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
[Link], ByVal e As [Link])
Handles [Link]
Select Case
[Link]
Case 0
[Link] = 1000
Case 1
[Link] = 2000
Case 2
[Link] =
3000 End Select
End Sub

Private Sub Form7_Load(ByVal sender As Object, ByVal e As [Link])


Handles [Link] [Link]("DIGITADOR")
[Link]("PROGRAMADOR")
[Link]("ANALISTA")
End
Sub End
Class

Semestre 2025 - I 60
El control ComboBox de Visual Basic 6.0 se ha reemplazado por el control ComboBox de
Windows Forms en Visual Basic 2008. Los nombres de algunas propiedades, métodos, eventos y
constantes son diferentes y, en

Semestre 2025 - I 61
54 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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
sección de la lista del control. Si se modifica el texto de un elemento de la lista mediante
programación, no se desencadena el evento Change.
En Visual Basic 2008, el evento Change ya no existe; el evento TextChanged se desencadena cada
vez que el texto se modifica por alguna razón; por ejemplo:
 Cuando se modifica la sección de entrada de texto
 Cuando se selecciona un elemento de la lista
 Cuando se modifica un elemento de la lista mediante programación
 Cuando se llama al método
AddItem ItemData (Propiedad)

En Visual Basic 6.0 la propiedad ItemData de un control ComboBox se puede establecer en


tiempo de diseño en la ventana Propiedades para asociar un valor Integer con un elemento
ComboBox.

En Visual Basic 2008, la propiedad ItemData ya no existe. La biblioteca Microsoft. VisualBasic.


Compatibility contiene una función SetItemData que se puede utilizar para asociar un valor
Integer con un elemento; la función 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
sección del cuadro de texto del control.

En Visual Basic 2008, la propiedad Locked impide que un control se mueva en tiempo de diseño.
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, también se impedirá que
se modifique la selección. Para duplicar este comportamiento, puede cancelar la selección en el
evento MouseDown.

NewIndex (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 2008, la propiedad NewIndex ya no existe. Puede utilizar el valor devuelto desde el
método
[Link] para recuperar el índice de un elemento cuando éste se agrega.

Semestre 2025 - I 62
55 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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 debía mostrarse en la posición
superior. Esta propiedad solía utilizarse para desplazarse por la lista sin seleccionar ningún
elemento.

En Visual Basic 2008, la propiedad ComboBox ya no es compatible con la propiedad TopIndex. En


la mayoría de los casos esto no debería representar un problema, porque al definir la propiedad
TopIndex, no se producirá ningún 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 continúa admitiendo la propiedad TopIndex.

Scroll (Evento)

El evento Scroll de Visual Basic [Link] utiliza junto con la propiedad TopIndex para llevar a cabo
acciones cuando se desplaza por la lista. Visual Basic 2008 no admite el evento Scroll; sin
embargo, en la mayoría de los casos, el evento SelectedIndexChanged constituye un sustituto
válido.

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 más información, vea Conceptos de formularios Windows Forms para
usuarios de Visual Basic 6.0.

Cambios de código para el control ComboBox

En los ejemplos siguientes se muestran las diferencias que existen entre las técnicas de
codificación de Visual Basic 6.0 y Visual Basic 2008.

El código se modifica para hacer que un control ComboBox sea de sólo lectura

El código siguiente muestra cómo impedir que un usuario agregue nuevos elementos a un control
ComboBox.

Copiar código

' Visual Basic 6.0


[Link] =
True Visual Basic

Copiar código

' Visual Basic 2008


[Link] = [Link]
El código se modifica para seleccionar el último elemento agregado en un control ComboBox

Semestre 2025 - I 63
El código siguiente muestra cómo se establece la selección en un elemento que se ha agregado
mediante

Semestre 2025 - I 64
56 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

programación a un control ComboBox.


Copiar código

' Visual Basic 6.0


[Link] "This is a new
item" [Link] =
[Link] Visual Basic

Copiar código

' Visual Basic


2008 Dim i As
Integer
i = [Link]("This is a new
item") [Link] = i
El código de Private Sub se modifica para asociar datos de elementos
El código siguiente muestra cómo se asocia un número de empleado a cada empleado mostrado en un
control
ComboBox y cómo se recupera después ese número en tiempo de ejecución.
Copiar código

' Visual Basic 6.0


Private Sub
Form_Load
[Link] "Nancy Davolio"
[Link]([Link]) =
12345 [Link] "Judy Phelps"
[Link]([Link]) =
67890
End Sub
Private Sub Combo1_Click()
[Link] = "Empoyee #"
&_
CStr([Link]([Link]
ex)) End Sub
Visual Basic

Copiar

código

' Visual Basic 2008


Private Sub Form1_Load(ByVal sender As [Link],
ByVal e As _ [Link]) Handles [Link]
[Link]("Nancy Davolio")
[Link].VB6. _
SetItemData(ComboBox1, [Link]() - 1,
12345) [Link]("Judy Phelps")
Semestre 2025 - I 65
[Link].VB6. _
SetItemData(ComboBox1, [Link]() - 1,
67890) End Sub

Semestre 2025 - I 66
57 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Visual Basic

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As


[Link], _ ByVal e As [Link]) Handles
[Link]
[Link] = "Employee #" & CStr(
_
[Link].
VB6. _
GetItemData(ComboBox1,
[Link])) End Sub

Control ListBox
El control ListBox permite añadir elementos en forma de lista y también 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.
[Link]: Sirve para agregar información al control
[Link]: Indica los elementos que han sido seleccionado en el control, (ojo) esta
propiedad es una de las más funcionales que tiene este control, ya que, no da una perspectiva
completa de la información que tenemos almacenada en el mismo.
[Link]: Remueve o elimina la información seleccionada en el mismo.
[Link]: Esta propiedad es de tipo Boolean (Verdadero o Falso), nos sirve para ordenar
alfabéticamente (A hasta Z) la información contenida en el control.

Public Class Form8

Private Sub Form8_Load(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] [Link]("DIGITADOR")

[Link]("PROGRANAD

OR")

Semestre 2025 - I 67
[Link]("ANALISTA")

Semestre 2025 - I 68
58 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

Select Case

[Link]

Case 0

[Link] = 1200

Case 1

[Link] = 2500

Case 2

[Link] =

4500 End Select

End

Sub End

Class

Ejercicio 2

Semestre 2025 - I 69
59 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form1


'Aqui valido que no quede entradas en blanco
Private Sub btnAgregar_Click(ByVal sender As
[Link], _ ByVal e As [Link]) Handles
[Link]
If [Link] = "" Then
[Link]("El Nombre está en blanco", "Datos en
blanco") [Link]()
Exit Sub
Else
If [Link] = "" Then
[Link]("La Direccion está en blanco", "Datos en
blanco") [Link]()
Exit
Sub
Else
If [Link] = "" Then
[Link]("El Telefono está en blanco", "Datos en
blanco") [Link]()
Exit
Sub
Else
'Agrego a la lista
[Link]([Link].
Trim _ & " " & "---" & " " &
[Link] _
& " " & "---" & " " &
[Link]) 'Limpio las entradas
[Link]()
[Link]()
[Link]()
'Enfoco
[Link]
s() End If
End
If End
If End
Sub

Private Sub btnEliminar_Click(ByVal sender As


[Link], _ ByVal e As [Link]) Handles
[Link]

'Aqui eliminamos los datos del ListBox


If [Link] <> -1 Then
[Link]([Link])
Semestre 2025 - I 70
[Link]("El Dato ha sido borrado", "Dato
borrado") Exit Sub

Semestre 2025 - I 71
60 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Else
[Link]("Debe seleccionar para poder borrar", "Seleccione el dato")
End If

End

Sub

Private Sub btnSalir_Click(ByVal sender As


[Link], _ ByVal e As [Link])
Handles [Link]
'Aqui mandamos a
salir
[Link]()
End Sub

Private Sub Llenar_Lista()


'Aqui creamos un metodo para llenar la lista
With [Link]
.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
[Link], _ ByVal e As [Link])
Handles [Link]
'Aqui llamamos el
metodo Call
Llenar_Lista()
'Mandamos a ordenar
[Link] =
True
End Sub
End Class

Semestre 2025 - I 72
73 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

CONTROL CHECKBOX

PROPIEDADES

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 verificación


es el de activada.

Enabled Obtiene o establece un valor que indica si el control puede responder a la


interacción del usuario.

Font Obtiene o establece la fuente del texto que muestra el control.

ForeColor Obtiene o establece el color de primer plano del control.

Text Obtiene o establece el texto asociado al control.

- Se utiliza un control CheckBox para dar al usuario una opción del tipo verdadero/falso o sí/no.
- El control de la casilla de verificación 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 verificación de dos estados.

MÉTODOS

Focus Establece el foco de entrada en el control.

Hide Oculta el control al usuario.

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

Show Muestra el control al usuario.

Semestre 2025 - I 73
74 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form5

Dim sueldo, bon, descuento, neto As Single

Private Sub Opcion1ToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As

[Link]) [Link]()

End Sub

Private Sub Opcion2ToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As

[Link]) [Link]()

End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]
If [Link] = True
Then sueldo = 1500
[Link] =
sueldo Else
sueldo = 0
[Link] =
sueldo
End
If End
Sub

Semestre 2025 - I 74
75 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Private Sub CheckBox2_CheckedChanged(ByVal sender As


[Link], ByVal e As [Link]) Handles
[Link]

If [Link] = True

Then bon = 500

[Link] =

bon Else

bon = 0

[Link] =

bon

End

If End

Sub

Private Sub CheckBox3_CheckedChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

If [Link] = True

Then descuento = 345

[Link] =

descuento Else

descuento = 0

[Link] =

descuento

End

If End

Sub

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] neto = sueldo + bon - descuento

[Link] =

[Link]("##.00") End Sub

Semestre 2025 - I 75
64 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Private Sub Form5_Load(ByVal sender As Object, ByVal e As


[Link]) Handles [Link]
sueldo = 0
bon = 0
descuento = 0
neto = 0

End
Sub End
Class

Control Radiobutton

- Ofrece opciones que el usuario puede activar o desactivar, pero solamente una opción si
existe un grupo de RadioButton.
- El control RadioButton puede mostrar texto, Imagen o ambos.
- Cuando el usuario selecciona un botón de opción en un grupo, los demás se
desactivan automáticamente.
- 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 opción si
existe un grupo de RadioButton.
- El control RadioButton puede mostrar texto, Imagen o ambos.
- Cuando el usuario selecciona un botón de opción en un grupo, los demás se
desactivan automáticamente.
- Se utiliza la propiedad Checked para obtener o establecer el estado de un RadioButton.

Semestre 2025 - I 76
65 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

PROPIEDADES

BackColor Obtiene o establece el color de fondo del control.

CheckAlign Obtiene o establece la ubicación de la parte de casilla de verificación


del control de botón de opción.

Checked Obtiene o establece un valor que indica si el control está activado.

Enabled Obtiene o establece un valor que indica si el control puede


responder a la interacción del usuario.

Font Obtiene o establece la fuente del texto que muestra el control.

ForeColor Obtiene o establece el color de primer plano del control.

Name Obtiene o establece el nombre del control.

Text Obtiene o establece el texto asociado al control.

Visible Obtiene o establece un valor que indica si se muestra el control.

MÉTODOS

Focus Establece el foco de entrada en el control.

Hide Oculta el control al usuario.

Refresh Obliga al control a invalidar su área cliente y,


acto seguido, obliga a que vuelva a dibujarse
el control y sus controles secundarios.

Select Sobrecargado. Activa un control.

Show Muestra el control al usuario.

Update Hace que el control vuelva a dibujar las


regiones no válidas en su área de cliente.

Semestre 2025 - I 77
66 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form6

Dim SUELDO As Single

Private Sub RadioButton1_CheckedChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

If [Link] = True

Then SUELDO = 960

[Link] =

SUELDO End If

End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

If [Link] = True

Then SUELDO = 2500

[Link] =

SUELDO End If

End Sub

Private Sub RadioButton3_CheckedChanged(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

If [Link] = True

Then SUELDO = 3500

Semestre 2025 - I 78
67 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link] =

SUELDO End If

End

Sub End

Class

TAB PAGE

Este control permite visualizar las fichas de un control.

Public Class Form9

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles [Link]

Call visibilidad()

[Link] = [Link]

[Link] = "DATOS REGISTRADOS"

[Link] = [Link]

[Link] = [Link]

[Link] = [Link]

[Link] = [Link]

[Link] = [Link]

End Sub

Semestre 2025 - I 79
68 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Private Sub Button2_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

[Link]()

End Sub

Private Sub Form9_Load(ByVal sender As [Link], ByVal e As [Link]) Handles [Link]

[Link] = False

[Link] = False

[Link] = False

[Link] = False

[Link] = False

[Link] = False

[Link]("DIGITADOR")

[Link]("PROGRAMADOR")

[Link]("ANALISTA")

[Link] = "DATOS

PERSONALISIMOS"

[Link] = "ESTUDIOS"

[Link] = "RESUMEN"

[Link] = [Link]

[Link] = [Link]

[Link] = [Link]

End Sub

Sub visibilidad()

[Link] = True

[Link] = True

[Link] = True

[Link] = True

Semestre 2025 - I 80
69 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link] = True

[Link] = True

End Sub

Semestre 2025 - I 81
70 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIOS

LABORATORIO

- 001
Se desea elaborar una aplicación 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 Basico
Analista 2800
Programador 2000
Operador 1600
Digitador 1250
Secretaria 1000

 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.
El diseño de la ventana tendra el siguiente aspecto:

Semestre 2025 - I 82
71 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO -

 Elaborar una aplicación 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 botón 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 [Link], ByVal e As [Link])
Handles [Link]
Dim Nombre, Casado, Turno As
String Dim Edad As Byte
If [Link] = "" Then
[Link]("Ingrese el Nombre", "Por
Favor") [Link]()
Exit
Sub End
If
If RbMañ[Link] = False And [Link] = False And [Link] = False Then
[Link]("Seleccione el Turno", "Por Favor")
Exit Sub
End If
'Cambia el nombre a mayúsculas
Nombre =
[Link]() Edad
= [Link]
If [Link] = True
Then Casado = "Si"

Semestre 2025 - I 83
71 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Else

Semestre 2025 - I 84
72 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Casado =
"No" End If
If RbMañ[Link] = True
Then Turno = "Mañana"
ElseIf [Link] = True
Then Turno = "Tarde"
Else
Turno =
"Noche" End If
[Link](Nombre
)
[Link]([Link]
ing)
[Link](Turno)
[Link](Casado)
[Link]()
[Link] = 18
[Link] = False
RbMañ[Link] = False
[Link] = False
[Link] = False
[Link]()
End Sub
Private Sub LbNombre_SelectedIndexChanged(ByVal sender As [Link],
ByVal e As [Link]) Handles [Link]
Seleccionar([Link])
End Sub
Private Sub LbEdad_SelectedIndexChanged(ByVal sender As [Link], ByVal
e As [Link]) Handles [Link]
Seleccionar([Link])
End Sub
Private Sub LbTurno_SelectedIndexChanged(ByVal sender As [Link], ByVal
e As [Link]) Handles [Link]
Seleccionar([Link])
End Sub
Private Sub LbCasado_SelectedIndexChanged(ByVal sender As [Link], ByVal
e As [Link]) Handles [Link]
Seleccionar([Link])
End Sub
Private Sub BtnQuitar_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
If [Link] < 0 Then
[Link]("Seleccione un elemento", "Para Quitar",
[Link], [Link])

Semestre 2025 - I 85
73 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Else
Quitar([Link]
dex) End If
End Sub
Private Sub BtnLimpiar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link]
ar()
[Link](
)
[Link]()
[Link]
r()
End Sub

Sub Seleccionar(ByVal Elemento As


Integer) [Link] =
Elemento [Link] =
Elemento [Link] =
Elemento [Link] =
Elemento
End Sub
Sub Quitar(ByVal Elemento As
Integer)
[Link](Elem
ento)
[Link](Element
o)
[Link](Element
o)
[Link](Eleme
nto)
End Sub
End
Class

Semestre 2025 - I 86
87 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 003

Elaborar una aplicación 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:
Masculi
no

List:
Soltero
Casado
Viudo
Divorciad
o
Convivie

Semestre 2025 - I 87
88 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 004

Elaborar una aplicación 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 :

ESPECIALIDADE
Turn Ciclo S
o Turism Contabilida Computacio Secretariad
o d n o
I , II y III 280 290 290 285
Mañana
IV, V ,VI 300 310 320 315
I , II y III 250 260 270 265
Tard
IV, V ,VI 270 280 280 270
e
I , II y III 284 295 295 290
Noche
IV, V ,VI 320 340 340 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 Descuent
o
Mañan 2% de la Suma (Mensualidad + Adicional)
a
Tarde 3% de la Suma (Mensualidad + Adicional)
Noche 4% de la Suma (Mensualidad + Adicional)

List : Mañana Tarde Noche

List :
I II III IV V VI

Semestre 2025 - I 88
89 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN IV
PROCESOS REPETITIVOS
CONTENIDO

 For/Next
 For Each
 While/End While
 Do/Loop
 Estructuras
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 89
77 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

PROCESOS REPETITIVOS

Los procesos repetitivos o llamados bucles, se utilizan para repetir el o los códigos, un
número determinado de veces, para esto usaremos el For, que nos permitir· repetir un
número determinado de veces el código.

For / Next

Con este tipo de bucle podemos repetir un código un número determinado de veces.

Sintaxis:

For <variable numérica> = <valor inicial> To <valor final> [Step

<incremento>] 'contenido del bucle, lo que se va a repetir

Next

Primera Forma: Una de las formas más 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 n˙mero, 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

Semestre 2025 - I 90
78 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

For Each

Este bucle repetir· o iterar· por cada uno de los elementos contenidos en una colección.

Sintaxis:

For Each <variable> In <colección del tipo de la

variable> 'Lo que se hará mientras se repita

el bucle

Next

Ejemplo:

Dim s As String

For Each s In "Hola


Mundo"
[Link](s)

Next

[Link]

()

Este bucle recorre cada uno de los caracteres de una cadena, en este caso recorrer·
cada carácter de la cadena s (Hola Mundo). Comenzando por la H y de ahí la o y así hasta
la última o de la palabra Mundo.

Las estructuras repetitivas o llamados también bucles, se utilizan para repetir el o los
códigos, hasta que la expresión evaluada de un valor de Falso.

While / End While

Se repite· mientras se cumpla la expresión lógica que se indicar· después de While

Sintaxis:

While <expresión>

ëLo que haya que hacer mientras se cumpla la

expresión End While

Ejemplo: While i
< 10

[Link]

(i) i = i + 1

Semestre 2025 - I 91
End While

Semestre 2025 - I 92
79 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Este código escribirá 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 solo 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 permitirán evaluar
expresiones lógicas: 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 Útil 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 evaluación se hará
antes de empezar el bucle, mientras que si se usan con Loop, la evaluación se hará
después de que el bucle se repita al menos una vez.

Sintaxis:

Primera Forma: Este bucle evalúa al principio, mejor dicho realizara el código o las
instrucciones un numero que digamos que sea n veces.

Do While <expresión>
Instrucción

Loop

Segunda Forma: Este bucle evalúa al final, mejor dicho realizara el código o las
instrucciones n veces.

Do

Instrucción

Loop While <expresión>

Tercera Forma: Este bucle evalúa al principio, a diferencia que el primero realizara el código
siempre y cuando la expresión sea falsa, mejor dicho realizara el código o las instrucciones n
veces.

Do Until <expresión>
Instrucción

Loop

Cuarta Forma: Este bucle evalúa al final, a diferencia que el segundo realizara el
código siempre y cuando la expresión sea falsa, mejor dicho realizara el código o las
instrucciones n 1 veces

Do

Instrucción

Semestre 2025 - I 93
80 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Loop Until <expresiÛn>

Ejemplo con PROCESOS REPETITIVOS

Public Class
Form10 Dim I
As Integer
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
I=0
While (I <=
20) I = I +
1
[Link]
(I) End While
End Sub

Private Sub Button2_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

I=0

Semestre 2025 - I 94
81 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Do

I=I+1
[Link]
(I) Loop While (I <=
20)
End Sub
Private Sub Button3_Click(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link] I = 0
Do While (I <
20) I = I + 1
[Link]
(I) Loop
End Sub

Private Sub Button4_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]
For I = 1 To 20
[Link](I)
Next
End
Sub

Semestre 2025 - I 95
82 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ESTRUCTURA S

Es una combinación de tipos dedatos

1. Se utilizan para crear tipos de valores definidos por el usuario


2. Sus miembros pueden ser variables, propiedades, métodos o eventos
Ejemplo de estructura definida por el usuario:

Public Structure Empleado Public Nombre As String Public Apellido

As String Public FechaContrato As Date Public Cargo As String Private

Salario As Decimal

End Structure

Crear una estructura para almacenar información sobre coches

 Declare una estructura pública con el nombre CarInfo en la sección de declaraciones de


Form1. Incluya los miembros que se muestran en la siguiente tabla.
Public Structure

CarInfo Public Marca

As String Public

Modelo As String

Public PrecioCompra As

Single Public

FechaCompra As Date

Declare una variable de tipo CarInfo y asígnele valores

1. En el evento Button1_Click, declarar una variable con el nombre miCoche

de tipo de estructura CarInfo. El código debería ser parecido a:

Dim miCoche As CarInfo

2. Asignar valores a los miembros de la estructura. Podemos utilizar los siguientes valores o

escoger otros. [Link] = "Jeep"

[Link] = "Cherokee"

[Link] = 27999

[Link] = #06/23/2000#

Semestre 2025 - I 96
83 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Visualizar la información del coche en los cuadros de texto

Establezca las propiedades TextBox para visualizar la estructura CarInfo estructura en cuadros de texto
en el formulario. El código debería ser parecido a:
[Link] = [Link]
[Link] = [Link]
[Link] =
[Link]
[Link] =
[Link]

Ejecutar y probar la aplicación

Ejecutar la aplicación y hacer clic en Display Car Structure. El formulario que se ejecute
debería tener un aspecto parecido a éste

Semestre 2025 - I 97
98 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIOS
LABORATORIO
Elaborar - 001que permita ingresar :
una aplicación

 Nombre de una Persona


 Seleccionar una Zona (Norte y Sur)
 Al ingresar El Monto de la Venta y se presiona ENTER se calcula :
 La Movilidad sera :
o Norte – 20 soles
o Sur – 15 soles
 La Comision sera de :
o 3% del Monto
o 2% del Monto

Al mismo tiempo se ingresara automaticamente la informacion que se solicita


en las listas. Cuando se presione el Boton RESUMEN se mostrara los Totales
que se solicitan.

Semestre 2025 - I 98
99 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 002

Crear una aplicación que permita agregar los datos de sus amigos en las listas que se muestran
en el diseño, para ello debera tomar en cta lo siguiente:

 El codigo debera estar creado de la siguiente manera: (Primer carácter del Apellido
Paterno + Primer carácter del Apellido Materno + Año + Mes del Nacimineto).
 Se debe agregar en la Lista Apellido Los Apellidos y Nombres.
 Asi como en la Lista signo debe mostrar el signo de la Persona de acuerdo a su fecha de nacimiento.

Semestre 2025 - I 99
100 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 003

Crear una aplicación que me permita adicionar a un grupo de datos que son ingresados desde
ciertos controles, estos controles estan distribuidos de la siguiente manera :

Semestre 2025 - I 100


101 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN V
PROCEDIMIENTOS Y ARREGLOS
CONTENIDO

 PROCEDIMIENTOS Y FUNCIONES
 ARREGLOS
 ARREGLOS TIPO LISTA
 ARREGLOS TIPO TABLA
 ARREGLOS CON PARAMETROS
 ARREGLOS DE CONTROLES
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 101


88 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

PROCEDIMIENTOS
Son pequeños programas que son invocados desde cualquier parte de un
programa Se usa de la siguiente forma:
Sub nombre_procedimiento(Byval argumento1 as tipo1,Byval argumento2 as tipo2 )
Sentenci
a1
Sentenci
a2
……
End sub
Se les llama de la siguiente forma:
Call nombre_procedimiento(argumento1,argumento2..................)
FUNCIONES
Son pequeños programas que son invocados desde cualquier parte de un programa pero que
devuelven
un valor
Se usa de la siguiente forma:
Sub nombre_funcion(Byval argumento1 as tipo1,Byval argumento2 as tipo2 )
Sentenci
a1
Sentenci
a2

End sub
Se les llama de la siguiente forma:
variable=nombrefuncion(arg1,arg2,arg3…......)
EJEMPLO CON PROCDEMIENTOS Y FUNCIONES

Semestre 2025 - I 102


89 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form12


Dim n1, n2, n3 As Integer, obtenerprom, prome As Single
Function promedio(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)
As Single promedio = (x + y + z) / 3
Return
promedio End
Function
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
n1 =
Val([Link])
n2 =
Val([Link])
n3 =
Val([Link]) 'con
funciones
obtenerprom = promedio(n1, n2, n3)
[Link] =
[Link]("##.00") 'llamar a
procedimientos
Call
mensaje() End
Sub
Sub mensaje()
If obtenerprom >= 11 Then
MsgBox("ESTAS
APROBADO")
Else
MsgBox("ESTAS DESAPROBADO")
End
If End
Sub
Sub CALCULARPROM(ByVal m As Integer, ByVal n As Integer, ByVal p
As Integer) prome = (m + n + p) / 3
[Link] =
[Link]("##.00") End Sub
End Class
Public Class Form13
Dim n1, n2, n3 As Integer, prome As Single, cadena As String
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
n1 =
Val([Link])
n2 =
Val([Link])
Semestre 2025 - I 103
n3 =
Val([Link])
Call CALCULARPROM(n1, n2, n3)
End Sub
Sub CALCULARPROM(ByVal m As Integer, ByVal n As Integer, ByVal p
As Integer) prome = (m + n + p) / 3
[Link] =
[Link]("##.00") If prome
>= 11 Then

Semestre 2025 - I 104


90 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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

Semestre 2025 - I 105


91 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ARREGLOS

Uno de los problemas más comunes en los diversos sistemas de información es el tratamiento o
procesamiento de una gran volumen de datos o de información.
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 método tradicional se
ocuparan 30 variables y solo es nombre y edad de 15 personas, agreguen más datos y más
personas y ya es tiempo de empezar a analizar otro tipo de variables.
Es decir, en problemas que exigen manejar mucha información 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, operación, despliegue) usando el nombre del arreglo respectivo y un subíndice indicando
la posición relativa del elemento con respecto a los demás elementos del arreglo, solo recordar
que en VISUAL BASIC 2008 la primera posición, elemento o renglón 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 programación 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

22

15

Semestre 2025 - I 106


92 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

B) TABLAS DE SUCURSALES

SUC A 10 20 30 40

SUC B 50 60 70 80

SUC 90 100 11 12
D 0 0

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 LISTA

Un 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 más renglones.
También reciben el nombre de vectores en algebra o arreglos unidimensionales en programación.
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 botón 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
declaración será shared dim ciudad (4) as string, la razón de esto es que visual basic empieza una
lista por el elemento o renglón cero (0), por tanto cuando se pide crear una lista de 4 ciudades,
visual basic net le agrega el renglón o elemento 0, que en total darían 5 ciudades.
Es también importante recordar que un arreglo en visual basic net es realmente un objeto derivado
de la clase [Link].
Recordar también que como objeto arreglo, también puede usar una serie de métodos
pertenecientes a dicha clase [Link], 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.

Semestre 2025 - I 107


93 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

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. GetLength Gets the number of elements in the specified dimension of

the Array

GetLowerBound 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 2008 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

Semestre 2025 - I 108


Shared EDADARR(4) As Integer

' DECLARANDO RENG COMO GLOBAL

Semestre 2025 - I 109


94 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Dim RENG As Integer

Private Sub Form1_Activated(ByVal sender As Object, ByVal e As [Link]) Handles

[Link] [Link]()

End Sub

Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] [Link]()

End Sub

Private Sub Button2_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

' LIMPIANDO LISTAS

[Link]

r()

[Link]

r()

' CARGANDO LISTA ORIGINAL CON EDAD

CAPTURADA For RENG = 0 To 4

[Link](EDADARR(RENG))

Next

' A MESES Y Y

DESPLEGANDO For RENG

= 0 To 4

EDADARR(RENG) = EDADARR(RENG)

* 12

[Link](EDADARR(RENG))

Next

End

Sub

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

Semestre 2025 - I 110


' EN ESTE MODULO SOLO SE TRABAJA CON EL

ARREGLO ' EN MEMORIA

[Link]()

Semestre 2025 - I 111


95 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]([Link]

xt) [Link] = RENG

If RENG <= 5 Then

EDADARR(RENG) =

Val([Link]) RENG = RENG

+1

[Link] = ""

End If

If RENG >= 5 Then

[Link] =

False RENG = 0

End

If End

Sub

End Class

Notas:
Observar que en el programa el arreglo edad y la variable renglón se declararon de tipo GLOBAL
porque los dos métodos el de captura y el de operación-despliegue, las están compartiendo.
Además 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 renglón,
misma que también se usa como índice de la lista.
Recordar que todos los datos internos de la lista estarán 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 métodos apropiados pero se tiene que usar un ciclo for para ir
añadiendo 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 instrucción 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 ejecutándose continuamente en
memoria y si se vuelve a pedir la ejecución del programa, en cuento se intente capturar un nuevo
dato va a marcar el error arreglo fuera delimite o arrayofbound, están avisados.
Para inicializar una lista se debe usar el siguiente formato:
shared dim nomlista() as tipodato={lista de valores separados
por comas} ej;
Semestre 2025 - I 112
113 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

shared dim edad() as integer = {15,16,17,18}


shared dim sueldo() as double = {40.85, 65.30, 33.33}
shared dim ciudad() as string = {“tecate”, “tijuana”, “mexicali”, “rosarito”, “ensenada”}
TAREAS PROGRAMACION VISUAL BASIC 2008
1.- Capturar y desplegar 5 precios de productos cualesquiera usando dos panel uno para capturar y
uno para desplegar
2.- Capturar 4 sueldos en un panel desplegarlos aumentados en un 25% en otro panel
3.- Capturar los datos de 5 productos comprados en una tienda, incluyendo nombre, precio y
cantidad en sus 3 listas respectivas, después calcular una cuarta lista con el gasto total por cada
producto desplegarlo todo en un segundo panel e incluir también el gran total
4.- Capturar en una lista solamente 6 números múltiplos de 5, se debe de estar capture y capture
números hasta que se completen los 6 múltiplos de 5

ARREGLOS TIPO TABLA

Un arreglo tipo tabla se define como un conjunto de datos del mismo tipo organizados en dos o
más columnas y uno o más renglones.
Para procesar (recordar solo operaciones y comparaciones) internamente todos los elementos
de la tabla se ocupan dos ciclos for uno externo para controlar renglón y uno interno para
controlar columna.
Los elementos de la tabla se deberán simbolizar con el nombre de la tabla y 2 subíndices, el
primer subíndice referencia al renglón y el siguiente subíndice referencia la columna los dos dentro
del mismo corchete.
La declaración de una tabla será de acuerdo al siguiente formato:
SHARED DIM NOMTABLA (RENG-1,COL-1) AS TIPODATO
Ej: SHARED DIM SUELDO (3,4) AS DOUBLE ← RECORDAR QUE VA A GENERAR UNA MATRIZ QUE
TENDRA CUATRO RENGLONES Y CINCO COLUMNAS EMPIEZA EN SUELDO (0,0)
Para capturar sus elementos, usaremos un textbox y un botón de captura, solo tener cuidado o
mucho control sobre los índices rEN y col como lo muestra el ejemplo.
Para efectuar otros procesos tales como operaciones, despliegues con todos los elementos de la
tabla se deberán usar 2 ciclos un for externo para controlar renglón y un for interno para controlar
columna.

Semestre 2025 - I 113


114 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form2


' DECLARANDO LISTA GLOBAL
' RECORDAR QUE SON 3 RENG Y 4 COLUMNAS
Shared CALIFICACION(2, 3) As Integer
' DECLARANDO RENG Y COL COMO GLOBAL
Dim R, C As Integer
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
' EN ESTE MODULO SOLO SE TRABAJA CON EL
ARREGLO ' EN MEMORIA
CALIFICACION(R, C) =
[Link] C = C + 1
[Link] = ""
If C = 4
Then R =
R+1C
=0
End If
If R = 3 Then
[Link] =
False
End
If End
Sub
Private Sub Button2_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Dim TEMP As String
' PROCESANDO Y REGALANDO 5 PUNTOS A TODOS
For R = 0 To 2
For C = 0 To 3
CALIFICACION(R, C) = CALIFICACION(R, C) + 5
Next
C Next
Semestre 2025 - I 114
115 HERRAMIENTAS DE DESARROLLO DE SOFTWARE
R

Semestre 2025 - I 115


116 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

' desplegando
For R = 0 To
2
TEMP = CALIFICACION(R, 0) & " " & CALIFICACION(R, 1) & " " & CALIFICACION(R, 2) &
" "
& CALIFICACION(R, 3)
[Link](TEMP)
' limpiando temporal antes de otro
renglon TEMP = " "
Next
End
Sub
End
Class
Notas:
Observar el formato de declaración y como se controlan los índices de
captura r, c Para procesar los elementos se usan dos ciclos for y el
formato tabla (reng,col).
En este problema se usa el objeto LISTBOX para presentar el resultado más adelante se usara un
objeto más apropiado.
Corrida:
Para inicializar tablas, se usa el siguiente formato:
Dim nomarreglo() As tipodato = {lista valores}
Dim ciudades() as String = {“tijuana', “tecate”, “ensenada”}
Recordar que no se pueden inicializar arreglos de tamano fijo, para inicializar tablas aquí
está el ejemplo: Dim alfa(,) As Integer = {{1, 2}, {3, 4} {5,6} }

TAREAS PROGRAMACION VISUAL BASIC 2008

1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO PRODUCTOS
CUALESQUIERA, QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES DE UNA EMPRESA
MAQUILADORA (2 prog uno capturado y
otro inicializado).
2.- CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS MENSUALES POR VENTAS DURANTE
LOS TRES PRIMEROS MESES DEL ANO DE CUATRO SUCURSALES DE UNA CADENA DE AUTO
REFACCIONES, AGREGAR AL FINAL UNA LISTA QUE MUESTRE LOS INGRESOS MENSUALES
TOTALES POR MESES Y UNA SEGUNDA LISTA
QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR SUCURSAL(2 progs uno capturado y otro
inicializado). 3.-CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES GANADAS POR TRES
VENDEDORES, DE LOS 5 TIPOS DE LINEA BLANCA DE CONOCIDA MUEBLERIA, ADEMAS LISTAS DE
COMISIONES TOTALES Y PROMEDIOS GANADAS POR LOS VENDEDORES, ASI COMO LISTAS DE
COMISIONES TOTALES Y PROMEDIOS POR TIPO DE LINEA BLANCA

ANALIZAR ESTE CODIGO Y ESCRIBA LOS RESULTADOS QUE SE

Semestre 2025 - I 116


117 HERRAMIENTAS DE DESARROLLO DE SOFTWARE
OBTIENEN ‘PARA TOTALES Y PROMEDIOS POR RENGLON

FOR R = 0 TO 3

FOR C = 0 TO 2

Semestre 2025 - I 117


118 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

TOTRENG(R) = TOTRENG(R) +

TABLA(R,C) NEXT C

PROMRENG(R) =

TOTRENG(R)/3 NEXT R

'PARA TOTALES Y PROMEDIOS POR

COLUMNA FOR C = 0 TO 2

FOR R = 0 TO 3

TOTCOL(C)=TOTCOL(C) +

TABLA(R,C) NEXT R
PROMCOL(C) =

TOTCOL(C) / 4 NEXT C

ARREGLOS CON LISTBOX


ListBox uno de los nuevos Controls, es un componente DINAMICO(es decir no tiene tamaño
definido) que permite procesar visualmente un conjunto de elementos de tipo string.
La propiedad Rows que se usa al crearlo, es solo para indicarle cuantos renglones desplegara en
pantalla, es decir si se usa rows=5, en listbox se podrá capturar todos los elementos o datos que
se quiera pero solo desplegara los últimos cinco elementos.
Sin embargo existen ciertas propiedades del listbox que permiten conocer cuántos elementos
están cargados en el listbox.
Otra importante aspecto a recordar cuando se procese o programe, es que el primer índice de la
lista, es el índice numero 0(cero).
Este componente, contiene muchas propiedades y métodos que facilitan el trabajo con datos la
más importante es su propiedad ITEMS, que a su vez tiene:

PROPIEDAD ACCION O SIGNIFICADO

[Link](dato): Inserta un elemento al final del listbox.


[Link](): Elimina todos los elementos de la lista.
[Link](): Regresa la cantidad de elementos en lista.
[Link] = true; Ordena los elementos de la lista usada solo al tiempo de diseño.

Semestre 2025 - I 118


100 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link](dato): Regresa true o false, si el dato se encuentra o no

se encuentra en la lista.
[Link](dato): Regresa el índice del objeto dentro del listbox.
[Link](indice,dato):
Inser ta el dato en la posicion
indicada.
[Link](dato): Elimina el dato de el listbox.
[Link](indice): Elimina el dato que está en la posición
indicada. Items[indice]: get or set el dato en la posición indicada (ver
primera nota abajo). Notas:
GET y SET son propiedades asociadas a todos los objetos o controles y sus propiedades en
microsoft net, por ejemplo para un textbox, si en un programa se dice alfa = [Link]; se está
usando get, si se dice [Link]=500; se está usando set.
Otro ejemplo alfa=[Link](2); se está
usando (get) [Link](4)=“mama”; se está
usando (set).
OBSERVAR QUE NO SE USA PROPIEDAD TEXT.
Esto de get-set se puede usar para cualquier propiedad, por ejemplo alfa = [Link]; se
está usando get, pero si se codifica [Link]=amarillol; se está usando set, como se
observa es importante entender y aplicar este GET-SET en todos los programas.
Capturas: Solo se ocupara un TextBox, el evento click del button y el metodo Add

del ListBox. Proceso: Se ocupara un ciclo for y el metodo count de ListBox.

Despliegues: No se ocupa porque todos los cambios son visibles.

Pero si se quiere pasar de un ListBox a otro ListBox, entonces ciclo for, count, etc.

Ejemplo prog

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] [Link]([Link])

[Link] = ""

End Sub

Private Sub Button2_Click(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] Dim r, cant, meses As Integer

cant = [Link]

Semestre 2025 - I 119


101 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

For r = 0 To cant - 1

meses =

[Link](r) meses

= meses * 12

[Link](r) =

meses Next r

End Sub

Recordar que el primer indice en un ListBox es el cero por eso el ciclo va desde el cero hasta la
cantidad de elementos menos uno.

Corrida:

TAREAS PROGRAMACION VISUAL BASIC 2008

1.- CAPTURAR EN UNA LISTA LOS SUELDOS DE 6 EMPLEADOS Y DESPLEGARLOS EN UNA SEGUNDA LISTA
AUMENTADOS EN UN 30%.

2.- CAPTURAR EN UNA LISTA LOS PESOS EN KILOGRAMOS DE 6 PERSONAS DESPLEGARLOS EN UNA
SEGUNDA LISTA CONVERTIDOS A LIBRAS Y ADEMAS SOLO LOS MAYORES DE 100 LIBRAS.

3.- CAPTURAR EN SUS 4 LISTAS RESPECTIVAS MATRICULA, NOMBRE Y DOS CALIFICACIONES DE 5


ALUMNOS, DESPUES CALCULAR UNA LISTA DE PROMEDIOS DE CALIFICACIONES.

Semestre 2025 - I 120


102 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

4.- CAPTURAR EN SUS LISTAS RESPECTIVAS NUMEMPLEADO,


NOMEMPLEADO, DIAS TRABAJADOS Y SUELDO DIARIO DE 5 EMPLEADOS, DESPLEGAR EN OTRA
PANTALLA O PANEL LA NOMINA PERO SOLO DE AQUELLOS EMPLEADOS QUE GANAN MAS DE $300.00 A
LA SEMANA

ARREGLOS COMO PARAMETROS

Para pasar un arreglo completo como parámetro a un procedimiento o a una función solo se
manda el nombre del arreglo sin corchetes e índices, en el procedimiento o función que recibe solo
se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin
corchetes e índices.

Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales visual basic
2008 no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe,
en su lugar visual basic sigue usando los datos que están en el arreglo original, es por esta razón
que cambios que se le hagan a los datos del arreglo que recibe realmente se está haciendo al
arreglo original como lo muestra el siguiente ejemplo:

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] ' creando y cargando una lista local con 5 elementos

Dim lista1() As Integer = {1, 2, 3,

4, 5} ' pasandola a un

procedimiento

' observar que se pasa sin

parentesis Call PROC1(lista1)

' desplegando lista original y observar el

resultado Dim r As Integer

Semestre 2025 - I 121


For r = 0 To 4

Semestre 2025 - I 122


103 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link](lista1(

r)) Next r

End Sub Parámetro

Sub PROC1(ByVal vector)

' recibiendola con otro

nombre y ' sumando a

vector + 100

Dim r As

Integer For r =

0 To 4

vector(r) = vector(r) +

100 Next r

End Sub

ARRAYS DE CONTROLES

Visual Basic cuenta con el concepto de array de controles, en el que varios controles comparten el
mismo conjunto de procedimientos de suceso, incluso aunque cada uno de los elementos
individuales en el array pueda tener asignados diferentes valores para sus propiedades. Sólo podrá
crear un array de control en tiempo de diseño y, como mínimo, al menos un control debe
pertenecer al array. Podrá crear un array de controles utilizando cualquiera de los siguientes
métodos:

1. Crear un control y, posteriormente, asihnar un valor numérico (no negativo) a su propiedad


Index; de esta forma habrá creado un array de control con un único elemento.
2. Crear dos controles de la misma clase y asignarles el mismo valor a su propiedad Name.
Visual Basic muestra un cuadro de diálogo avisándole que ya existe un control con el
mismo nombre y le preguntara si desea crear un array de controles.
3. Seleccionar un control del formulario, pulsar Crtl + C para copiarlo en el portapapeles y,
posteriormente, pulsar Ctrl + V para pegar una nueva instancia del control con la misma
propiedad Name que el objeto inicial. Visual Basic muestra el mensaje de aviso
mencionando en el punto anterior.
Los array de controles son una de las características más interesantes del entorno Visual Basic y
añade una gran flexibilidad a sus programas:

 Los controles que pertenecen al mismo array comparten el mismo conjunto de


procedimientos de suceso; de esta forma podrá reducir drásticamente la cantidad de
código que tendrá que escribir en respuesta a una acción del usuario.

Semestre 2025 - I 123


 Podrá añadir dinámicamente nuevos elementos al array de controles en tiempo de
ejecución; en otras palabras, podrá crear nuevos controles que no existan en tiempo de
diseño.
 Los elementos de los array de controles consumen pocos recursos en comparación con los
controles

Semestre 2025 - I 124


104 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

normales y producen archivos ejecutables de menor tamaño.


Además, los formularios de Visual Basic pueden almacenar hasta 256 nombres de controles
distintos, pero un array de controles cuenta como uno solo de estos nombres. En otras
palabras , los arrays de controles le permiten superar con facilidad esa limitación

EJEMPLO: Crear el siguiente array de controles para el ingreso de la siguiente información

Public Class Form1

Inherits [Link]

Dim T(7) As

TextBox Dim

Lb(7) As Label

Dim Titu() As String = {"Nombre:", "Domicilio:", "Localidad:", "Partido:", "Teléfono:", "País:", "Código
Postal:"}

Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link]) Handles

[Link] Dim I As Integer, Y As Integer

For i = 0 To 6

T(i) = New

TextBox() Lb(I) =

New Label()

Lb(I).Text = Titu(I)

Semestre 2025 - I 125


Next

Semestre 2025 - I 126


105 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

For i = 0 To 6

[Link](T(i

))

[Link](Lb(

I)) Lb(I).Top = Y + 3

T(I).Top = Y

Y = Y + 30

T(I).Text = Rnd() *

200 T(I).Left = 80

Next

End

Sub

Private Sub Button1_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

T(0).text =

"hola" End Sub

End Class

Semestre 2025 - I 127


106 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIOS
Elaborar una aplicacion que me permita llamar a dos cuadros de dialogo (Fuente y Color) los
cuales al ser activado van alterar el contenido de la caja de texto donde se ingreso la informacion.

Public Class Form1


Private Sub BtnFuente_Click(ByVal sender As [Link], ByVal e As
[Link])
Handles [Link]
'Para establecer tambien el color de
la letra [Link] = True
'Activa el cuadro de
diálogo
[Link]()
'Asigna al texto escrito el Tipo,Tamaño y estilo de letra
seleccionado [Link] = [Link]
'Asigna al texto escrito el color de letra
seleccionado [Link] =
[Link]
End Sub
Private Sub BtnColor_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
'Activa el Cuadro de
Diálogo
[Link]()
'Asigna el color seleccionado al fondo del
texto [Link] = [Link]
End Sub
Private Sub TxtTexto_TextChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] = [Link] <>
[Link] [Link] =

Semestre 2025 - I 128


[Link] <> [Link]
End
Sub End
Class

Semestre 2025 - I 129


107 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN VI
CONTROL DE EXCEPCIONES Y MENUES

CONTENIDO

 Control de Excepciones
 Minués Principal y Contextual
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 130


108 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

CONTROL DE EXCEPCIONES

Una excepción es un error inesperado que puede ocurrir durante la ejecución de un programa,
lo que genera que la ejecución se detenga o funciones en forma incorrecta.

El control de excepciones en toda aplicación es muy importante, porque permite brindar


información adecuada al usuario de la aplicación sobre el problema detectado, sin necesidad que s
e interrumpa su ejecución y permitiendo que se corrija el problema.

En Visual Basic .NET existe la clase Excepción que permite controlar las excepciones dentro de

un aplicación. Para empezar a controlar las excepciones debe definir una variable con esta

clase .Por ejemplo:

Dim Ex As Exception

La variable que se define con la clase Exception tendrá toda la información de la excepción o error
que se produce. Por ejemplo:

Cuando ocurre una excepción dentro de un programa y no se controla la ejecución del programa,
se deetiene y se visualiza una ventana similar a la siguiente, dependeiendo del tipo de excepción:

Si hace clic en Ver detalle, se visualiza el detalle de la excepción:

Try Catch

Esta instrucción permite controlar las excepciones o errores inesperados que pueden ocurrir en

Visual Basic .NET. Su sintaxis es la siguiente:

Try
Bloque de Instrucciones Nº 01
Catch Variable As Exception
Bloque de Instrucciones Nº 02
Finally

Bloque de Instrucciones Nº 03
End
Try

Semestre 2025 - I 131


109 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Bloque de Instrucciones Nº 01

Es el bloque de instrucciones que deseamos controlar, es decir, el bloque de instrucciones de


nuestra aplicación donde puede ocurrir la excepción o error. Por ejemplo, en este bloque de
instrucciones puede ir el método Open, porque puede ocurrir un error al abrir la conexión a SQL
Server, porque no existe el servidor, el nombre del usuario o su contraseña son incorrectos, hemos
asignado un valor incorrecto en la cadena de conexión, etc.

Bloque de Instrucciones Nº 02

Es el bloque de instrucciones que se debe ejecutar cuando ocurra una excepción durante la
ejecución de la aplicación.

En este bloque de instrucciones debemos reconocer la excepción o el error producido para enviar
un mensaje adecuado al usuario y evitar que nuestra aplicación deje de funcionar.

En la parte inicial de este bloque de instrucciones y después de la palabra Catch, se debe definir
una variable de tipo Excepción, la cual almacenara en sus propiedades la información de la
excepción producida. La variable también se puede definir al inicio de programa.

Bloque de Instrucciones Nº 03

Este bloque de instrucciones es opcional y si se escriben, se ejecutan siempre es decir. Si se


produce o no la excepción.

Si en una parte del bloque Try Catch desea salir de él, puede utilizar Exit Try.

Exit Try es una palabra clave que permita salir del bloque Try Catch y ejecuta la instrucción o
instrucciones que se encuentran después de End Try.

La palabra clave Exit Try no se puede utilizar el bloque de instrucciones Nº 03, es decir, después de
la palabra Finally.

Semestre 2025 - I 132


110 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form1

Dim Ex As
Exception Dim
Dato As String
Dim Nota1, Nota2, Promedio As Double
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As [Link]) Handles
[Link] Try
'Ingrea la Primera Nota
Dato = InputBox("Ingresa la nota Nº 01", "Por
Favor", 0) 'PREGUNTA SI ESTA NULA O VACIA
If [Link](Dato) = False
Then Nota1 = [Link](Dato)
Else
'Si esta vacia o nula le asigna
el 0 Nota1 = 0
End If
'ingresa la primera Nota
Dato = InputBox("Ingresa la nota Nº 02", "Por
Favor", 0) 'pregunta si esta nula o vacia
If [Link](Dato) = False
Then Nota2 = [Link](Dato)
Else
'Si esta vacia o nula le asigna
el 0 Nota2 = 0
End If
'Calcual el promedio
Promedio = (Nota1 + Nota2)
/ 2 'MUESTRA SU PROMEDIO
MsgBox("Su promedio es:" & [Link]("#0.00") & "Puntos",
[Link], "resultado")
Catch ex As Exception
MsgBox([Link], [Link],
[Link]) End Try
End
Sub End
Class
Utilizando Finally
...................................................................................................
.................................................................................................
'ingresa la primera Nota
Dato = InputBox("Ingresa la nota Nº 02", "Por
Favor", 0) 'pregunta si esta nula o vacia
If [Link](Dato) = False Then

Semestre 2025 - I 133


111 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Nota2 = [Link](Dato)
Else
'Si esta vacia o nula le asigna
el 0 Nota2 = 0
End If
'Calcual el promedio
Promedio = (Nota1 + Nota2) / 2

Catch ex As Exception
MsgBox([Link], [Link], [Link])
Finally
'MUESTRA SU PROMEDIO
MsgBox("Su promedio es:" & [Link]("#0.00") & "Puntos",
[Link], "resultado")
End Try

Utilizando el bloque Finally se muestra el promedio final

Semestre 2025 - I 134


112 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Menús en Visual Basic .net y 200

Hay dos tipos de menús que se pueden poner en aplicaciones hechos en Visual Basic .NET: el
menú principal (MenuStrip) y el contextual (ContextMenuStript).

MenuStrip

El menú principal es el que aparece en las aplicaciones abajo de la barra de la ventana (o sea, la
tirita que dice "Archivo, Edición, etc."). Para crear uno, se tiene que arrastrar el objeto MenuStrip a
la ventana. El ambiente de diseño cambia un poco: el "control" aparece en la parte inferior, fuera
de la ventana y en la parte superior de la ventana (o forma) que estás creando, aparece una cajita
que dice "Escriba aquí". La pantalla se ve algo así:

Al darle clic sobre ese mensaje, te permite escribir un texto (el letrero del primer menú) y
aparecen "huecos" para escribir más opciones. Las siguientes imágenes muestran el efecto que
tiene ir tecleando opciones del menú.

Semestre 2025 - I 135


113 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Al ejecutar este formulario observe el menu de opciones

Para mostrar un mensaje por cada opción escriba el siguiente codigo:

Public Class Form7

Private Sub ClientesToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

[Link]("Esta es la opcion Mantenimiento de Clientes",

"Menues") End Sub

Private Sub ProductosToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

Semestre 2025 - I 136


137 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("Esta es la opcion Mantenimiento de


Productos", "Menues")

End

Sub End

Class

Menú contextual

Arrastre el icono del Menú Contextual y se puede escribir los nombres de las opciones.

Si le das click afuera de la ventana del menú


contextual que aparece, desaparece

Para activar estas opciones se debe insertar un objeto y programar un evento para el menú contextual.

Semestre 2025 - I 137


138 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Public Class Form8


Private Sub Label1_MouseDown(ByVal sender As Object, ByVal e As
[Link]) Handles [Link]
If [Link] = [Link] Then
[Link](Label1, New Point(e.X, e.Y))
End
If End Sub

Ejecute la aplicación y cuando se haga click sobre la etiqueta observe que aparece el menu contextual

Semestre 2025 - I 138


116 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIOS

LABORATORIO - 001
Elaborar una aplicacion que permita registrar los datos de los Empleados de una Empresa, estas
seran mostradas en un ListView llamado LvPersonal, esta lista estara controlada por un Combo
llamado CboModo el cual mostrara los estados del ListView (Iconos
Grandes,Detalle,Lista,Iconos Pequeños,Tìtulos), tambien podran ser mostraos algunos

graficos agregados en un ImageList1.

Public Class Form1


Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
'Asigna el formato inicial al control
ListView [Link] =
[Link] [Link] =
True [Link] = True
[Link]("Codigo", 50, [Link])
[Link]("Nombre", 200, [Link])
[Link]("Sueldo", 100, [Link])

'Llena el Personal
Dim Personal As ListViewItem
Personal = New
ListViewItem("001", 0)
[Link]("Julio
Dávila")
[Link]("2,500.00"
) [Link](Personal)

Personal = New ListViewItem("002", 0)

Semestre 2025 - I 139


117 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("Oscar
Ruiz")
[Link]("850.00"
)
[Link](Personal)

Personal = New ListViewItem("003",


0) [Link]("Miguel
Saavedra")
[Link]("1,350.00")
[Link](Personal)
[Link] = 1

'Evita que se modifique el


código [Link]
= True
'Llama al procedimiento
NoIngresar NoIngresar()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] = [Link]
End Sub
Private Sub LvPersonal_Click(ByVal sender As Object, ByVal e As [Link])
Handles [Link]
[Link] =
[Link](0).SubItems(0).Text
[Link] =
[Link](0).SubItems(1).Text
[Link] =
[Link](0).SubItems(2).Text
End Sub
Private Sub BtnNuevo_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
[Link] = Format([Link] + 1,
"000") 'Permite escribir el Nombre y Sueldo
[Link] =
False
[Link] =
False [Link] =
"" [Link] = ""
[Link]()
'Desactiva el botón
Nuevo [Link]
= False
Semestre 2025 - I 140
'Activa los botones Grabar e
Ignorar [Link] =
True [Link] = True
End Sub

Private Sub BtnGrabar_Click(ByVal sender As [Link], ByVal e As [Link])


Handles

Semestre 2025 - I 141


118 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]
Dim Codigo, Nombre, Sueldo As
String Dim Personal As
ListViewItem
'Asigna los datos ingresados a
Variables Codigo = [Link]
Nombre =
[Link] Sueldo
= [Link]
'Agrega al control ListView los datos
ingresados Personal = New
ListViewItem(Codigo, 0)
[Link](Nombre)
[Link](Sueldo)
[Link](Personal)
'Llama al procedimiento
NoIngresar NoIngresar()
End Sub
Private Sub BtnIgnorar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] =
"" [Link]
= ""
[Link] =
"" NoIngresar()
End Sub
Sub NoIngresar()
[Link] =
True [Link]
= True 'Activa el botón
Nuevo [Link]
= True
'Desactiva los botones Grabar e
Ignorar [Link] = False
[Link] = False
End Sub
End
Class

Semestre 2025 - I 142


119 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 002

Elaborar una aplicacion que permita mostrar la Zona, Departamentos, Provincias en un


TreeView(TvElementos) y que al seleccionar uno de ellos se mostrara sus datos en los labels
respectivos.

Public Class Form1


Private Sub BtnVer_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
[Link]
ar() Dim Padre As
TreeNode Dim Hijo As
TreeNode '**** ZONA
NORTE ****
Padre = New
TreeNode("Norte")
[Link](Pad
re) 'Elementos del Norte
Hijo =
[Link]("Lima")
[Link]("Lima")
[Link]("Huaral")
[Link]("Huacho")
Hijo =
[Link]("Chiclayo")
[Link]("Motupe")
[Link]("Monsefu")
'**** ZONA SUR ****
Padre = New
TreeNode("Sur")
[Link](Pa

Semestre 2025 - I 143


119 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

dre) 'Elementos de la Zona


Sur
Hijo =
[Link]("Chincha")
[Link]("GrosoPrado")
[Link]("ChinchaBaja")

Semestre 2025 - I 144


120 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("ChinchaAlta
") Hijo =
[Link]("Pisco")
[Link]("El Tonel")
[Link]("El Puerto")
Hijo =
[Link]("Ica")
[Link]("Paracas")
[Link]("Ica")
[Link]("Nazca")
'**** ZONA CENTRO****
Padre = New
TreeNode("Centro")
[Link](Padr
e) 'Elementos Centro
Hijo =
[Link]("Huancayo")
Hijo =
[Link]("Cuzco")
End Sub
Private Sub TvElementos_AfterSelect(ByVal sender As [Link], ByVal e As
[Link]
.Forms. TreeViewEventArgs) Handles
[Link] [Link] =
[Link] [Link]
= [Link] [Link]
= [Link]
End
Sub End
Class

Semestre 2025 - I 145


121 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 003

Elaborar una aplicacion que permita registrar los datos de los Empleados de una Empresa, estas
seran mostradas en un ListView llamado LvPersonal, esta lista estara controlada por un Combo
llamado CboModo el cual mostrara los estados del ListView (Iconos
Grandes,Detalle,Lista,Iconos Pequeños,Tìtulos), tambien podran ser mostraos algunos

graficos agregados en un ImageList1.

Public Class Form1


Private Sub Form1_Load(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
'Asigna el formato inicial al control
ListView [Link] =
[Link] [Link] =
True [Link] = True
[Link]("Codigo", 50, [Link])
[Link]("Nombre", 200, [Link])
[Link]("Sueldo", 100, [Link])

'Llena el Personal
Dim Personal As ListViewItem
Personal = New
ListViewItem("001", 0)
[Link]("Julio
Dávila")
[Link]("2,500.00"
) [Link](Personal)

Personal = New
ListViewItem("002", 0)

Semestre 2025 - I 146


121 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("Oscar
Ruiz")

Semestre 2025 - I 147


122 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("850.
00")
[Link](Person
al)

Personal = New ListViewItem("003",


0) [Link]("Miguel
Saavedra")
[Link]("1,350.00")
[Link](Personal)
[Link] = 1

'Evita que se modifique el


código [Link]
= True
'Llama al procedimiento
NoIngresar NoIngresar()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] = [Link]
End Sub
Private Sub LvPersonal_Click(ByVal sender As Object, ByVal e As [Link])
Handles [Link]
[Link] =
[Link](0).SubItems(0).Text
[Link] =
[Link](0).SubItems(1).Text
[Link] =
[Link](0).SubItems(2).Text
End Sub
Private Sub BtnNuevo_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
[Link] = Format([Link] + 1,
"000") 'Permite escribir el Nombre y Sueldo
[Link] =
False
[Link] =
False [Link] =
"" [Link] = ""
[Link]()
'Desactiva el botón
Nuevo [Link]
= False
'Activa los botones Grabar e
Semestre 2025 - I 148
Ignorar [Link] =
True [Link] = True
End Sub

Private Sub BtnGrabar_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]

Semestre 2025 - I 149


123 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Dim Codigo, Nombre, Sueldo As


String Dim Personal As
ListViewItem
'Asigna los datos ingresados a
Variables Codigo = [Link]
Nombre =
[Link] Sueldo
= [Link]
'Agrega al control ListView los datos
ingresados Personal = New
ListViewItem(Codigo, 0)
[Link](Nombre)
[Link](Sueldo)
[Link](Personal)
'Llama al procedimiento
NoIngresar NoIngresar()
End Sub
Private Sub BtnIgnorar_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
[Link] =
"" [Link]
= ""
[Link] =
"" NoIngresar()
End Sub
Sub NoIngresar()
[Link] =
True [Link]
= True 'Activa el botón
Nuevo [Link]
= True
'Desactiva los botones Grabar e
Ignorar [Link] = False
[Link] = False
End Sub
End
Class

Semestre 2025 - I 150


124 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 003

Elaborar una aplicacion que permita mostrar la Zona, Departamentos, Provincias en un


TreeView(TvElementos) y que al seleccionar uno de ellos se mostrara sus datos en los labels
respectivos.

Public Class Form1


Private Sub BtnVer_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
[Link]
ar() Dim Padre As
TreeNode Dim Hijo As
TreeNode '**** ZONA
NORTE ****
Padre = New
TreeNode("Norte")
[Link](Pad
re) 'Elementos del Norte
Hijo =
[Link]("Lima")
[Link]("Lima")
[Link]("Huaral")
[Link]("Huacho")
Hijo =
[Link]("Chiclayo")
[Link]("Motupe")
[Link]("Monsefu")
'**** ZONA SUR ****
Padre = New
TreeNode("Sur")
[Link](Pa

Semestre 2025 - I 151


124 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

dre) 'Elementos de la Zona


Sur
Hijo =
[Link]("Chincha")
[Link]("GrosoPrado")
[Link]("ChinchaBaja")

Semestre 2025 - I 152


125 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

[Link]("ChinchaAlta
") Hijo =
[Link]("Pisco")
[Link]("El Tonel")
[Link]("El Puerto")
Hijo =
[Link]("Ica")
[Link]("Paracas")
[Link]("Ica")
[Link]("Nazca")
'**** ZONA CENTRO****
Padre = New
TreeNode("Centro")
[Link](Padr
e) 'Elementos Centro
Hijo =
[Link]("Huancayo")
Hijo =
[Link]("Cuzco")
End Sub
Private Sub TvElementos_AfterSelect(ByVal sender As [Link], ByVal e As
[Link]
.Forms. TreeViewEventArgs) Handles
[Link] [Link] =
[Link] [Link]
= [Link] [Link]
= [Link]
End
Sub End
Class

Semestre 2025 - I 153


126 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 004

Elaborar una aplicación que permita obtener el factorial y si es un numero primo de un numero
atravez de la creacion de una clase, donde la clase debera validar el ingreso de los numeros y
debera calcular el factorial y si el numero es primo.

CLASE INFORME
Public Class Informe
Dim m_Numero As
Long 'Constructor de
la clase
Public Sub New(ByVal Numero As
Integer) m_Numero = Numero
End Sub
'Propiedad de la clase
Public Property Numero() As
Integer Get
Return
m_Numero End
Get
Set(ByVal value As
Integer) m_Numero =
value
End Set
End
Property
'Métodos de la clase
Public Function Factorial() As
Integer Dim X, F As Integer
If Numero > 11 Then
[Link]("Ingrese Valores entre 0 y 11", "Por
Favor") Exit Function
End
If F =
1
For X = 1 To
Semestre 2025 - I 154
126 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

m_Numero F = F *
X
Next

Semestre 2025 - I 155


127 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Return F
End
Function
Public Function Primo() As
String Dim X As Integer
Dim Sw As Boolean = False
If m_Numero < 3 Then Sw =
False For X = 2 To m_Numero
-1
If m_Numero Mod X = 0
Then Sw = True
End
If Next
If Sw = True
Then Return
"No"
Else
Return
"Si" End If
End
Function End
Class
EN EL FORMULARIO
Public Class Form1
Private Sub BtnVer_Click(ByVal sender As [Link], ByVal e As [Link])
Handles [Link]
If [Link] = [Link] Then
[Link]("Ingrese Número", "Por
Favor") [Link]()
Exit
Sub End
If
Dim Numero As Integer
'Almacena el numero
ingresado
Numero =
[Link]([Link]) 'Crea
una instancia de la clase Informe
Dim Num As New Informe(Numero)
'Muestra los resultados
[Link] =
[Link] [Link]
= [Link]
End
Sub End

Semestre 2025 - I 156


Class

Semestre 2025 - I 157


128 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 005

Elaborar una aplicación que usando una clase nos permita obtener en el primer formulario el Total
vendido a un cliente, y en el formulario dos el total vendido al cliente con descuentos asi como el

total a pagar.

Creando la Clase General:(Total

Compra) Public Class TotalCompra


Dim m_PrecioCompra As
Double Dim m_Cantidad As
Integer 'Constructor de la
clase
Public Sub New(ByVal Pc As Double, ByVal Cant As Integer)
m_PrecioCompra =
Pc m_Cantidad =
Cant
End Sub
'Propiedades de la clase
Public Property PCompra() As Double
Get
Return
m_PrecioCompra End
Get
Set(ByVal value As
Double)
m_PrecioCompra =
value
End Set
End Property
Public Property Cantidad() As Integer

Semestre 2025 - I 158


128 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Get
Return
m_Cantidad End
Get
Set(ByVal value As Integer)

Semestre 2025 - I 159


129 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

m_Cantidad =
value End Set
End Property
'Metodo de la clase
Public Function Total() As
Double Dim Utilidad,
PrecioVenta As Double Select
Case m_Cantidad
Case 1 To 10
Utilidad = 50
Case 11 To 20
Utilidad = 35.8
Case 20 To 40
Utilidad =
10 Case Is >
40
Utilidad =
5.5 End Select
PrecioVenta = m_PrecioCompra * (1 +
Utilidad / 100) Return PrecioVenta *
m_Cantidad
End Function
End Class
Public Class TotalPago
Inherits TotalCompra
Dim m_Descuento As
Double 'Constructor de la
clase
Sub New(ByVal Pc As Double, ByVal Cant As Integer, ByVal Des As Double)
[Link](Pc,
Cant) m_Descuento
= Des
End Sub

Public Property Descuento() As Double


Get
Return
m_Descuento End
Get
Set(ByVal value As
Double)
m_Descuento =
value
End Set

Semestre 2025 - I 160


End Property

Public Function Pagos() As Double


Dim DSoles, Pago As Double
DSoles = [Link] *
m_Descuento / 100 Pago =
[Link] - DSoles

Semestre 2025 - I 161


130 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Return Pago
End
Function End
Class

En el

Formulario1

Public Class

Form1

Private Sub BtnCalcular_Click(ByVal sender As [Link], ByVal e As


[Link]) Handles [Link]
Dim Precio As Double
Dim Cantidad As
Integer
Precio = [Link]([Link])
Cantidad =
[Link]([Link]) Dim R
As New TotalCompra(Precio, Cantidad)
[Link] =
[Link]("#,##0.00")
End
Sub End
Class

En el
Formulario2
Public Class
Form2
Private Sub BtnCalcular_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Dim Precio, Utilidad As
Double Dim Cantidad As
Integer
Precio = [Link]([Link])
Cantidad =
[Link]([Link])
Utilidad =
[Link]([Link])
Dim R As New TotalPago(Precio, Cantidad,
Utilidad) [Link] =
[Link]("#,##0.00") [Link] =

Semestre 2025 - I 162


[Link]("#,##0.00")
End
Sub End
Class

Semestre 2025 - I 163


164 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LABORATORIO - 006

Elaborar una aplicación que use una clase para validar las notas al ingresar y que permita obtener
el promedio la Condicion (Aprobado o Desaprobado) la cualidad (Excelente o Bueno) de un

determinado alumno.

Semestre 2025 - I 164


165 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN VII
BASE DE DATOS

CONTENIDO

 Base de Datos Relacional


 LENGUAJE SQL
PRACTICA DE REFORZAMIENTO

Semestre 2025 - I 165


133 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

BASE DE DATOS RELACIONAL

Concepto

Una base de datos relacional es percibida por el usuario como una colección de
relaciones o tablas bidimensionales.

Ejemplo

La siguiente tabla relacional contiene datos de los empleados.

NUM-EMP APELL NOM NUM-DPTO


NUM-
100 SMITH JOHN 10

320 ADAMS JANE 15

210 BROWN JIM 10

405
GOMEZ JOSE 12

378
JOHNSON LUCY 25

tabla (relación)
fila (tupla)
columna (atributo)

ORIGEN DE LA TEORÍA RELACIONAL

El origen de la teoría relacional viene de la teoría de conjuntos. Una tabla debe ser vista como un
conjunto y para satisfacer un requerimiento de información se aplican operadores de conjunto
como unión, intersección, producto cartesiano, join, proyección, select, etc.

Ejemplo

Para seleccionar a todos los empleados que trabajan en el Departamento 10, use la siguiente instrucción SQL.

SQL SELECT num_emp, apellido, nombre, num-dpto

2 FROM empleado
3 WHERE num_dpto = 10;

Semestre 2025 - I 166


134 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

NUM-EMP APELLIDO NOMBRE NUM-DPTO

100 SMITH JOHN 10


210 BROWN JIM 10

SQL (Structured Query Language) se usa para manipular bases de datos

relacionales. Discusión

 El ANSI (American National Standards Institute) ha establecido a SQL como el lenguaje estándar
para operar sobre bases de datos relacionales.
 Una base de datos relacional puede soportar un completo conjunto de operaciones
relacionales. Las operaciones relacionales manipulan conjuntos de valores de datos. Las tablas
pueden ser operadas para crear otras tablas. Las operaciones relacionales pueden ser
anidadas.
CLAVE PRIMARIA

Una Clave Primaria (PK) es una columna o conjunto de columnas que


únicamente identifica cada fila en una tabla. Cada tabla debe tener una
clave primaria y una clave primaria debe ser única.

Ejemplo

La clave primaria para la tabla EMPLEADOS consiste en la columna NUM_EMP. Cada fila en la tabla
es únicamente identificada por su valor NUM_EMP.

Clave Primaria

NUM-EMP APELL NOM NUM-DPTO Tabla


100 SMITH JOHN 10 EMPLEADOS
310 ADAMS JANE 15
210 BROWN JIM 10
405 GOMEZ JOSE
378 JOHNSON LUCY 05

Semestre 2025 - I 167


135 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Discusión

 No se permiten los duplicados en una Clave Primaria. La clave primaria debe ser única.
 Las claves primarias generalmente no pueden ser cambiadas.
 El UID de una entidad se mapeará a una Clave Primaria en su correspondiente tabla.
CLAVES PRIMARIAS COMPUESTAS

Una Clave Primaria que se conforma de múltiples columnas se llama Clave Primaria

Compuesta. Ejemplo

La clave primaria compuesta para la tabla CUENTA consiste en la combinación de las columnas
NUM_BANCO y NUM_CUENTA. Cada fila es únicamente identificada por sus valores de NUM_BANCO y
NUM_CUENTA.

Clave Primaria

NUM-BANCO NUM-CUENTA SALDO FECHA-APER


104 75760 12,000.50 21-OCT-89 Tabla
104 77956 100.10 CUENTA
105 89570 55,775.00 15-ENE-85
103 55890 15,001.85 10-MAR-71
105 76954 5.00 25-SEP-91

Discusió
n

 Las columnas de una clave primaria compuesta debe ser única en la combinación. Las
columnas individuales pueden tener duplicados, pero en la combinación, no se permiten
duplicados.

CLAVES PRIMARIAS NO NULAS

Ninguna parte de una clave primaria puede ser NULL

(nula). Ejemplo

NUM_EMP es la clave primaria de la tabla EMPLEADOS. Por lo tanto NUM_EMP debe ser definido
como NOT NULL.

Semestre 2025 - I 168


169 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Clave Primaria

NUM-EMP APELL NOM NUM-DPTO Tabla


100 SMITH JOHN 10 EMPLEADOS
310 ADAMS JANE 15
210 BROWN JIM 10
405 GOMEZ JOSE
378 JOHNSON LUCY 05

Ejemplo

¿Cómo viola la tabla CUENTA las reglas de las Claves


Primarias?

Clave Primaria

NUM-BANCO NUM-CUENTA SALDO FECHA-APER


Tabla
104 75760 12,000.50 21-OCT-89
104 77956 100.10 CUENTA
89570 55,775.00 15-ENE-85
103 55890 15,001.85 10-MAR-71
105 5.00 25-SEP-91

Dos de las filas contienen valores NULL en parte de la clave primaria compuesta. Tanto NUM_BANCO
como NUM_CUENTA deben ser definidos como NOT NULLS.

CLAVES CANDIDATAS Y CLAVES ALTERNAS

Una tabla puede tener más de una columna o combinación de columnas que pueden
servir como la clave primaria de la tabla. Cada una de ellas se llama Clave Candidata.

Ejemplo

¿Cuáles son las claves candidatas para la tabla EMPLEADOS?

Semestre 2025 - I 169


170 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

NUM-EMP APELL NOM NUM-DPTO ID-PLASUELD


Tabla
100 SMITH JOHN 10 9710
EMPLEADOS
310 ADAMS JANE 15 8730
210 BROWN JIM 10 1157
405 GOMEZ JOSE 3394
378 JOHNSON LUCY 05 4477

NUM_EMP e ID_PLASUELD son claves


candidatas.

Seleccione una clave candidata para ser la Clave Primaria para la tabla. Las otras
candidatas se convierten en Claves Alternas.

Ejemplo

Clave Primaria Clave Alterna

Tabla
NUM-EMP APELL NOM NUM-DPTO ID-PLASUELD
EMPLEADOS
100 SMITH JOHN 10 9710
310 ADAMS JANE 15 8730
210 BROWN JIM 10 1157
405 GOMEZ JOSE 3394
378 JOHNSON LUCY 05 4477

Discusión

 Todas las Claves Candidatas deben ser únicas y


NOT NULL.
 Los UIDs secundarios se mapean a claves alternas.
CLAVES FORÁNEAS

Una Clave Foránea (FK) es una columna o combinación de columnas en una tabla que es clave
primaria en la misma u otra tabla.

Ejemplo

NUM_DEPT es una FK en la Tabla EMPLEADOS y se refiere a los valores en la columna NUM_DEPT en la


Tabla DEPARTAMENTO.

Semestre 2025 - I 170


138 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Clav e Primaria Clav e Foránea

Tabla
NUM-EMP APELL NOM NUM-DPTO ID-PLASUELD
EMPLEADOS
100 SMITH JOHN 10 9710
310 ADAMS JANE 15 8730
210 BROWN JIM 10 1157
405 GOMEZ JOSE 3394
378 JOHNSON LUCY 05 4477

Clav e Primaria

NUM-DPTONOM-DPTO
Tabla
10FINANZAS
15OPERACIONES DEPARTAMENTO
12MANUFACTURAS
25VENTAS

Discusión

 Las claves foráneas son la implementación de las relaciones de un modelo de datos conceptual.
 Las claves foráneas se basan en los valores de los datos y son puramente lógicas.

Semestre 2025 - I 171


139 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Una clave foránea siempre debe parearse con el valor de


una clave primaria (o de lo contrario ser NULL).

Ejemplo

La FK NUM_DEPT en la tabla EMPLEADOS se refiere a los valores de la PK NUM_DEPT en la


tabla DEPARTAMENTO.

Clav e Primaria Clav e Clav e Primaria


Foránea

NUM-DPTONOM- DPTO
NUM-EMP APELL NUM-DPTO
10FINANZAS
100 SMITH 10 15OPERACIONES
310 ADAMS 15 20MANUFACTURAS
210 BROWN 10 25VENTAS
405 GOMEZ

Tabla Tabla
EMPLEADOS DEPARTAMENTO

Si una Clave Foránea es parte de una Clave Primaria, esa FK no puede

ser NULL. Ejemplo

En la tabla CUENTA, la FK NUM_BANCO debe ser NOT NULL porque es parte de la PK.

Clav e Primaria Clav e Foránea Clav e Primaria

NUM-BANCO NOM-BANCO NUM-BANCO NUM-CUENTA SALDO

104 FIRST 104 75760 12,000.50


150 UNITED 104 77956 100.10
103 CAPITOL FEDERAL 150 89570 55,775.00
105 WORLD SAVINGS 103 33347 15,001.85
105 76954 5.00

Tabla Tabla
BANCO CUENTA

Semestre 2025 - I 172


140 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

LENGUAJE SQL

SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos

Procedimiento de comunicación con la base de datos.

Orden SQL

Base de Datos
Resultado

Lenguaje SQL

SELECT

Sintaxis:

SELECT expresión FROM

tabla [WHERE condición]

[ORDER BY {unsigned_integer | col_name | formula} [ASC |

DESC] ,...] [LIMIT [offset,] row_count | row_count OFFSET

offset]

Ejemplo:

SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC

Obtiene las noticias del día con un tope máximo de 10, ordenadas de la más reciente a la más antigua

Operadores Lógicos

Operador Uso
Es el "y" lógico. Evalua dos condiciones y devuelve un valor de verdad sólo si
AND ambas son
ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna
OR de las dos
es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.

Semestre 2025 - I 173


141 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Operadores de Comparación
Operado Uso
r
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
Utilizado para especificar registros de una base de datos
In

COMANDOS DML (DATA MANIPULATION LANGUAGE)

Permite crear y definir nuevas base de datos, campos e índices.

COMANDO DESCRIPCIO
N

CREATE Utilizados para crear nuevas tablas, campos e índices DROP. empleado para eliminar
tablas o índices

DROP Empleado para eliminar tablas e índices

ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los
campos

Semestre 2025 - I 174


142 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

COMANDOS DLL(DATA LINK LANGUAGE)

COMANDO DESCRIPCION

SELECT Usado para consultar registros en la sede datos

INSERT Usados para cargar lotes de datos

UPDATE Usado para modificar los valores de campos y registros

DELETE Utilizados para eliminar los registros de una tabla de una base de datos.

Permite generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Cláusulas

Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o
manipular.

CLAUSUL DESCRIPCIO
A N
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros.

WHERE Utilizadas para especificar las condiciones que deben reunir los registros que
se van a seleccionar.

GROUP BY Utilizadas para separar los registros seleccionados en grupos específicos.

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo

ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden
especifico.

Semestre 2025 - I 175


143 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

AGRUPACION DE DATOS

Funciones de Agregado

Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para
devolver un único valor que se aplica a un grupo de registros.

Funció Descripció
n n
AVG Utilizada para calcular el promedio de los valores de un campo determinado
COUNT Utilizada para devolver el número de registros de la selección
SUM Utilizada para devolver la suma de todos los valores de un campo determinado
MAX Utilizada para devolver el valor más alto de un campo especificado
MIN Utilizada para devolver el valor más bajo de un campo especificado

GROUP BY
Combina los registros con valores idénticos, en la lista de campos especificados, en un único
registro. Para cada registro se crea un valor sumario si se incluye una función SQL agregada, como
por ejemplo Sum o Count, en la instrucción SELECT. Su
sintaxis es: SELECT campos FROM tabla WHERE criterio
GROUP BY campos del grupo GROUP BY es opcional. Los valores de resumen se omiten si no existe
una función SQL agregada en la instrucción SELECT. Los valores Null en los campos GROUP BY se
agrupan y no se omiten. No obstante, los valores Null no se evalúan en ninguna de las funciones
SQL agregadas. Se utiliza la
cláusula WHERE para excluir aquellas filas que no desea agrupar, y la cláusula HAVING para filtrar
los registros una vez
agrupados. A menos que contenga un dato Memo u Objeto OLE , un campo
de la lista de campos GROUP BY puede referirse a cualquier campo de las tablas que aparecen en
la cláusula FROM, incluso si el campo no está incluido en la instrucción SELECT, siempre y cuando
la instrucción SELECT incluya al menos una función SQL agregada. Todos los campos de la lista
de campos de SELECT deben o bien incluirse en la cláusula GROUP BY o como argumentos de
una función SQL
agregada. SELECT Id_Familia, Sum(Stock) FROM
Productos GROUP BY Id_Familia; Una vez que GROUP BY ha combinado los
registros, HAVING muestra cualquier registro agrupado por la cláusula GROUP BY que
satisfaga las condiciones de la cláusula HAVING. HAVING es similar a
WHERE, determina qué registros se seleccionan. Una vez que los registros se han agrupado
utilizando GROUP BY, HAVING determina cuáles de ellos se van a
mostrar. SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY
Id_Familia HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*;

AVG
Calcula la media aritmética de un conjunto de valores contenidos en un campo especificado de una consulta.

Semestre 2025 - I 176


143 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Su

Semestre 2025 - I 177


144 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

sintaxis es la siguiente
Avg(expr)
En donde expr representa el campo que contiene los datos numéricos para los que se desea
calcular la media o una expresión que realiza un cálculo utilizando los datos de dicho campo. La
media calculada por Avg es la media aritmética (la suma de los valores dividido por el número de
valores). La función Avg no incluye ningún campo Null en el
cálculo. SELECT Avg(Gastos) AS Promedio FROM
Pedidos WHERE Gastos > 100; Count
Calcula el número de registros devueltos por una consulta. Su sintaxis es la
siguiente Count(expr)
En donde expr contiene el nombre del campo que desea contar. Los operandos de expresión
pueden incluir el nombre de un campo de una tabla, una constante o una función (la cual puede ser
intrínseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Puede contar
cualquier tipo de datos incluso texto. Aunque expr puede realizar un cálculo sobre un campo, Count
simplemente cuenta el número de registros sin tener en
cuenta qué valores se almacenan en los registros. La
función Count no cuenta los registros que tienen campos null a menos que expr sea el carácter
comodín asterisco (*). Si utiliza un asterisco, Count calcula el número total de registros, incluyendo
aquellos que contienen campos null. Count(*) es considerablemente más rápida que Count(Campo).
No se debe poner el asterisco entre dobles comillas ('*'). SELECT
Count(*) AS Total FROM
Pedidos; Si expr identifica a múltiples campos, la función Count cuenta un registro sólo
si al menos uno de los campos no es Null. Si todos los campos especificados son Null, no se cuenta
el registro. Hay que separar los nombres de los campos con
ampersand (&). SELECT Count(FechaEnvío &
Transporte) AS Total FROM Pedidos; Max,
Min
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de
una consulta. Su sintaxis
es: Min(expr)

Max(expr)
En donde expr es el campo sobre el que se desea realizar el cálculo. Expr pueden incluir el nombre
de un campo de una tabla, una constante o una función (la cual puede ser intrínseca o definida por
el usuario pero no otras de las funciones agregadas de
SQL). SELECT Min(Gastos) AS ElMin
FROM Pedidos WHERE Pais = 'España'; SELECT Max(Gastos) AS ElMax
FROM Pedidos WHERE Pais = 'España'; StDev,
StDevP
Devuelve estimaciones de la desviación estándar para la población (el total de los registros de la
tabla) o una muestra de la población representada (muestra aleatoria) . Su
sintaxis es: StDev(expr)
StDevP(expr)

Semestre 2025 - I 178


145 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

En donde expr representa el nombre del campo que contiene los datos que desean evaluarse o una expresión

que realiza un cálculo utilizando los datos de dichos campos. Los operandos de expr pueden incluir
el nombre de un campo de una tabla, una constante o una función (la cual puede ser intrínseca o
definida por el usuario pero no otras de las funciones
agregadas de SQL) StDevP evalúa una población, y StDev evalúa
una muestra de la población. Si la consulta contiene menos de dos registros (o ningún registro
para StDevP), estas funciones devuelven un valor Null (el cual indica que la desviación
estándar no puede calcularse).
SELECT StDev(Gastos) AS Desviacion FROM Pedidos WHERE Pai = 'España';
s
SELECT StDevP(Gastos AS Desviacio FROM Pedido WHER Pais 'España';
) n s E =
Sum
Devuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su
sintaxis es: Sum(expr)
En donde expr respresenta el nombre del campo que contiene los datos que desean sumarse o
una expresión que realiza un cálculo utilizando los datos de dichos campos. Los operandos de expr
pueden incluir el nombre de un campo de una tabla, una constante o una función (la cual puede ser
intrínseca o definida por el usuario pero no otras de las
funciones agregadas de SQL). SELECT Sum(PrecioUnidad *
Cantidad) AS Total FROM DetallePedido; Var,
VarP
Devuelve una estimación de la varianza de una población (sobre el total de los registros) o una
muestra de la población (muestra aleatoria de registros) sobre los valores de un campo.
Su sintaxis es: Var(expr)
VarP(expr)
VarP evalúa una población, y Var evalúa una muestra de la población. Expr el nombre del campo
que contiene los datos que desean evaluarse o una expresión que realiza un cálculo utilizando los
datos de dichos campos. Los operandos de expr pueden incluir el nombre de un campo de una
tabla, una constante o una función (la cual puede ser intrínseca o definida por el usuario
pero no otras de las funciones agregadas de SQL) Si la consulta contiene menos de dos
registros, Var y VarP devuelven Null (esto indica que la varianza no puede calcularse). Puede
utilizar Var y VarP en una expresión de consulta o en una Instrucción SQL. SELECT
Var(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'España'; SELECT
VarP(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'España'.

Semestre 2025 - I 179


146 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

COMANDOS DML

COMANDO CREATE TABLE


El comando CREATE TABLE se usa para especificar
una nueva relación por medio de un nombre y
especificando cada uno de sus atributos. A cada
atributo se le da un nombre, un tipo de datos (para
especificar su dominio) y algunas constraints
sobre el atributo. La sintaxis del comando
es:

CREATE TABLE nombre_de_tabla

(definicion_de_columna [,definicion_de_columna ]
...) donde la definición de columna es de la forma :

nombre_de_columna tipo_de_dato [ NOT

NULL ] Claves Primarias

También se puede definir una clave primaria sobre una columna, usando la
palabra clave KEY o PRIMARY KEY.

Solo puede existir una clave primaria en cada tabla, y la columna sobre la que
se define una clave primaria no puede tener valores NULL, Si esto no se
especifica de forma explícita, SQL lo hará de forma automática.

Por ejemplo, si queremos crear un índice en la columna nombre de la tabla alumno crearemos
la tabla de la siguiente manera.

Ejemplo:

create table alumno(idalumno char(4) primary key not null,

nomalum varchar(20) not null, diralum varchar(40) not null, disalum varchar(40) not null);

COMANDO DROP TABLE


El comando DROP TABLE se usa para eliminar una relación y su definición de atributos como
también borra del catálogo la tupla relacionada a esta.
La sintaxis de la Instrucción es :

DROP TABLE
nombre_de_tabla; Ejemplo :

drop table alumno;

Semestre 2025 - I 180


147 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

COMANDO ALTER TABLE

ALTER TABLE: Permite modificar la estructura de una tabla existente. Por ejemplo, se pueden
añadir o eliminar columnas, crear y destruir índices, cambiar el tipo de una columna existente o
renombrar columnas o la propia tabla. También es posible modificar el comentario y el tipo de la
tabla

ALTER TABLE nombre_de_tabla

ADD nombre_de_columna tipo_de_dato;


Ejemplo:

alter table alumno add telefono varchar(10);

Query OK, 2 rows affected (0.20

sec) Records: 2 Duplicates: 0

Warnings: 0 Ejemplo

create table editorial(codeditorial INT AUTO_INCREMENT

PRIMARY KEY, nomeditorial char(25) NOT NULL,

direditorial varchar(25) NOT

NULL, telef varchar(9) NOT

NULL)

COMANDOS DLL

INSERT

Sintaxis:

INSERT [INTO] nombre_tabla

[(nombre_columna,...)] VALUES ((expresión |

DEFAULT),...), (...),...

INSERT [INTO] nombre_tabla

SET nombre_columna=(expresión |

DEFAULT), ... Ejemplo:

INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, “Nueva promoción en

Semestre 2025 - I 181


147 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Nervión”, “145 viviendas de lujo en urbanización ajardinada situadas en un entorno privilegiado”,


“promociones”, CURDATE())

Semestre 2025 - I 182


148 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Inserta una noticia con los valores indicados


SELECT
Sintaxis:
SELECT expresión FROM
tabla [WHERE condición]
[ORDER BY {unsigned_integer | col_name | formula} [ASC |
DESC] ,...] [LIMIT [offset,] row_count | row_count OFFSET
offset]
Ejemplo:
SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC
Obtiene las noticias del día con un tope máximo de 10, ordenadas de la más reciente a la más antigua
UPDATE
Sintaxis:
UPDATE nombre_tabla
SET nombre_columna1=expr1 [,
nombre_columna2=expr2 ...] [WHERE condición]
[ORDER BY ...]
[LIMIT
row_count]
Ejemplo:
UPDATE noticias SET categoria = “ofertas”
WHERE id=37 Modifica la categoría de la noticia
con id=37 de la tabla DELETE
Sintaxis:
DELETE FROM
nombre_tabla [WHERE
condición]
[ORDER BY ...]
[LIMIT
row_count]
Ejemplo:
DELETE FROM noticias WHERE fecha <
CURDATE()-10 Borra las noticias con más de 10
días de antigüedad

Semestre 2025 - I 183


149 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

SESIÓN VII
ADO .NET
CONTENIDO

 ADO NET
 Objeto de acceso a datos
 Acceso a Datos
PRÁCTICA DE REFORZAMIENTO

Semestre 2025 - I 184


150 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

ADO NET ACTIVE DATA OBJECT

Es un nuevo modelo de administración y manejo de datos de MICROSOFT es ADO NET, este


modelo descansa en una serie de objetos especializados que facilitan el procesamiento de una base
de datos.

Fuente: [Link]

El problema es comunicar un programa o aplicación aspx con una base de datos y mas que
comunicar se pretende que el programa o aplicación realice una serie de procesos u operaciones
con la base de datos o mejor aun con el conjunto de tablas que contiene una base de datos.

La primera nota a recordar es que una base de datos puede estar físicamente en el servidor y en
algún folder o directorio del disco duro de dicha maquina servidora, por ejemplo, c:\DATOS\
[Link], como se observa la base que se construyo en MICROSOFT access ([Link]) se
almaceno en el disco c en el folder DATOS.

Sin embargo también es necesario conocer que así como existen servidores de páginas ( web
server ), servidores de correo ( mail server ), servidores de ftp ( ftp server ), etc, también existen
servidores de bases de datos ( database server ), los más comunes son el sqlserver de microsoft,
oracle, mysql, etc, estos servidores también pueden crear, administrar y procesar una base de
datos, por supuesto que el procedimiento que se dio para crearla en access en el tema anterior no
se puede usar para crear y cargar una base de datos en un servidor de bases de datos.(esperar
libros de bases de datos en programación fácil en un próximo futuro).

El modo de comunicarse entre nuestro programa o aplicación y la base de datos (ya sea física o un
dbserver), implica que ambos manejen un lenguaje de programación común, es decir no se puede
mandar una instrucción en csharp, o en basic o pascal a la base de datos y además esperar que
esta ultima la entienda ( para entender esto, una razon muy sencilla es que la base de datos
tendría que conocer o comprender todos los lenguajes de programación), para resolver este

Semestre 2025 - I 185


problema de comunicación es que se usa un lenguaje común de bases de datos que tanto los
lenguajes de programación existentes como las bases de datos entienden, este lenguaje

Semestre 2025 - I 186


151 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

común de bases de datos es el SQL (structured query languaje) o


lenguaje estructurado de consultas.

La pregunta es ahora como mandamos las instrucciones sql a la base de datos, la respuesta son los
OBJETOS ADO NET que estamos analizando en orden y propósito de uso, los estaremos
explicando.

OBJETO CONNECTION:- OBJETO QUE SE UTILIZA PARA ESTABLECER UNA CONECCION O ENLACE A
LA BASE DE DATOS.

Este objeto primero se tendrá que crear en el programa y luego se tendrá que cargar con dos
parámetros (ver ejemplo más abajo), el primer parámetro es el proveedor o la fuente que
proporcionara los datos, los proveedores o fuentes de datos que existen son:

SQLSERVER NET DATA PROVIDER.- QUE SE ESPECIALIZA EN COMUNICARSE Y PROCESAR BASES


DE DATOS CONSTRUIDAS CON MICROSOF SQL SERVER V7.0

[Link] DATA PROVIDER.- QUE SE ESPECIALIZA EN COMUNICARSE Y PROCESAR


BASES DE DATOS QUE A LA FECHA DEL PRESENTE MANUAL UTILIZEN ALGUNOS DE LOS
SIGUIENTES DRIVERS, SQ EDB (VERSIONES ANTERIORES DE SQL SERVER DE
MICROSOFT), MSDAORA (ORACLE), [Link] ( ACCESS Y ALGUNOS OTROS DBMS
DE MICROSOFT)

NOTA: Este es el que se usa en los ejemplos siguientes, observar que aunque VISUAL BASIC 2008
trae por default los controles SQL, en este capitulo se usaran los objetos OLEDB, lo malo es que se
tendrán que crear, cargar y codificar a mano y no olvidar incluir en la parte de arriba del programa
la instrucción using [Link];

ODBC NET .- BASES DE DATOS QUE USAN ODBC COMO MEDIO DE COMUNICACION CON OTRAS
BASES DE DATOS Y APLICACIONES COMO NOTA A CONSIDERAR ODBC NET NO ESTA INCLUIDA POR
DEFAULT EN MICROSOFT NET, SE TIENE QUE BAJAR DE MICROSOFT, AUNQUE SI SE INSTALO
CORRECTAMENTE EL COMPULDARO VISUAL BASIC 2008 YA ESTARA INCLUIDA

El segundo parámetro es la propia base de datos con la cual se comunicara el programa

o aplicación. Ejemplo del objeto CONNECTION

DIM connection AS OLEDBCONNECTION

connection = NEW
OLEDBCONNECTION(“Provider=[Link].4.0;Data Source=c:\
progfacil\lauro\[Link]”)

Es una sola string y los dos parámetros mencionados van separados por el

punto y coma. ATENCION es DATA SOURCE= no usar DATASOURCE= están

advertidos.

ejemplos de los otros proveedores o fuentes mencionados:

Semestre 2025 - I 187


//Provider=MSDAORA; Data Source=ORACLE8i7; User ID=OLEDB; Password=OLEDB

Semestre 2025 - I 188


152 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

//Provider=[Link].4.0;

Data Source=c:\bin\[Link];

//Provider=SQLOLEDB;Data Source=MySQLServer;Integrated Security=SSPI;

OBJETO DE ACCESO A DATOS

SQLCONNECTION

Este objeto es el encargado de la conexión a una base datos SQL Server .Este objeto está
diseñado y optimizado para conectarse a base de datos SQL Server en las versiones indicadas.

SQLDATAADAPTER

Este objeto es el encargado de llevar la conexión establecida en el Objeto Connection, el comando


con los requerimientos deseado y depositar los resultados obtenido en otro objeto llamado
DataSet(Conjunto de Datos) para poder utilizarlos y/o manipularlos en una aplicación.

Los requerimientos pueden ser el contenido de una tabla de una base de datos o parte de ella,así
como la actualización, adición o eliminación de la información.

SQLCOMMAND

Este objeto se utiliza para almacenar el comando con el requerimiento para la conexión
establecida. El comando consiste en una instrucción SQL que depende del requerimiento deseado y
puede ser Select, Update, Insert ó Delete.

DATASET

Este objeto se encarga de recibir el conjunto de datos que devuelve la conexión a través de
objeto DataAdapter,según el comando establecido por el objeto Command.

Procedimiento,-

1) Agregar el objeto SQLCONNECTION en la barra de herramientas ,clic derecho ,elegir


elementos ,selección SQLCONNECTION,aceptar

Se mestre 2012 152


153 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Ubicar el objeto SQLCONNECTION en el formulario, clic derecho propiedades, clic en la propiedad:

Connectionstring(elija conexión nueva)

2)ubicar el objeto SQLCOMMAND en el formulario,clic derecho en propiedades, clic en:

Propiedad Valor
Connecction String SqlConecction1
Command Text

Semestre 2025 - I 153


154 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Select * from products ,clic en aceptar

3)Ubicar el objeto SQLDATAADAPTER en el formulario, clic derecho en propiedades

. Clic en la ficha Cancelar,


asigne las siguientes
propiedades

Propiedad Valor
Connecction String SqlConecction1
SelectCommand SqlCommand1

4)Ubicar el objeto DATASET en el formulario de la siguiente forma:

Semestre 2025 - I 154


155 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

Clic en Conjunto de
datos sin tipo, clic en
Aceptar

Semestre 2025 - I 155


156 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

5)Ubicar el control TabControl

TabControl1
TabPage1 Text Lista de Productos
TabPage2 Text Lista de Categorías

6) Agregar el control DataGrid en la ficha de control1

Semestre 2025 - I 156


157 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

En el DataGrid se presentan los datos provenientes del conjunto de datos (DataSet) asignando en
la propiedad DataSoirce lo siguiente:

Propiedad Valor
Datasource Dataset1

En el evento load del Formulario llenar el siguiente

Código [Link]()

[Link](Dataset1)

7) Ahora resuelva usted las siguientes fichas deben mostrar lo siguiente:

Ficha1 Lista de Productos


Ficha2 Lista de Categorías
Ficha3 Lista de los Nombres de categoría y Nombres de Producto
Ficha4 Lista de Nombres de Producto y Cantidad Solicitada
Ficha5 Lista de Nombre de Producto e Importe
Ficha6 Lista de Nombre de Producto y Cuantos por Producto
Ficha7 Lista de Nombre de Producto y Suma de Importes por Producto
Ficha8 Lista de Nombre de Categoría y Cuantos por Categoria
Ficha9 Lista de Nombre de Clientes(Customers)
Ficha10 Lista de Nombre de Cliente y el Importe por cada cliente

Para las siguientes fichas agregar los objetos

Ejemplo(sqladapter2,sqlcommand2,dataset2,datagrid2…)

Semestre 2025 - I 157


158 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

VISUAL NET
(Acceso a Datos)

Imports [Link]
Imports [Link]
Public Class Form28
Private Sub Button1_Click(ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
Try
Dim cn As New SqlConnection("Data Source=(local);Initial Catalog=Northwind;uid=sa;pwd=")
Dim sql As String, nivel As Integer
sql = "select * from usuario where iduser='" & [Link] & "' and " & " pwd='" & [Link]
&
"'"
[Link] = sql
Dim cmd As New SqlCommand(sql, cn)
Dim dato As SqlDataReader, acceso As Boolean

[Link]()
dato =
[Link]
[Link]()
Dim usuario, contraseña As
String usuario = dato(0)
contraseña = dato(2)

Semestre 2025 - I 158


159 HERRAMIENTAS DE DESARROLLO DE SOFTWARE

nivel = Val(dato(3))
[Link]("El usuario es :" & usuario, "Prueba")
[Link]("La Contraseña es1 :" & contraseña,
"Prueba") [Link]("El Nivel es " & nivel, "Prueba")
MsgBox("hay
conexion")
[Link]()
If nivel = 1 Then
[Link] =
True
[Link] =
True
[Link] =
True
[Link] =
True
Else
If nivel = 2 Then
[Link] =
False
[Link] =
True
[Link] =
True
[Link] =
True
Else
[Link] =
False
[Link] =
False
[Link] =
False
[Link] =
True
End If

End If
[Link]
()
Catch ex As SqlException
MsgBox("no hay
conexion")
End
Try End
Semestre 2025 - I 159
Sub
End Class

Semestre 2025 - I 160

También podría gustarte