Guia 01 LP1: Introduccion a Visual Basic .NET

Anuncio
UNIVERSIDAD DON BOSCO
FACULTAD DE ESTUDIOS TECNOLÓGICOS
ESCUELA DE COMPUTACION
GUIA DE LABORATORIO #01
CICLO: 02/ 2013
Nombre de la Practica:
INTRODUCCION A VISUAL BASIC .NET
Lugar de Ejecución:
Centro de Computo
Tiempo Estimado:
2 horas y 30 minutos
MATERIA:
Lenguajes de Programación 1
I. OBJETIVOS
Que el estudiante:
•
Reconozca el entorno de herramientas y ventanas que forman al IDE de Visual Studio .Net
•
Se familiarice con los tipos de proyectos de Visual Basic .NET
•
Elabore programas respetando la sintaxis de VB.NET
•
Aplique los pasos para la construcción de una aplicación de tipo Windows Form.
•
Diferencie uso de los Tipos de Datos y variables que existen en VB.NET
•
Pueda declarar variables en diferentes ámbitos/alcances
II. INTRODUCCION TEORICA
¿Qué es Visual Basic?
Visual Basic es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows.
Las aplicaciones creadas con Visual Basic están basadas en objetos y son manejadas por eventos. Visual Basic se
deriva del lenguaje Basic, el cual es un lenguaje de programación estructurado. Sin embargo, Visual Basic emplea
un modelo de programación manejada por eventos.
¿Qué es Visual Basic .NET?
Es un lenguaje orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo; comparte el
entorno de desarrollo con Microsoft Visual C++ .NET, Microsoft Visual C# .NET, etc.
Entorno de Desarrollo
Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web
ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones móviles. Visual Basic, Visual C++, Visual
C# y Visual J# utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y
facilita la creación de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de
1
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
.NET Framework, que ofrece acceso a tecnologías clave para simplificar el desarrollo de aplicaciones Web ASP y
Servicios Web XML.
Imagen 1.1: Vista inicial de un proyecto Windows Forms
Imagen 1.2: Vista de los controles mas comúnmente utilizados en un formulario
Lenguajes de Programación 1
2
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Visual Basic 2008 incluye entre muchas capacidades, la continuación de bucles, la disposición garantizada de
recursos, las propiedades de acceso combinado, los tipos de datos sin signo y que aceptan valores NULL, la
sobrecarga de operadores, los tipos parciales y genéricos, los eventos personalizados y la comprobación de la
compatibilidad con Common Language Specification (CLS).
Ambiente de desarrollo para Aplicaciones Windows
En VB hay diversas de tipos de proyectos disponibles, de los cuales se trataran a los proyectos de tipo Windows.
Estos proyectos presentan un formulario en blanco con las ventanas de apoyo mostradas en la imagen 1.1.
Cuadro de Herramientas
Dentro de un formulario, VB dispone al programador de una serie de controles, los cuales son las maneras de
cómo la aplicación puede interactuar con los usuarios a los cuales ira dirigida la aplicación a construir. Con el
.NET Framework 3.5 consta de una diversidad de controles y objetos para usar en las aplicaciones, clasificados en
categorías. En la imagen 1.2 se muestran un listado de los controles más comunes utilizados dentro de un form.
Una descripción básica de algunos de estos se muestra en la Tabla 1. Observe que cada control tiene su icono,
nombre, prefijo y su descripción.
Icono
Nombre
Prefijo
Descripción
Controles
comunes
Button
btn
Se utiliza para iniciar, detener o interrumpir un proceso
CheckBox
chk
Muestra una casilla de verificación y una etiqueta para
texto. Se utiliza en general para establecer opciones.
ComboBox
cbo
Muestra una lista desplegable de elementos.
DateTimePicker
dtp
Muestra un calendario gráfico desplegable, que permite
que los usuarios seleccionen una fecha o una hora.
Label
lbl
Muestra texto que los usuarios no pueden modificar
directamente.
ListBox
lst
Muestra una lista de textos, también llamados elementos.
MaskedTextBox
msk
Captura texto escrito por el usuario, ya sea teniendo un
formato de entrada.
PictureBox
pic
Muestra archivos de imágenes, tales como mapas de bits e
iconos, gifs, etc.
RadioButton
rdb
Muestra un botón que puede activarse o desactivarse.
TextBox
txt
Muestra texto escrito en tiempo de diseño que puede ser
editado por los usuarios en tiempo de ejecución.
ImageList
img
Es un contenedor de imágenes, para que después se use
con otros controles.
Timer
tmr
Sirve para realizar un conteo de tiempo, en tiempo de
ejecución.
Components
Lenguajes de Programación 1
3
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Icono
Nombre
Prefijo
Descripción
Containers
FlowLayoutPanel
flp
Es un contenedor de controles que no permite la
modificación de la posición del control.
GroupBox
gpb
Agrupa un conjunto de controles (tales como botones de
opción) en un marco con etiqueta.
Panel
pnl
Agrupa un conjunto de controles en un marco sin etiqueta
que permite el desplazamiento.
Tabla 1: Descripción de algunos controles más utilizados de la “barra de controles”
El prefijo es una combinación de letras que se le sugiere al programador colocar al inicio del identificador
(nombre) del control agregado, de acuerdo al tipo del mismo. Con este prefijo, se pretende que al momento de dar
lectura a un código con muchas referencias a objetos utilizados, sea más fácil de entender y comprender.
Estructura de un programa en Visual Basic
El código VB se agrupa en Módulos/Procedimientos y en Clases que se almacenan en 1 o mas archivos. A su vez,
estos archivos se agrupan en proyectos, que se compilan en aplicaciones.
Los módulos de clase se verán posteriormente en el curso.
Módulos estándar
Un modulo agrupa código fuente de una aplicación y se almacena en una archivo .vb. Para definir un modulo se
usa la sintaxis siguiente:
[Public │ Friend] Module nombre_modulo
[Sentencias]
End Module
Procedimientos
Tal como recordara en cursos anteriores, un procedimiento es un conjunto de sentencias limitadas en un bloque
bajo un nombre. En VB, el bloque de sentencias va limitado entre las declaraciones Sub y End Sub, o Function y
End Function, los cuales se utilizan así:
•
Procedimiento Sub: ejecutan acciones pero no devuelven un resultado al código que lo invoco
•
Procedimiento Function: ejecutan acciones y devuelven un resultado al código que los invoco.
•
Procedimientos conducidos por Eventos: son procedimientos que se ejecutan como respuesta a un suceso
ocurrido en un programa.
•
Procedimientos que definen propiedades: permiten devolver o asignar valores a propiedades definidas en un
modulo, clase o estructura.
•
Procedimientos que sobrecargan operadores. Definen la conducta de un operador estándar en un contexto
diferente para el que esta definido.
•
Procedimiento Main
Este procedimiento es el “punto de entrada/inicio” de la aplicación, el 1er procedimiento al cual se obtiene acceso
al ejecutar el código.
Lenguajes de Programación 1
4
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Un procedimiento será invocado desde algún otro lugar en el código, para ceder el control de ejecución a este
nuevo código. Al finalizar el procedimiento, retorna el control de ejecución al código que lo mando a llamar.
En esta introducción nos centraremos en los procedimientos conducidos por eventos y además a Main.
El procedimiento Main es publico (public), no tiene argumentos/parámetros y no devuelve valor al finalizar
Un procedimiento activado por evento se crea agregando al encabezado de un procedimiento la palabra Handles
y luego la pareja (NomObjeto.NomEvento) al cual será enlazado. Por ejemplo, el siguiente código es un
procedimiento que enlaza el evento Clic del control btnSaludo. El código contenido en este procedimiento se
activara cada vez que usuario de clic sobre dicho control.
Private Sub btnSaludo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnSaludo.Click
MsgBox ("Hola a todos")
End Sub
Manejo de Variables en VB.Net
Tipos de datos disponibles
En Visual Basic Net a toda variable que se use en un programa, se le debe asociar (generalmente al principio del
programa) un tipo de dato especifico. Un tipo de dato define todo el posible rango de valores que una variable
puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.
Varios de los tipos de datos más comunes en Visual Basic Net se muestran en la Tabla 2
Declaración de Variables
Para declarar una variable dentro de un procedimiento se realiza anteponiendo el Ambito (ver mas adelante) con
la palabra reservada Dim al nombre de la variable, seguida de la palabra reservada As y el tipo de dato declarado.
Un ejemplo sencillo sería: Dim strMiVar As String
Observe varios ejemplos de declaración de variables en la descripción de los tipos de datos de la Tabla 2.
Tipo de dato
Tipo en CLR
(Visual Basic)
(Framework)
Boolean
System.Boolean
Rango valores disponibles
True (verdadero), False (falso)
Ejemplo: Dim Res As Boolean = True
Byte
System.Byte
Valores positivos (entre 0 a 255).
Ejemplo: Dim b as Byte = 129
Date
System.DateTime
Fechas, entre las 0:00:00 del 1 de Enero del 0001 hasta las 23:59:59 del 31
de Diciembre del 9999.
Las fechas deben representarse entre almohadillas # y por lo habitual
usando el formato norteamericano: #m-d-yyyy#
Dim d As Date = #10-27-2001#
Integer
System.Int32
Un número entero (sin decimales).
Valores: de -2,147,483,648 a 2,147,483,647. Se puede usar la letra I o el
Lenguajes de Programación 1
5
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Tipo de dato
Tipo en CLR
(Visual Basic)
(Framework)
Rango valores disponibles
signo % para indicar que es un número entero:
Dim unEntero As Integer = 250009I
Dim unEntero2 As Integer = 652000%
Single
System.Single
Número de coma flotante de precisión simple. Valores: de -3.4028235E+38
a -1.401298E-45 para valores negativos; de 1.401298E-45 a 3.4028235E+38
para valores positivos. Se pueden usar la letra F y el símbolo ! para
indicar que es un número Single:
Dim unSingle As Single = 987.125F
Dim unSingle2 As Single = 65478.6547!
String
(cadenas
longitud
variable)
de
System.String
(clase)
Depende de la plataforma. Una cadena de caracteres Unicode.
Valores:
De 0 a aproximadamente 2 billones (2^31) de caracteres Unicode.
Se puede usar el símbolo $ para indicar que una variable es un String.
Tabla 2: Algunos de los tipos de datos más utilizados en VB.NET
Si declaramos un conjunto de variables de un mismo tipo se declaran de la forma:
Dim strMiVar1, strMiVar2, strMiVar3 As String
En VB NET podemos declarar una variable y asignarla un valor inicial a la hora de declarar esta variable. El
siguiente ejemplo, ayudará a comprender mejor esto:
Dim strMiVar As String = "Ejemplo en Visual Basic 2005"
Inclusive podemos declarar variables de forma anidada y asignarle valores directamente, como por ejemplo:
Dim Val1 As Integer = 2, Val2 As Integer = 3, Val3 As Integer = Val1 + Val2
Otro aspecto destacable en la declaración de variables en Visual Basic 2005, es el uso y gestión de variables de tipo
String. Este tipo de variables se declaran como Nothing en su inicialización. Es decir, una variable String que se
declara por primera vez, no se inicializa a "" -cadena vacía- sino que se inicializa a un valor Nothing. Observe esta
demostración:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
Dim strValor As String
If strValor Is Nothing Then
MessageBox.Show("guarda Nothing")
Else
MessageBox.Show("Tiene datos")
End If
End Sub
Este ejemplo, mostrará en pantalla que el valor de la variable strValor es “Nothing”, y que por lo tanto, se trata de
una variable no inicializada.
Por último, mencionar un aspecto destacable sobre el carácter " en las cadenas de texto. Una cadena de texto debe
de ser introducida entre caracteres ". Sin embargo, podemos encontrarnos con la posibilidad de que queremos
Lenguajes de Programación 1
6
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
escribir este mismo carácter dentro de la cadena de texto. Esto se hará duplicando siempre el carácter " que
queremos escribir. Si por ejemplo queremos escribir la palabra Hola “Mundo”, declararemos nuestra variable
como:
txtVar = "Hola ""Mundo""
Ambito de las variables
El ámbito indica en que lugar de la aplicación podra y deberá utilizar la variable. Puede ser una de las siguientes
palabras claves. Dim, Static, Private o Public.
Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se declara una variable a nivel de
procedimiento con la palabra Dim, Visual Basic reinicializa (borra su contenido) la variable cada vez que ejecuta
el procedimiento. Ejemplo: Dim a As Integer
Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declara con la palabra Static, Visual Basic
no reinicializa la variable cada vez que se ejecuta el procedimiento, solo lo hace la primera vez. Esto quiere decir
que la variable conserva su valor entre una llamada al procedimiento y otra. Ejemplo: Static b As Double
Private: Se utiliza solo a nivel del modulo e indica que la variable es privada; es decir, solo va a ser reconocida
dentro del módulo donde ha sido declarada, ejemplo: Private c as String
Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; es decir, va a ser reconocida en toda la
aplicación. Ejemplo Public d As Date
Declaración de Constantes
Dentro de una aplicación, puede ser adecuado e interesante la declaración y uso de valores constantes cuyo valor
asignado, no sea modificable a lo largo de la aplicación y que se utilice para un caso o ejecución determinada.
El típico valor constante de ejemplo en toda demostración del uso y declaración de variables constantes es el valor
PI. Para declarar una variable de tipo constante, tendremos que declarar el tipo de variable con la palabra
reservada Const delante de la variable. Observe el siguiente ejemplo:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
Const PI As Double = 3.1416
Dim dValor As Decimal
dValor = (2 * PI) ^ 2
MessageBox.Show(dValor)
End Sub
Expresiones en VB: Prioridad en los Operadores
Los operadores mas utilizados en la redaccion de expresiones en VB.NET se muestran en la Tabla 3.
Cuando se escriben aplicaciones es posible que tenga que utilizar varios operadores para evaluar una sola
expresión ó conjunto de ellas.
Dim dblRet As Double
dblRet = 5 * 4 / 6 ^ 4 + 9 – 100 'devuelve -90.9845679012346
Console.WriteLine(dblRet)
Console.ReadLine()
En esta expresión, se utilizan cinco operadores para recuperar el valor de la variable dblRet. El orden de prioridad
en el que se evalúan los operadores afecta al resultado.
Lenguajes de Programación 1
7
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Dim dblRet As Double
dblRet = ((5 * 4) / 6) ^ 4 + 9 - 100 'devuelve 32.4567901234568
Console.WriteLine(dblRet)
Console.ReadLine()
En ambos ejemplos, se observa que aunque utilicen los mismos números, los resultados son diferentes en función
del uso de los paréntesis. Por lo tanto hay que tener en cuenta dos elementos:
1. La ubicación de los paréntesis en la expresión
2. El orden de los operadores en la expresión
#
Agrupación
1
()
ARITMÉTICOS
COMPARATIVOS
LÓGICOS
2
Exponenciación (^)
=
Negación (Not)
3
Negación (-)
<>
Conjunción (And, AndAlso)
4
Multiplicación y división (*, /)
<
5
División de números enteros (\)
6
Módulo aritmético (Mod)
7
Suma y resta (+, -)
8
Operadores a bits
9
Concatenación de cadenas (&)
>
<=
>=
Disyunción (Or, OrElse, Xor)
Like, Is…
Tabla 3: Jerarquía de algunos de los Operadores de VB.NET
Cuando se utilizan paréntesis en una expresión, son los primeros en calcularse, por lo tanto en los ejemplos
anteriores, se dan dos resultados diferentes porque los paréntesis anulan el orden de prioridad de los operadores,
lo que ocasiona que una porción ó varias de la expresión se evalúen por otras. A continuación se incluye un
resumen de las reglas:
La evaluación de los operadores se efectúa de izquierda a derecha.
Los operadores aritméticos se evalúan siempre en primer lugar, seguidos de los operadores comparativos y,
por último, los operadores lógicos.
Los operadores comparativos tienen el mismo orden de preferencia.
Las operaciones encerradas entre paréntesis se evalúan antes que las operaciones situadas afuera.
El operador de concatenación precede a todos los operadores comparativos y se sitúa detrás de los
operadores aritméticos.
FUNCIONES DE CONVERSION DE TIPOS.
Son funciones del sistema que sirven para hacer conversiones de tipos de datos, pasar una variable de un tipo de
dato a otro, siempre y cuando la variable que queremos convertir contenga un valor valido equivalente al tipo de
dato que queremos convertir.
Las funciones de conversiones () se deben utilizar cuando tenemos activo el Opcion Strict que obliga a utilizar
los tipos de datos adecuados sino genera un error. Las funciones de conversión más comunes son:
Nombre de la
función
CBool(expresion)
Tipo de dato que
devuelve
Boolean
Lenguajes de Programación 1
Valores del argumento
Cualquier valor de cadena o expresión numérica.
8
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Nombre de la
función
Tipo de dato que
devuelve
Valores del argumento
CByte(expresion)
Byte
De 0 a 255; las fracciones se redondean.
CChar(expresion)
Char
Cualquier expresión de cadena; los valores deben ser de 0 a
65535.
CDate(expresion)
Date
Cualquier representación válida de una fecha o una hora.
CDbl(expresion)
Double
Cualquier valor Double.
CDec(expresion)
Decimal
Cualquier valor Decimal
CInt(expresion)
Integer
Cualquier valor Integer
CLng(expresion)
Long
Cualquier valor Long.
CObj(expresion)
Object
Cualquier expresión válida.
CShort(expresion)
Short
Cualquier valor Short.
CSng(expresion)
Single
Cualquier valor Single.
CStr(expresion)
String
Depende del tipo de datos de la expresión. (Ver nota [A])
Val(expresion)
Double
Una cadena de caracteres.
Fix(expresion)
Depende del tipo de
datos de la expresión
Cualquier tipo de datos
Int(expresion)
Depende del tipo de
datos de la expresión
Cualquier tipo de datos
[A] Todos los objetos de vb.NET tienen unos métodos para realizar conversiones a otros tipos, al menos de
número a cadena, ya que tienen la propiedad .ToString que devuelve una representación en formato cadena del
número en cuestión (igual que CStr).
Tabla 3: Lista de funciones intrínsecas más comunes
Sentencias de Control Condicional
En VB se dispone de las siguientes estructuras de tomas de decisiones:
If … Then [ Else ]
Select Case
Ambas estructuras son equivalentes en su ejecución a las estructuras if-else y switch de lenguaje C,
respectivamente. Observe la sintaxis de uso en Tabla 4.
Estructura If-Then-[Else]
Estructura Select Case
Select [Case] [(]ExpresionaProbar[)]
Case Expresion1
[sentencias 1]
[Case Expresion2]
[sentencias 2]
If [(] Condición[)] Then
Sentencias cuando se cumpla Condición
[Else
Sentencias a ejecutar al no cumplir condición
]
End If
[Case Else]
[sentencias n]
End Select
+ Nota: los elementos entre [ ] son opcionales
Tabla 4: sintaxis generales de estructuras repetitivas de VB
Lenguajes de Programación 1
9
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Con respecto a estructura Select Case…
La variable ExpresionaProbar puede ser una expresión numérica o
alfanumérica, y Expresion1, Expresion2… representan una lista de
expresiones que pueden tomar estas formas:
Expresion To Expresion
Expresion[, Expresion] …
En todas estas formas, Expresion debe ser del mismo tipo que la
ExpresionaProbar.
Combinación de las anteriores
Is Operador-de-relacion Expresion
Observe algunos ejemplos a continuación
Ejemplos de Expresiones
En sentencia Case
Significado…
Case Is < 4
la ExpresionaProbar sea menor que 4
Case Is >= Q
ExpresionaProbar sea mayor o igual que valor Q
Case 3
El valor de ExpresionaProbar sea igual a 3
Case W To 52
ExpresionaProbar esté ubicado en el rango: valor de W hasta 52 máximo
Case 7, A
ExpresionaProbar sea igual a 7 o igual al valor de A
Case “si”,”SI”
ExpresionaProbar sea “si” o sino “SI”
Case 6, -12 To 4
ExpresionaProbar sea igual a 6, o que se ubique en rango -12 a 4
Si estructura Select no encuentra coincidencia con ninguna de las expresiones de pruebas Case, buscara ejecutar
bloque Case Else.
Comentarios (ayuda para ti programador!!)
Cuando una línea de un programa, o parte de ella, va precedida de una comilla simple ( ‘ ), VB ignorara esta línea
como un comentario, iniciando del carácter siguiente hasta el final de esa línea.
III. MATERIALES Y EQUIPO
Para la realización de la guía de práctica se requerirá lo siguiente:
No.
1
Requerimiento
Cantidad
Guía de Laboratorio #01 de LP1
1
PC con Microsoft Visual Studio 2010 .NET instalado
1
2
Memoria USB
1
3
Computadora con acceso a Internet
1
IV. PROCEDIMIENTO
Para esta práctica deberá crear una carpeta con el nombre de “Práctica1LP1_CARNET”, en la cual va a guardar
todos los archivos de esta práctica y de análisis de resultados.
Lenguajes de Programación 1
10
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
PARTE 1: Creando una Aplicación Windows
•
Pasos para la creación de aplicaciones en Visual Basic
1.
En el menú Inicio de Windows, localice a Microsoft Visual Basic 2010 dentro del listado de accesos de
programas instalados
2.
Aparecerá la pantalla de bienvenida que es la interfaz para Visual Studio, también conocida como
Entorno de Desarrollo Integrado o IDE.
3.
Haga clic en el menú Archivo y luego sobre opción Nuevo Proyecto…
4.
Aparece el cuadro de diálogo Nuevo proyecto (Ver Figura 1.1).
5.
De las plantillas recientes (ver columna a la izquierda), seleccione Visual Basic y luego su plantilla
“Windows”. En la parte central, de clic sobre opción “Aplicación de Windows Forms”
Figura 1.1: Selección de tipos de Proyectos en Visual Studio .NET
6.
En la parte inferior, en la opción Nombre, modifíquelo con el nombre Ejemplo1, el cual será el nombre de
nuestro proyecto. Haga clic en Aceptar.
7.
Ahora proceda a incluir en el area de Diseño del Form, a c/u de los controles mostrados en la Figura 1.2
Apóyese en la imagen 1.1 (de la introducción teórica), localice el panel Cuadro de herramientas y
determine el tipo control a utilizar.
8.
Hay 2 maneras de agregar los controles deseados al formulario:
a) Dar clic sobre el control requerido de la barra herramientas y luego dar un clic en el area del form que
usara ese control.
b) Dar clic sobre el control en barra herramientas y luego, colocar cursor del ratón sobre area del form,
manteniendo presionado botón principal .
Lenguajes de Programación 1
11
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
•
Establecer las propiedades de los Controles
9.
Las propiedades de un Control, cambian la apariencia y/o el funcionamiento del mismo ante el usuario
que usa el form. Una propiedad en Visual Basic representa un atributo de un objeto, en este caso, un
Control. Por ejemplo:
Uno de los atributos de un control Button es el texto que este muestra. En este caso, se puede modificar al
asignar la propiedad Text. La mayoría de éstas modificaciones también se pueden establecer o ejecutar
dentro del código del programa
Las propiedades pueden tomar muchos tipos diferentes de valores además del texto.
Si se cambia el tamaño de un control o se reubica, también se actualizan las propiedades Size y Location
que determinan el tamaño y la ubicación de un control en el formulario.
CONTROL
PROPIEDAD
Nuevo VALOR
Form1
Text
Pruebas
variables
BackColor
Un color Personalizado a su
gusto
Name
btnContar
Text
Contar
Name
btnReinicio
Text
Reiniciar conteo
Name
btnFin
Text
Salir programa
Button1
Button2
Button3
de
ámbito
de
Figura 1.2: Vista Formulario del Ejemplo 1 y los controles
requeridos.
10. En la tabla de la Figura 1.2 se detalla a los diferentes controles colocados en el Form1 y las propiedades (y
su nuevo valor) que deberá modificar antes de continuar. Observe uso de prefijos en el identificador de
c/control (que es definido en propiedad Name de c/control).
•
Agregar el código y la funcionalidad al Programa
11. Para agregar código a un determinado control se debe de hacer doble clic sobre el. De doble clic sobre un
area del control Form1. Se abrirá una nueva ventana denominada Editor de código, como se muestra en la
Figura 1.3.
Figura 1.3: Editor de código de Visual Studio .NET
Lenguajes de Programación 1
12
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
En la parte superior se muestran los contenidos de los archivos de código y diseño de los objetos Form y
modulo.
Luego hay 2 listados de selección en la parte superior, el de la izquierda muestra los Nombres de Objetos
disponibles y a la derecha los Nombres de los Procedimientos de Eventos en los cuales se agregaran los códigos a
programar. Estos permiten ubicar al cursor de escritura en el modulo y procedimientos correctos a
programar.
12. En la Figura 1.3, el Editor de código muestra primero el encabezado-final del modulo de clase Form1, el
cual contendrá a su vez todo el código utilizado para programar a los objetos insertados en el mismo.
Luego se muestra el encabezado-final del procedimiento de evento Load del objeto formulario Form1, así:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
End Sub
13. Este código es un Controlador de evento, también denominado procedimiento Sub manejado por evento.
Cualquier código dentro de este procedimiento (entre Sub y End Sub) se ejecuta cada vez que suceda el evento
programado para ese control.
14. Ejecute el programa creado hasta aquí. Lo puede hacer de tres formas diferentes:
• Presionando la tecla F5
• Eligiendo en el menú Depurar -> Iniciar Depuración
• Haciendo clic en la Barra Estándar en el 1er icono del siguiente trio
de la barra de botones Estándar.
15. Finalice la ejecución del programa en diseño, seleccionando el 3er botón del trio mencionado en paso
anterior.
PARTE 2: Declaración de variables y Ámbito/Alcances de las mismas
16. Retorne a la ventana de código del form1. Desplace el cursor en cada línea de código y observe que los
listados superiores de ubicación de código cambian de acuerdo a donde se localice el cursor.
17. Ahora redacte cada bloque de código a continuación. Para ello, seleccione c/objeto y el Evento/Nivel a
programar (de los cuadros de selección objeto-eventos superiores) indicados.
(*) Por cada selección cuide la ubicación del cursor, porque VB le ayuda a colocarlo al inicio del bloque donde
usted ha ubicado a las opciones de objetos y eventos para programar!!
Objeto
y
Evento/Nivel
código a incluir
Form1
(Declaraciones)
'Private conta As Integer 'variable entera de alcance privado
Private mensa As String
(Form1 eventos)
Load
'Evento se ejecuta al iniciar ejecucion de Form1
mensa = "Aun no ha presionado boton Contar"
Label1.Text = mensa
Lenguajes de Programación 1
13
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
btnContar
Click
'Acumulador, total veces que presiona boton
Dim conta As Integer
conta = conta + 1
'conta += 1 ‘En forma de Operador Abreviado
mensa = "Presiono boton Contar, un total de " & CStr(conta) & " veces"
Label1.Text = mensa
btnReinicio
Click
'Restaura conteo clic realizados a button1
'conta = 0
'mensa = "Presiono boton Contar, un total de " & CStr(conta) & " veces"
Label1.Text = mensa
BtnFin
Click
End 'Finaliza aplicación
18. Ejecute nuevamente la aplicación, observe el mensaje en la Label1. De clic sobre el botón Contar. Observe
que variable conta cuenta el total de clic hechos al control por usuario.
19. De clic varias veces en botón Contar. Vera que no funciona el conteo hecho por la variable conta, siempre
muestra 1 vez ha hecho clic.
20. De clic en botón Salir programa. El programa finaliza su ejecución y retorna a la etapa de diseño.
21. Localice el código del evento Clic del control btnContar y reemplace la palabra reservada Dim de la
declaración de variable conta, por la palabra Static.
22. Ejecute nuevamente el programa y de clic varias veces en el botón Contar. Responda ¿Ahora funciona el
conteo?, ¿Por que?, Explique!!
23. Finalice ejecución y regrese a la ventana de Diseño del Form1. Ubique el cursor en el código del evento
Click del botón btnReinicio y reactive (quitando comilla simple de comentario) a las asignaciones a las
variables conta y mensa ejecutadas ahí.
24. Vera que se marca error al indicar que variable conta no esta creada en el procedimiento Button2_Click
25. Para corregirlo, comente la línea de declaración de variable conta, ubicada en evento click del btnContar
26. Seleccione Objeto Form1 y Nivel de (Declaraciones) de los cuadros de listas de ubicación del Cursor, para
luego agregar ahí una nueva declaración: Dim conta As Integer
27. Vuelva a ejecutar el programa y en algún momento presione botón btnReinicio. El valor de variable conta
será asignado a cero
28. Guarde su proyecto, presionando opción Archivo/Guardar Todo.... Observe la ubicación (carpeta de
proyectos de Visual Studio) predetermina que ofrece Framework. Guarde su proyecto en carpeta mis
documentos del usuario con el cual ha iniciado sesión en su PC.
29. Finalmente localice y presione opción Archivo/Cerrar Proyecto
Lenguajes de Programación 1
14
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
PARTE 3: Tomas de decisiones (If Then Else)
Ahora procederá a solucionar este problema:
“Una administradora de prestamos requiere ingresar los datos de un préstamo (Monto a prestar, Tasa
interés mensual y total de años (a 2 años inicialmente)) que se entregara a una Empresa ingresada.
Determine el monto final que se pagara”.
1.
De clic en la opción Archivo/Proyectos y soluciones recientes.
2.
En esta lista de proyectos recientes, localice el nombre del proyecto (archivo Ejemplo1.vbproj) utilizado
hasta ahora.
3.
En la ventana Explorador de Solución, ubique el nombre del proyecto actual y de clic secundario sobre el
mismo. Del menú emergente seleccione opción Agregar, luego Windows Forms…
4.
En la ventana “Agregar nuevo elemento- Ejemplo1”, observe que en la parte central ya esta seleccionado
“Windows Forms”. Confirme en última opción (Nombre: ) que el nombre del archivo sea (Form2.vb) y
presione Agregar. Observe que se muestra un nuevo form vacio y también, desde el explorador de
solución, se agrega un elemento mas (Form2.vb) al proyecto actual.
5.
Luego, desde el explorador de soluciones de clic derecho sobre el proyecto (Ejemplo1), para seleccionar
opción Propiedades. En esta ventana, ubique opción “Formulario de inicio” y modifique valor a Form2.
6.
Guarde los cambios del proyecto actual.
7.
Luego aplique al Form2 el diseño definido en Figura 1.4.
Figura 1.4: Diseño de controles del Form2
8.
Con mucho cuidado, seleccione a cada control mostrado en la tabla a continuación, para luego modificar
a c/propiedad solicitada ahí con el valor indicado.
(propiedades)
(controles)
Name
Form2
Label1
Text
Calculo del Monto a
Préstamo
lblEmpresa
Lenguajes de Programación 1
Nombre de Empresa:
15
Enabled
pagar por un
Checked
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
(propiedades)
(controles)
Name
Text
Label2
lblMonto
Monto préstamo ($)
Label3
lblTiempo
Tiempo (años)
Label4
lblTasaInter
Tasa Interes:
RadioButton1
rdbInteres1
12 %
RadioButton2
rdbInteres2
23.5 %
RadioButton3
rdbInteres3
Otro, indique:
TextBox1
txtEmpresa
(vacio)
TextBox2
txtMonto
(vacio)
TextBox3
txtTiempo
2
TextBox4
txtTasaInterEX
0
Button1
btnAnalisis
Analisis Financiero
Button2
btnFin
Salir del programa
ListBox1
lstResul
Enabled
Checked
True
False
False
* Extra: Para el cuadro lstResul, seleccione además la propiedad Items, y presione en Colecciones.. que se indica
ahí, para luego agregar valor: (Resultados). Esto agregara este texto como 1er elemento del control lstResul
9.
Realice la siguiente asignación de código, de acuerdo al objeto y evento indicados a continuación.
Objeto y Evento/Nivel
código a incluir
Form2
(Declaraciones)
Private TasaI As Decimal
rdbInteres3
If rdbInteres3.Checked = True Then
txtTasaInterEX.Enabled = True
txtTasaInterEX.Focus()
Else
txtTasaInterEX.Text = "0"
txtTasaInterEX.Enabled = False
End If
CheckedChanged
rdbInteres1
Click
rdbInteres2
Click
btnFin
Click
TasaI = 0.12
TasaI = 0.235
End 'Fin de aplicación
Lenguajes de Programación 1
16
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
btnAnalisis
'Valida que los datos ingresados sean correctos
Dim NomEmpre As String
Dim MontoInic, MontoFin As Decimal
Dim Tiempo As Integer
Click
NomEmpre = txtEmpresa.Text
NomEmpre = NomEmpre.Trim() 'Quita espacios-blanco al inicio-final
If NomEmpre.Length = 0 Then
'Si no hay caracteres en nombre empresa
MsgBox("Debe indicar Nombre de la empresa", MsgBoxStyle.Information)
txtEmpresa.Focus()'metodo que indica que control txtEmpresa recibira Cursor
Exit Sub
End If
If IsNumeric(txtMonto.Text) = False Then
'Si ha escrito cantidad numerica incorrectamente
MsgBox("Valor Monto incorrecto", MsgBoxStyle.Information)
txtMonto.Focus()
Exit Sub
Else
'Prueba que cantidad sea negativa
MontoInic = CDec(txtMonto.Text) 'Invoca funcion de conversion CDec
If Not (MontoInic > 0) Then
MsgBox("Valor Monto no puede ser negativo", MsgBoxStyle.Critical)
txtMonto.Focus()
Exit Sub
End If
End If
Tiempo = CInt(txtTiempo.Text) 'toma tiempo ingresado
'Si selecciono Tasa interes3, valida que sea correcta
txtTasaInterEX.Text=txtTasaInterEX.Text.Trim()
If rdbInteres3.Checked = True Then
If txtTasaInterEX.Text.Length > 0 Then
If Not IsNumeric(txtTasaInterEX.Text) = True Then
MsgBox("Tasa interes incorrecta", MsgBoxStyle.Critical)
txtTasaInterEX.Text = "0"
txtTasaInterEX.Focus()
Exit Sub
Else
TasaI = CDec(txtTasaInterEX.Text) / 100
End If
Else
MsgBox("Aun no ha indicado una Tasa interes", MsgBoxStyle.Information)
txtTasaInterEX.Focus()
Exit Sub
End If
End If
'Hace el calculo esperado
MontoFin = MontoInic * (1 + TasaI) ^ Tiempo
'Muestra la respuesta (Monto a pagar)
TasaI *= 100
With lstResul.Items
Lenguajes de Programación 1
17
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
.Clear()
.Add("EMPRESA: " + txtEmpresa.Text)
.Add("Monto: $" & CStr(MontoInic) & ", Tasa anual: " & CStr(TasaI))
.Add("Monto a pagar: $" & CStr(MontoFin))
End With
10. Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas
programadas, equivóquese a propósito en varios de los datos ingresados y presione botón btnAnalisis
PARTE 4: Tomas de decisiones (Select Case)
Problema a solucionar: “Solicite cada apellido y los nombres de un estudiante, así como el valor del CUM obtenido
de su ultimo ciclo de estudios. Determine el total de unidades valorativas que un estudiante puede llevar en el
próximo ciclo de estudios según el valor del CUM ingresado. Cuando el CUM es mayor a 7.5, puede llevar 32 UV
máximo, si tiene entre 7 hasta 7.5, llevaría 24 UV máx., si tiene CUM entre 6 a 6.9, cursaría 20 UV. Y finalmente de
1 a 5.9, serán 16 unidades valorativas. En cualquier otro caso cursara 0 UV”
1.
Abra nuevamente el proyecto creado en la parte 1, y agregue un nuevo formulario.
2.
Luego diseñe el siguiente esquema de objetos (mostrado en Figura 1.5) en este nuevo form (Form3)
(Propiedad)
(controles)
Name
Form3
Figura 1.5: Diseño de controles del Form3
3.
Text
Calculo
de
UV a cursar
Label1
lblApe1
1er Apellido:
Label2
lblApe2
2do Apellido:
Label3
lblNom
Nombres
Label4
lblCUM
Valor
CUM
TextBox1
txtApe1
(vacio)
TextBox2
txtApe2
(vacio)
TextBox3
txtNom
(vacio)
TextBox4
txtCUM
0.0
TextBox5
txtResul
Resultado de
evaluacion
Button1
btnAnalisis
Calcular UV
Button2
btnFin
Salir
del
programa
Proceda a digitar el código detallado a continuación, en cada evento y objeto especificado.
Lenguajes de Programación 1
18
Enabled
de
False
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Objeto y Evento/Nivel
código a incluir
Form3
(Declaraciones)
Dim noms, ape1, ape2 As String
Dim CUM As Decimal
Dim UV As Integer
Private Sub EvaluarCUM()
'Una vez recibidos nombres del estudiante, asi como su CUM.
'se determinan las UV's solicitadas
Dim nomcompleto As String
'Forma el nombre completo (en mayuscula)
nomcompleto = noms & " " & ape1 & " " & ape2
nomcompleto = UCase(nomcompleto)
If CUM < 0 Or CUM > 10 Then
MsgBox("Valor de CUM fuera rango (0.0-10.0)", MsgBoxStyle.Critical)
txtCUM.Focus()
Else
'Usa estructura Select Case
Select Case CUM
Case 7.5 To 10
UV = 32
Case Is >= 7
UV = 24
Case Is >= 6
UV = 20
Case 1 To 5.99
UV = 16
Case Else
UV = 0
End Select
txtResul.Text = nomcompleto & " puede cursar " & CStr(UV) & " UV"
End If
End Sub
'
'Quita
noms =
ape1 =
ape2 =
btnAnalisis
Click
Valida datos antes de aplicar calculos de las UVs
espacios en blanco a c/texto del nombre escrito
txtNom.Text.Trim()
txtApe1.Text.Trim()
txtApe2.Text.Trim()
'Confirma que tenga nombres asignados y por lo menos un apellido
If (noms.Length > 0) And (ape1.Length > 0 Or ape2.Length > 0) Then
'Evalua si hay algun error en el valor del CUM ingresado
If Not IsNumeric(txtCUM.Text) = True Then
MsgBox("Valor del CUM incorrecto, debe ingresar 0.0-10.0", MsgBoxStyle.Exclamation)
txtCUM.Focus()
Exit Sub
Else
CUM = CDec(txtCUM.Text)
Call EvaluarCUM()'Llama a la subrutina EvaluarCUM
End If
Else
'Indica el error a usuario
Lenguajes de Programación 1
19
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
If noms.Length = 0 Then
MsgBox("Aun faltan nombres de estudiante", MsgBoxStyle.Exclamation)
txtNom.Focus()
Else
MsgBox("Debe escribir al menos un Apellido al Estudiante", MsgBoxStyle.Exclamation)
txtApe1.Focus()
End If
Exit Sub
End If
4.
Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas
programadas, equivóquese a propósito, ingrese el CUM, pero olvídese de los nombres, y otros casos.
5.
En evento Click del botón btnFin redacte un mensaje de despedida y realice el final de ejecución
EJERCICIOS A REALIZAR AL FINALIZAR PROCEDIMIENTO:
A.
B.
Abra nuevamente el proyecto utilizado en la PARTE 3 del procedimiento de esta Práctica y proceda a
realizar los cambios necesarios para validar a los parámetros faltantes del préstamo que aun no se han
programado. Además, incluya otro botón (cuyo texto diga REINICIAR), el cual permitirá deje en blanco a
todos los textbox’s y cuadro de lista y el foco de selección sobre en el 1er textbox.
Desarrolle un nuevo proyecto denominado proyNUMEROS que resuelva las tareas siguientes
+ Permita el ingreso de 10 números decimales cuales quiera. Cada nuevo numero ingresado se mostrara en una
de 2 listas diferentes (una para valores positivos y en la segunda, los valores negativos).
+ Una vez finalice el ingreso, se mostrara en otro cuadro de lista la solución a estas incógnitas del listado de
valores ingresados:
A. ¿Cuál fue el menor de los números positivos ingresados?
B. ¿Promedio de los números positivos?
C. ¿Cuál fue el mayor de los números negativos ingresados?
Cuando usuario no haya ingresado ningún listado de valores (sean tipo positivos o de negativos), muestre el
aviso apropiado en cuadro de lista de los resultados.
V. DISCUSION DE RESULTADOS
Elabore un proyecto de tipo Windows Forms denominado vbGUIA01lab, en el cual se solucionara cada uno de
los siguientes problemas (Elaborar cada solución en un formulario diferente dentro del mismo proyecto).
PROBLEMA 1
Crear una aplicación que permita a un estudiante de Ingeniería de la Universidad UDB ingresar sus 6 notas de
periodos (3 de teo y 3 de lab) de la materia Sistemas Digitales.
Una nota valida en la Universidad es correcta solamente en el rango de 0.00 (min) hasta 10.00 (máx.). Además, los
porcentajes a tomar en cuenta son:
+ Teoría (60%): 20% por c/periodo
+ Practica (40%): 10% periodo 1 y 15% para periodos 2 y 3.
Lenguajes de Programación 1
20
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Si el ingreso de todas las notas es correcto, debe mostrarle su nota promedio final, así como indicarle si aprobó
(con una nota de 6.00 o más) o reprobó la materia.
Además, de acuerdo al rango de notas donde se ubique el promedio final del estudiante, debe mostrarle un
consejo académico (ver tabla a continuacion) y de forma grafica a una “carita” representativa del consejo
seleccionado. Los rangos de notas y los mensajes, junto a una carita (de ejemplo, usted puede cambiarlas) a
mostrar serán:
Rango nota final
Texto del consejo académico
7.0 a 10.00
Grandioso, Excelente… continúa asi...
6.0 a 6.99
Muy bien… pero trata de mejorar tu promedio en las siguientes
materias, recuerda tu CUM
3.0 a 5.99
Más dedicación estudiante, debe mejorar sus notas en esta
materia y las del resto del Pensum
0.00 a 2.99
Pongase las pilas mi hijito, ya no está en el Kinder… No se
convierta en un veterano de la U
Carita de ejemplo
PROBLEMA 2
Solicite al usuario una fecha separada en sus partes que la componen (Día, Mes y Año), para luego mostrar un
calendario en pantalla, resaltando la fecha ingresada.
El problema es que el usuario puede ingresar combinaciones de día-mes-año incorrectas, por ej.: 31/4/1934,
29/2/2006, 456/11/2009, etc.
Por lo tanto, la solución a implementar debe cumplir los siguientes aspectos:
+ Debe utilizar controles NumericUpDown para que usuario ingrese cada parte de la fecha. Tomar en cuenta que
el año valido estará ubicado exclusivamente entre 1850 al 2026, ambos años inclusive.
+ Luego, para validar las partes de la fecha recibida, debe utilizar exclusivamente estructuras de control Select
Case , es decir que no debe usarse ninguna estructura de control If-Else
+ Si la fecha recibida del usuario presenta algún problema, debe indicársele al usuario un mensaje apropiado y
exacto sobre ¿Por qué su fecha ingresada presenta errores? y regresar el foco hacia el 1er control
NumericUpDown.
+ Si la fecha ingresada es correcta, debe usar un Control
denominado MonthCalendar para mostrar la fecha ingresada
ubicada en el calendario del mes y año especificado.
Por ejemplo, si usuario ingresa la fecha valida 29/2/1992, el
control de calendario se mostrara EXACTAMENTE así:
Se le sugiere investigar acerca de los Controles de formulario
solicitados en la descripción de este problema, para facilitarse
el diseño de su respectiva solución.
Lenguajes de Programación 1
21
Guía # 01: INTRODUCCION A VISUAL BASIC .NET
Importante:
+ Documente los bloques y líneas de código de acuerdo a lo crea conveniente, para que su instructor comprenda
mejor su solución!!
+ Envíe la carpeta del proyecto resultante, de manera comprimida al email de su instructor(a) en la fecha que se lo
indique!!
VII. BIBLIOGRAFÍA
•
Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), España. Editorial Anaya
•
Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), México,
Editorial ALFAOMEGA, ISBN: 9701512189
Lenguajes de Programación 1
22
Descargar