16742271 Visual Basic Net
-
Upload
juan-carlos-herrera-miranda -
Category
Documents
-
view
198 -
download
1
Transcript of 16742271 Visual Basic Net
-
7/16/2019 16742271 Visual Basic Net
1/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 11
INDICE
Introduccion
Preambulo Microsoft .Net
Semana 1 : Introduccin a programacin con ventanas.
Semana 2 : Uso de Controles Comunes
Semana 3 : Contenedores de elementos
Semana 4 : Uso de Controles Comunes
Semana 5 : Controles contenedores de menus
Semana 6 : Uso de Controles Cuadros de dialogo
Semana 7 : Uso de dmi
Semana 8 : Creacion de Controles
Semana 9 : desarrollo de una aplicacin
Semana 11 : Introduccion a OOP
Semana 12 : Constructores Y Sobrecarga
Semana 13 : Herencia e Interface
Semana 14 : Programacion con Ado .NET
Semana 15 : Trabajo con ambiente Conectado
Semana 16 : Trabajo en Ambiente Desconectado
Semana 17 : Uso de DataTable y DataView
Semana 18 : Creacion Y genaracion de Reportes
Semana 19 : (Examen Final)
Semana 20 : (Examen de Recuperacion)
-
7/16/2019 16742271 Visual Basic Net
2/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 12
Microsoft .Net
Consideraciones
La plataforma .NET de Microsoft es un componente de software que puede seraadido al sistema operativo Windows. Provee un extenso conjunto desoluciones predefinidas para necesidades generales de la programacin deaplicaciones, y administra la ejecucin de los programas escritosespecficamente con la plataforma. Esta solucin es el producto principal en laoferta de Microsoft, y pretende ser utilizada por la mayora de las aplicacionescreadas para la plataforma Windows.
.NET Framework se incluye en Windows Server 2008 y Windows Vista. Deigual manera, la versin actual de dicho componente puede ser instalada enWindows XP, y en la familia de sistemas operativos Windows Server 2003. Una
versin "reducida" de .NET Framework est disponible para la plataformaWindows Mobile, incluyendo telfonos inteligentes.
NET es un proyecto de Microsoft para crear una nueva plataforma de desarrollode software con nfasis en transparencia de redes, con independencia deplataforma de hardware y que permita un rpido desarrollo de aplicaciones.Basado en ella, la empresa intenta desarrollar una estrategia horizontal queintegre todos sus productos,
Componentes
Los principales componentes del marco de trabajo son:
El conjunto de lenguajes de programacin La Biblioteca de Clases Base o BCL El Entorno Comn de Ejecucin para Lenguajes o CLR por sus siglas
en ingls.
Debido a la publicacin de la norma para la infraestructura comn delenguajes (CLI por sus siglas en ingls), el desarrollo de lenguajes se facilita,por lo que el marco de trabajo .NET soporta ya ms de 20 lenguajes deprogramacin y es posible desarrollar cualquiera de los tipos de aplicacionessoportados en la plataforma con cualquiera de ellos, lo que elimina lasdiferencias que existan entre lo que era posible hacer con uno u otro lenguaje.
Algunos de los lenguajes desarrollados para el marco de trabajo .NET son:C#, Visual Basic, C++, J#, Perl, Python, Fortran, Cobol y PowerBuilder.
Common Language Runtime (CLR)
-
7/16/2019 16742271 Visual Basic Net
3/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 13
Common Language Runtime
Estructura interna delentorno de ejecucin enlenguaje comn (CLR
por sus siglas en ingls).
Este es el lenguaje insigniade .NET Framework
(marco de trabajo.NET) y pretende reunir las
ventajas de lenguajescomo C, C++ y Visual Basicen uno solo. El CLR es el
verdadero ncleo delframework de .NET,
entorno de ejecucin en el que se cargan las aplicaciones desarrolladas en los
distintos lenguajes, ampliando el conjunto de servicios del sistema operativo(W2k y W2003).
La herramienta de desarrollo compila el cdigo fuente de cualquiera de loslenguajes soportados por.NET en un cdigo intermedio, el MSIL (MicrosoftIntermediate Lenguaje), similar al BYTECODE de Java. Para generarlo, elcompilador se basa en la especificacin CLS (Common LanguageSpecification) que determina las reglas necesarias para crear el cdigo MSILcompatible con el CLR.
Caractersticas
Es el encargado de proveer lo que se llama cdigo administrado, es decir, unentorno que provee servicios automticos al cdigo que se ejecuta. Losservicios son variados:
Cargador de clases: permite cargar en memoria las clases. Compilador MSIL a nativo: transforma cdigo intermedio de alto nivel
independiente del hardware que lo ejecuta a cdigo de mquina propiodel dispositivo que lo ejecuta.
Administrador de cdigo:coordina toda la operacin delos distintos subsistemas delCommon Language Runtime.
Recolector de basura: eliminade memoria objetos noutilizados.
Motor de seguridad: administrala seguridad del cdigo que seejecuta.
-
7/16/2019 16742271 Visual Basic Net
4/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 14
Biblioteca de Clases Base de .NET
Diagrama bsico de la Biblioteca de Clases Base.
La Biblioteca de Clases Base (BCL por sus siglas en ingls) maneja la mayorade las operaciones bsicas que se encuentran involucradas en el desarrollo de
aplicaciones, incluyendo entre otras:
Interaccin con los dispositivos perifricos Manejo de datos (ADO.NET) Administracin de memoria Cifrado de datos Transmisin y recepcin de datos por distintos medios (XML, TCP/IP) Administracin de componentes Web que corren tanto en el servidor
como en el cliente (ASP.NET) Manejo y administracin de excepciones Manejo del sistema de ventanas Herramientas de despliegue de grficos (GDI+) Herramientas de seguridad e integracin con la seguridad del sistema
operativo Compilacin de cdigo
Esta funcionalidad se encuentra organizada por medio de espacios de nombresjerrquicos.
La Biblioteca de Clases Base se clasifica, en cuatro grupos clave:
ASP.NET y Servicios Web XML Windows Forms
ADO.NET .NET
Ensamblados
Diagrama interno de unEnsamble .NET.
Un ensamblado es un compiladoEXE o DLL que contiene cdigo
CIL que se genera desde losdiferentes lenguajes .NET, y quees ejecutado por el CLR. Puedecontener una o varias clases al
igual que uno o varios namespaces.
Los ensamblados pueden tener diferentes decoradores que definen el entorno
-
7/16/2019 16742271 Visual Basic Net
5/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 15
de ejecucin de los mismos COM+, DCOM, Remouting, etc.
Semana 1 : Introduccin aprogramacin con ventanas.Interfaces de ventana. Formularios y controlesEs un hecho palpable el que la programacin para Internet, ha ganado en losltimos tiempos una importante cuota de desarrollo, en detrimento de lasaplicaciones basadas en Windows. Sin embargo, todava existe un importanteconjunto de programas que debern seguir funcionando en Windows y quetendrn que migrarse a la plataforma .NET.
.
System.Windows.Forms
Este espacio de nombres contiene todos los tipos del entorno, a travs de loscuales podremos desarrollar aplicaciones compuestas por formulariosWindows, junto a los correspondientes controles que permiten al usuario lainteraccin con el programa.
La clase Form
Esta clase contiene todos los miembros para la creacin y manipulacin deformularios.Tras instanciar un objeto de Form, mediante la configuracin de las adecuadaspropiedades, podemos crear formularios estndar, de dilogo, de interfaz
mltiple o MDI, con diferentes bordes, etc.
Creacin de un formulario bsico
A pesar de que en los temas iniciales de este texto, se describi el modo decreacin de una aplicacin basada en formularios Windows, en el presentetema abordaremos la creacin y diseo de formularios, desde un mayornmero de perspectivas, relacionadas con los estilos de formularios, controles,creacin desde cdigo, herencia, etc.
Comenzaremos creando una aplicacin basada slo en un formulario, pararepasar el diseador de formularios del IDE, y algunas de sus propiedades.
Iniciaremos por lo tanto Visual Studio .NET, y crearemos un nuevo proyectoVB.NET de tipo aplicacin Windows, proceso este, que ya describimos en losmencionados temas iniciales. En este ejemplo dejaremos el nombre deproyecto que nos propone el propio IDE, que ser WindowsApplication1, o bienotro nmero, si ya hemos creado algn proyecto con este nombre.
-
7/16/2019 16742271 Visual Basic Net
6/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 16
Creacin de proyectos Windows Forms
Visual Basic es un sistema que est diseado para crear programas ya sea tansencillos como los que vamos a ver y tan difciles (aunque es solo unaexpresin) como lo es con base de datos.
pantalla aparecer los ltimos programas hechos o accedidos con surespectiva fecha, tambin podr abrir cualquier solucin de visual Studio .Net ocrear una nueva.
Para crear un proyecto haga los siguientes pasos.
Mostrara la siguiente ventana
-
7/16/2019 16742271 Visual Basic Net
7/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 17
Mostrara la ventana
Nos presentara el siguiente IDE.
-
7/16/2019 16742271 Visual Basic Net
8/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 18
Entre las partes del nuevo IDE de Visual Studio .NET tenemos:
1. Menu Bar2. ToolBars3. Server Explorer Window (Ctrl + Alt + S)4. ToolBox (Ctrl + Alt + X)5. Output Window (Ctrl + Alt + O)6. Status Bar7. Windows Form Designer8. Solution Explorer Window (Ctrl + R)9. Properties Window (F4)10. Search Window (Ctrl + Alt + F3)11. Dynamic Help Window (Ctrl + F1)
Existen nuevas ventanas en Visual Studio .NET entre las cuales tenemos:
Class View (Ctrl + Shift + C) Resource View (Ctrl + Shift + E) Macro Explorer (Alt + F8) Document Outline (Ctrl Alt + T) Task List (Ctrl + Alt + K) Command Window (Ctrl + Alt + A) Find Symbol Results (Ctrl +Alt + Y)
1
2
3
4
5
6
7
8
9
10
11
-
7/16/2019 16742271 Visual Basic Net
9/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno Cueva
Pgina 19
Si se habrn dado cuenta, siempre se inicia en el visual Basic, y apareceseleccionada la opcin Aplicacin para Windows, justamente lo que ms vamosa utilizar, para programar.
En donde dice nombre, va a ir el nombre de nuestro proyecto, y en donde diceubicacin es en donde se va a ubicar nuestro proyecto o mejor dicho en donde
lo vamos a guardar.
En el proyecto, se habr creado un formulario, elcual seguramente te lo mostrar de formaautomtica. En el lado derecho de la pantalla, versque hay un Panel o Ventana en la que se indica elproyecto actual y se muestran es el SolutionExplorer o Explorardorde Soluciones.
Para que se muestre el formulario (Form1), hazdoble clic en dicho Elemento del explorador de
soluciones.
Lo que vamos a hacer ahora es cambiar la separacin de los puntos que semuestran en el formulario, ese grid o grilla, servir para ajustar los controles(ya sabrs de qu hablo) que se aadan a dicho formulario.
Por defecto la separacin es de 8x8 puntos o pixels... y vamos a ponerlo en4x4.
Selecciona el formulario, simplemente con hacer un clic en l essuficiente.
En el panel de la derecha, debajo del explorador de soluciones, est la ventanade propiedades del elemento que actualmente est seleccionado, en nuestrocaso son las propiedades del
Form1. Vamos a buscar el elemento GridSize para poder cambiar el tamao de
-
7/16/2019 16742271 Visual Basic Net
10/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
110
separacin. Vers que se muestran dos valores separados por punto y coma,pero tambin hay una cruz a la izquierda de la palabra GridSize, si pulsas enesa cruz, se mostrarn los separados por punto y coma.
Para aadir controles al formulario, hay que usar labarra de herramientas que est situada en la parte
izquierda del IDE de Visual Studio .NET, por ejemplopara aadir una etiqueta (Label) y una caja de texto(TextBox), simplemente haz doble clic sobre esoselementos de la barra de herramientas y se aadirn alformulario.
.
Te mostrar esto: (realmente te mostrar ms cosas,pero por ahora centrate slo en este cdigo).
Private Sub Button1_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs)
Handles Button1.Click
End Sub
Lo que vamos a hacer ahora, como ya te he dicho, es escribir el cdigo que seejecutar cuando se haga clic en ese botn, lo cual producir el evento clicasociado con dicho botn, ese evento se producir si se hace un clicpropiamente dicho, es decir con el ratn, o bien porque se pulse intro o la barra
espaciadora cuando el botn tenga el foco.La nomenclatura, (forma de llamar a las cosas), para los eventos de
Visual Basic siguen el siguiente esquema:
[nombre del control] [guin bajo] [nombre del evento]
Pero esto slo es una sugerencia que Visual Basic nos hace, en las versionesanteriores no era una sugerencia, era una imposicin. Podemos dejar elnombre que Visual Basic nos sugiere o podemos poner la lnea de declaracin
-
7/16/2019 16742271 Visual Basic Net
11/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
111
del procedimiento: Handles Button1.Clic, con esto es con lo que elcompilador/intrprete de Visual Basic sabe que este procedimiento es unevento y que dicho evento es el evento Clic del objeto Button1.
Cuando ese evento se produzca, en este caso vamos a a hacer que semuestre un cuadro de dilogo mostrndonos el nombre que previamente
hemos escrito en el cuadro de texto. Escribe lo siguiente en el hueco dejadopor el Visual Basic, la lnea que hay entre Private Sub...
y End Sub
MsgBox("Hola..: " & TextBox1.Text)
Ejecutar el proyecto
que se ejecute el cdigo que hemos escrito o pulsa enel botn play
que est en la barra de botones. Escribe algo en la cajade textos, que por defecto tendr TextBox1, (que es elvalor que por defecto Visual Basic le asigna a lapropiedad Text de dicho control), pulsa en el botnMostrar y vers que se muestra un cuadro de dilogo dicindote Hola y a
continuacin lo que hayas escrito en el TextBox
Nota: Para que tengas ms fcil buscar las propiedades en la ventana depropiedades, puedes hacer que se muestren por orden alfabtico,
simplemente pulsando en el botn AZ:Tipos de datos
Son aquellos que identifican que valores se ingresan a las variables deesta forma se realiza un control. Entre estos tipos de datos tenemos.
Tipo de dato
Tipo de dato en VB.NET Descripcin
Byte Byte Entero sin signo de 8 bit
SByte SByte (tipo de dato noEntero sin signo de 8 bit (tipono acorde con el CLS)
Int16 Short Entero con signo de 16 bit
Int32 Integer Entero con signo de 32 bit
Int64 Long Entero con signo de 64 bit
-
7/16/2019 16742271 Visual Basic Net
12/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
112
UInt16 UInt16 (tipo de dato nonativo
Entero sin signo de 16 bit (tipono acorde con el CLS)
UInt32 UInt32 (tipo de dato nonativo)
Entero sin signo de 32 bit (tipono acorde con el CLS)
UInt64 UInt64 (tipo de dato no
Entero sin signo de 64 bit (tipono acorde con el CLS)
Single Single
Numero con coma flotante deprecisin simple, de 32 bit
Double DoubleNumero con coma flotante deprecisin doble, de 64 bit
Boolean Boolean Valor lgico
Char Char Caracter Unicode de 16 bit
Decimal Decimal Valor decimal de 96 bit
IntPtr IntPtr (tipo de dato nonativo)
Entero con signo contamao dependiente de lalataforma: 32 bit en
UIntPtr UIntPtr (tipo de dato nonativo)
Entero sin signo con tamaodependiente de la plataforma:32 bit en plataformas de 32 bitString String Cadena de caracteres
TIPO DE CONVERSION
Las variables pueden convertirse de un tipo de dato a otro, por ejemplo:Una expresin cadena, convertirla a Numero. Veamos un resumen de
las distintas funciones de conversin de tipos y algunos ejemplos: (estosestn tomados de la ayuda de Visual Basic .NET)
Nombre de lafuncin
Tipo dedatos quedevuelve
Valores del argumento "expresion"
CBool(expresion) Boolean Cualquier valor de cadena o expresinnumrica.
CByte(expresion) Byte de 0 a 255; las fracciones se redondean.
CChar(expresion) Char Cualquier expresin de cadena; los valoresdeben ser de 0 a 65535.
CDate(expresion) Date Cualquier representacin vlida de una fecha ouna hora.
-
7/16/2019 16742271 Visual Basic Net
13/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
113
CDbl(expresion) Double Cualquier valor Duoble, ver la tabla anteriorpara los valores posibles.
CDec(expresion) Decimal Cualquier valor Decimal, ver la tabla anteriorpara los valores posibles.
CInt(expresion) Integer Cualquier valor Integer, ver la tabla anterior paralos valores posibles, las fracciones seredondean.
CLng(expresion) Long Cualquier valor Long, ver la tabla anterior paralos valores posibles, las fracciones seredondean.
CObj(expresion) Object Cualquier expresin vlida.
CShort(expresion)Short Cualquier valor Short, ver la tabla anterior para
los valores posibles, las fracciones seredondean.
CSng(expresion) Single Cualquier valor Single, ver la tabla anterior paralos valores posibles.
CStr(expresion) String Depende del tipo de datos de la expresin.
-Nota:Todos los objetos de vb.NET tienen unos
mtodos para realizar conversiones a otrostipos, al menos de nmero a cadena, ya quetienen la propiedad .ToString que devuelve unarepresentacin en formato cadena del nmeroen cuestin (igual que CStr).-
CType(expresion,Tipo)
Elindicadoen elsegundoparmetro
Cualquier tipo de datos
Val(expresion) Double Una cadena de caracteres.
-
7/16/2019 16742271 Visual Basic Net
14/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
114
Fix(expresion) Dependedel tipo dedatos delaexpresin
Cualquier tipo de datos
Int(expresion) Dependedel tipo dedatos delaexpresin
Cualquier tipo de datos
Malla de los tipos de datos.
Para asignar a una variable un valor se procede de la siguiente manera:
1. Se declara la variable.
Ejemplo
Dim va As Integer
Y las constantes se declaran como constantes precisamente.
Tambin se pueden declarar varias variables en una misma lnea por ejemplo:
-
7/16/2019 16742271 Visual Basic Net
15/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
115
Dim a,b,c As Short
En la lnea anterior a, b y c sern de tipo Short Lo anterior se pudo haberescrito como:
Dim a As Short
Dim b As Short
Dim c As Short
O bien
Dim a As Short ,b As Short, c As Short
Igualmente
Slo tendr un valor de 3
Todas las variables numricas al no inicializarlas tendrn como valor 0.
Tipo de conversin
Las variables pueden convertirse de un tipo de dato a otro, por ejemplo: unaexpresin cadena, convertirla a nmero. Veamos un resumen de las distintasfunciones de conversin de tipos y algunos ejemplos:
Tipo de dato conversor
Integer Cint
Long Clng
Double Cdbl
Decimal Cdec
Char Cchar
String Cstr
-
7/16/2019 16742271 Visual Basic Net
16/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
116
INSTRUCCIONES CONDICIONALES
Las instrucciones bsicas de todo lenguaje comprenden las EstructurasCondiciones y los ciclos o Estructuras Repetitivas. Entre ellas veremos:
Estructura Condicional: If
Esta estructura se usa para evaluar la condicin de la Variable
Dim i As Short=5
If i > 0 then
Haga cualquier cosa
End if
Como tambin se puede evaluar la parte negativa
If i > 0 then
Haga cualquier cosaelse
Tambien haga cualquier cosa
End if
Cmo tambin se puede evaluar varias alternativas cmo
If i =1 0 then
Muestre el valor
elseif i=2 then
Muestre el valor
else
Tambien haga cualquier otra cosa
-
7/16/2019 16742271 Visual Basic Net
17/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
117
End if
Tambin podemos usar la funcin IIF, que funciona de la siguiente forma
iif(i=1,unootro) o iif(i>0,PositivoNegativo), si tuviramos el siguiente caso
if B=5 then
A=1
Elseif B0 then
If (A mod 2 )=0 then
Nmero par
Else
Nmero impar
End if
Else
Nmero negativo
End if
-
7/16/2019 16742271 Visual Basic Net
18/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
118
ESTRUCTURA SELECTIVA: Select case
Esta instruccin permite evaluar mltiples valores por ejemplo:
Dim B As Short =30
Select case B
Case 5
Si fuera igual a 5
Caso Is < 10
Si fuera menor a 10
Case Is> 20
Si fuera mayor a 20
Case 23 to 25
Si fuera mayor o igual a 23 y menor e igual a 25
Case 1 to 2
Si fuera 1 o 2
Case 26 to 28,31
Si fuera mayor o igual a 26 y menor e igual a 28 o si es 31
Case else
Si no es ninguna de las anteriores
End select
ESTRUCTURAS REPETITIVAS
FOR.(Para Hasta)
Sintaxis:
For var=valorinicial to valorfinal step(incremento)
(programacion)
Next var
El For es una sentencia repetitiva donde var es la variable de control quedara las vueltas.
-
7/16/2019 16742271 Visual Basic Net
19/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
119
Ejemplos:
Visualize en el formulario los numeros pares del 100 al 2(100,98,96..)
For i=100 to 2 step 2
Print i
Next I
Genere y visualize numeros del 10 al 90 y al final muestre la suma de ellosDim suma as integer,i as integer
Suma=0
For I=10 to 99
Print I
Suma=Suma + i
Next
Print La suma es & suma
el & concatena
DO WHILE.LOOP.(Hacer mientras) , DO. LOOP UNTIL(Hacer Hasta)
Sintaxis:
Do while condicion(programacion)
Loop
Do
(programacion)
Loop Until Condicion
Genere y visualize numeros del 10 al 90 y al final muestre la suma de ellos
Do whi le
Dim i as integer,suma as integer
Suma=0
i=10
Ejemplo:
Sumar= 3+5+7+...+81
Sm=0
For N=3 to 81 Step 3
Sm=Sm+n
Next
-
7/16/2019 16742271 Visual Basic Net
20/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
120
Do while i 90
Print La suma es & suma
WHILE..WEND(Hacer Cuando)
Sintaxis:
While condicion
(Programacion)
wend
Dim i as integer,suma as integer
Suma=0 : i=10
while i
-
7/16/2019 16742271 Visual Basic Net
21/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
121
FOR EACH
Repite un grupo de instrucciones para cada elemento de una matriz ocoleccin.
Sintaxis:
FOR EACH elemento IN grupo
(Instrucciones)
NEXT
Ejemplo: Poner a las cajas de texto color de fondo rojo
Private Sub CmdCambiar_Click()
'Se declara una varibale de tipo Object
Dim obj As Object
'Por cada objeto que se encuentre en el formulario actual
'Este for dara vueltas segun la cantidad de objetos que hay en le formulario
For Each obj In Me.Controls
'Pregunta si el objeto es un Textbox si lo es cambia de color de fondo
If TypeOf obj Is TextBox Then
obj.BackColor = vbRedEnd If
Next
End Sub
Sentencia EXIT
La sentencia EXIT permitira salir de unbucle,funcion,procedimiento,etc.Dependiendo de donde se quiere salir seaplicar la sentencia:
Exit For .- Sale de un for
Exit Do.- Sale de un Do
Exit Sub.- Sale de un procedimiento
-
7/16/2019 16742271 Visual Basic Net
22/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
122
Exit Function.- Sale de una funcion , etc.
-
7/16/2019 16742271 Visual Basic Net
23/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
123
Semana 2 : Uso de Controles Comunes
El control Label._
En un control que permite visualizar un ttulo o texto, tambin permite
Visualizar un resultado.
Este es uno de los controles ms utilizado, porque es utilizado paraVisualizar un ttulo a un control; puede mostrar el resultado de unaOperacin, etc.
Las propiedades de este control:
Si te habrs dado cuenta a la hora de utilizar la propiedad de TextAlign delcontrol label, este te muestra una imagen en donde hay nuevo opcionesde alienar el texto a comparacin de la versin anterior que solo temostraba tres opciones.
Ejemplo 01
Esta aplicacin es fcil de hacer, el formulario que vas a crear deber tener elsiguiente diseo.
-
7/16/2019 16742271 Visual Basic Net
24/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
124
El control Textbox._
Es el segundo botn control ms utilizado en todas aplicaciones y formularios,porque permite:
Ingresar datos por teclado, visualizar datos o resultados.
Las propiedades de este control:
-
7/16/2019 16742271 Visual Basic Net
25/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
125
Ejemplo 02
Esta aplicacin es fcil de hacer, el formulario que vas a crear deber calcularel promedio de dos notas ingresadas, el formulario se llamar frmpromedios.
diseo de cdigo le daremos doble clic en el formulario. Seleccionar el
objeto TXTN1 y su evento KEYPRESS:
Private Sub Txtn1_KeyPress(ByVal sender As Object, ByVal e AsKeyPressEventArgs) Handles Txtn1.KeyPress
Donde escribiremos el siguiente cdigo:
If Asc(e.KeyChar) = 13 Then
txtn2.Focus()
End If
End Sub
-
Private Sub txtn2_KeyPress(ByVal sender As Object, ByVal e As
-
7/16/2019 16742271 Visual Basic Net
26/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
126
KeyPressEventArgs)
Handles txtn2.KeyPress
If Asc(e.KeyChar) = 13 Then
txtpromedio.Text =(Val(Txtn1.Text) + Val(txtn2.Text)) / 2
End If
End Sub
Una de las caractersticas del Textbox es que permite controlar el ingreso delos datos por el Teclado, a travs del Evento KeyPress.
Ejemplo 03
Esta aplicacin es fcil de hacer, el formulario que vas a crear deber visualizarel nmero invertido del nmero ingresado, Formulario se llamar frminvertir.
-
7/16/2019 16742271 Visual Basic Net
27/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
127
El control Button._
Es el control ms por los programadores y utilizado en todas aplicaciones yformularios, porque
Permite:
Ejecutar un conjunto de instrucciones al hacer clic en el control.
Las propiedades de este control:
-
7/16/2019 16742271 Visual Basic Net
28/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
128
Ejemplo 04
Reconociendo VB .NET y Trabajando con el Lenguaje
Duracin: 20 minutos
Cargue Visual Studio .NET, aparecer la pgina de inicio, en ella elegir laopcin Get Started y luego elegirCreate New Project, observe los diferentes
tipos de proyectos y sus respectivas plantillas.
Elegir un tipo de proyecto Visual Basic y una plantilla de AplicacinWindows, seleccionar como ubicacin la carpeta C:\VBNET\Labs y comonombre ingrese Lab03_1.
Observe el IDE de Visual Studio .NET cuando se trata de una aplicacin paraWindows. Qu ventanas son nuevas en esta versin?. Luego, pruebe lacaracterstica de Auto Ocultar de las ventanas y la ayuda dinmica.
Vamos a empezar a crear una aplicacin en la que en un formulario seingresen los datos de unos alumnos, tal como su nombre, notas de susexmenes parcial y final y se calcular el promedio y condicin. Adems, enotro formulario se mostrar un informe del total de alumnos ingresados,aprobados, desaprobados y el promedio total
Primero en la ventana del Solution Explorer seleccionar el nombre delformulario y en la ventana de propiedades escribir en la propiedad FileNameel nombre frmDatos.vb.
Realizar el diseo del formulario similar al de la figura 1.18, ingresando comoprefijo de la propiedad Name de las etiquetas las iniciales lbl, para los textos
txt y para los botones btn, seguido del nombre que generalmente es similaral contenido de la propiedad Text.
Despus de realizar el diseo y configurar las respectivas propiedades de losobjetos, visualice el cdigo del formulario. Observe las nuevas caractersticasdel Lenguaje y notes la diferencias entre esta versin y la anterior.
Diseo del formulario frmDatos
-
7/16/2019 16742271 Visual Basic Net
29/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
129
Para realizar los clculos de la aplicacin vamos a crear variables y funcionespblicas en un mdulo estndar, para lo cual del men Project elegimos laopcin Add Module y luego escribimos en el nombre Modulo.vb
Escribir el siguiente cdigo en el mdulo:
Module Modulo
Public NTotal, NAprobados,NDesaprobados As Byte
Public Suma, PromTot As Single
Public FunctionCalcular_Promedio(ByVal Par As Byte, _
ByVal Fin As Byte) As Single
Return ((Convert.ToSingle(Par + 2 * Fin)) / 3)
End Function
Public Function Calcular_Condicion(ByVal Pro As Single) _
As String
NTotal = +1 : Suma = +Pro
If Pro > 10.5 ThenNAprobados = +1 : Return ("Aprobado")
Else
NDesaprobados = +1 : Return ("Desaprobado")
End If
End Function
End Module
Regresar al formulario y proceder a escribir cdigo en los eventos de losbotones, tal como se muestra a continuacin:
Protected Sub btnCalcular_Click()
Dim Par, Fin As Byte : Dim Pro As Single : Par =
-
7/16/2019 16742271 Visual Basic Net
30/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
130
Convert.ToByte(txtParcial.Text)
Fin = Convert.ToByte(txtFinal.Text) : Pro = Calcular_Promedio(Par, Fin)
txtPromedio.Text = Format(Pro, "#.00") : txtCondicion.Text =Calcular_Condicion(Pro)
End Sub
Protected Sub btnNuevo_Click(ByVal sender As Object, )
Dim X As Control
For Each X In Me.Controls
If TypeOf X Is TextBox Then X.Text = ""
Next : txtNombre.Focus()
End Sub
Protected Sub btnInforme_Click(ByVal sender As Object, )
Dim X As New frmInforme() : X.ShowDialog()
End Sub
Protected Sub btnSalir_Click(ByVal sender As Object, )
Me.Close
End Sub
Para mostrar el informe de situacin de alumnos ir al men Project y elegir laopcin Add Windows Form y en el nombre escribirfrmInforme.vb. Luegorealizar el diseo del formulario, tal como semuestra en la figura de abajo.
Diseo del formulario frmInforme
Ingresar al cdigo del formulariofrmInforme y proceder a escribir cdigo en
el evento Load para que se muestre lasestadsticas de los alumnos:
Public Sub frmInforme_Load( )
txtTotal.Text = NTotal.ToString :txtAprobados.Text = NAprobados.ToString
-
7/16/2019 16742271 Visual Basic Net
31/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
131
txtDesaprobados.Text = NDesaprobados.ToString
txtPromedioTotal.Text = Format((Suma / NTotal), "#.00")
End Sub
Luego programar en los botones de Aceptar y Cancelar el regreso y lafinalizacin de la aplicacin respectivamente, similar al cdigo mostrado abajo:
Protected Sub btnAceptar_Click(ByVal sender As Object, )
Me.Close()
End Sub
Protected Sub btnCancelar_Click(ByVal sender As Object, )
End
End Sub
Grabar y ejecutar la aplicacin; para probar ingresar como mnimo los datos dedos alumnos, mostrar el informe y finalizar.
Dirjase al Explorador de Windows y analice el contenido de la carpetaLab01_1, observe que existen varios tipos de extensiones, sln para lasolucin, vbproj para la aplicacin y vb para los formularios y el mdulo.
Finalmente, ingrese a la carpeta bin de Lab01_1 y observe dos archivos:uno ejecutable (extensin exe) y otro archivo intermedio (extensin pdb),
Cul de estos es conocido como Assemblie?.
Ejemplo 05
Implementando Multi Thread y Control de Excepciones
Duracin: 15 minutos
Ingrese a Visual Studio .NET y del men File elegirNew y luego Project osimplemente pulsar [Ctrl] + [N], luego elegir un tipo de proyecto Visual Basic yuna plantilla de Aplicacin Windows, seleccionar como ubicacin la carpetaC:\VBNET\Labs y como nombre ingresarLab03_2.
Se va a crear una aplicacin en la que se implemente mltiples threads parainiciar la lectura de un archivo de texto extenso y poder cancelar este procesosi es necesario, adems para evitar los errores en tiempo de ejecucinharemos uso del control estructurado de excepciones visto en este mdulo.
Primero en la ventana del Solution Explorer seleccionar el nombre del
-
7/16/2019 16742271 Visual Basic Net
32/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
132
formulario y en la ventana de propiedades escribir en la propiedad FileNameel nombre frmArchivo.vb.
Realizar el diseo del formulario similar al presentado aqu abajo:
Diseo del formulario frmArchivo
Declarar una variable llamada Hilo de tipothread y definir una subrutina que lea elarchivo de texto cuya ruta y nombre estespecificado en el cuadro de texto, estarutina usa Try..Catch..Finally paracontrolar errores en tiempo de ejecucin.
Dim Hilo As System.Threading.Thread
Sub LeerArchivo()
Dim Flujo AsSystem.IO.StreamReader : Dim Linea As
String = " "
Try
Flujo = System.IO.File.OpenText(txtNombre.Text)
Do Until IsNothing(Linea)
Linea = Flujo.ReadLine
txtArchivo.Text = txtArchivo.Text + Linea + Chr(13) + Chr(10)
Loop
Catch X As IO.IOException
MsgBox(X.Message, MsgBoxStyle.Information, "No se pudo")
txtNombre.Clear() : Exit Sub
End TryFlujo.Close() : btnSuspender.Enabled = False : btnContinuar.Enabled =
False
btnCancelar.Enabled = False
End Sub
-
7/16/2019 16742271 Visual Basic Net
33/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
133
Escribir cdigo en el evento TextChanged de txtNombre y en los eventosClick de los Botones.
Private Sub txtNombre_TextChanged(ByVal sender As ) Handles
btnLeer.Enabled = : txtNombre.Text ""
End Sub
Private Sub btnLeer_Click(ByVal sender As ) Handles
Hilo = New System.Threading.Thread(AddressOf LeerArchivo) :Hilo.Start()
btnSuspender.Enabled = True : btnCancelar.Enabled = True
End Sub
Private Sub btnCancelar_Click(ByVal sender As ) Handles Hilo.Abort() : btnLeer.Enabled = False : btnSuspender.Enabled = False
btnCancelar.Enabled = False
End Sub
Private Sub btnNuevo_Click(ByVal sender As ) Handles
txtNombre.Clear() : txtArchivo.Clear() : txtNombre.Focus()
End Sub
Private Sub btnSuspender_Click(ByVal sender As ) Handles
Hilo.Suspend() : btnLeer.Enabled = False : btnContinuar.Enabled= True
btnCancelar.Enabled = False
End Sub
Private Sub btnContinuar_Click(ByVal sender As ) Handles
Hilo.Resume()
End Sub
Private Sub btnSalir_Click(ByVal sender As ) Handles ...
Me.Close()
-
7/16/2019 16742271 Visual Basic Net
34/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
134
End Sub
Finalmente, grabar y ejecutar la aplicacin.
Ejemplo 05
Ejercicio Modelo Para Desarrollar en Laboratorio.1. Crear una Carpeta con el nombre: Visualnet, en la unidad C: o Unidad
D:2. Activar el .Net, seleccionar el botn:3. Se visualiza la siguiente pantalla:
4. Activar el Explorador de soluciones:
O tambin pulsando las teclas: Ctrl + Alt + L5. Se visualiza lo siguiente:
6. Cerrar la ventana del Explorador de soluciones y activar la ventana depropiedades (F4)
7. Aplicar las propiedades del formulario:Name frmdemo01
Text Primera Practica Net
Opacity 90%
StartPosition CenterScreen
FormBorderStyle Fixed3D
Renombrar Form1.vb por Demo01.vb
-
7/16/2019 16742271 Visual Basic Net
35/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
135
BackgroundImage 1 imagen de Archivo
Cursor Hand
Icon Seleccionar un archivo icono
8. Del Cuadro de Herramientas, insertar al formulario lo siguiente:
El formulario tendr el siguiente diseo:
9. Propiedades del GroupBox1 (Ventana de Propiedades)
Name gbxcuadros
Text Operaciones Con Cuadros
Font Bold True
Forecolor 1 Color
BackgroundImage La misma imagen del Formulario
Cursor PanNorth
10. El formulario tendr el siguiente aspecto:
Componente:
Grou Box
Ob eto: Grou Box
-
7/16/2019 16742271 Visual Basic Net
36/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
136
11. Del cuadro de Herramientas:
12. El formulario tendr el siguiente aspecto:
13. Propiedades del Objeto Label
Name Label1
Text Ingrese El Primer Numero :
BorderStyle Fixed3D
Image Insertar un icono de imagen
ImageAlign MiddleRight
TextAlign MiddleLeft
Font Bold True
Forecolor Un color
Autosize False
BackColor 1 Color
14. El formulario tendr el siguiente aspecto:
Insertar el Objeto Label dentrodel GroupBox
Objeto Label Insertadodentro del GroupBox
-
7/16/2019 16742271 Visual Basic Net
37/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
137
15. Copiar y Pegar (4 Label) Total de Labels (5 Labels)
16. Modificar los Text de los labels, tal como se visualiza en la siguienteimagen:
17. Del cuadro de herramientas:
18. El formulario tendr el siguiente aspecto:
19. Propiedades del Textbox1Name txtuno
Text Vacio
Forecolor y Backcolor 1 Color
Font Bold True
20. Copiar y pegar los cuadros de Textos, el formulario tendr el siguienteaspecto:
Insertar el cuadro detexto: Textbox, dentro
Cuadro de Texto: Textbox1, insertado en el objetoGroupBox
-
7/16/2019 16742271 Visual Basic Net
38/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
138
21. Insertar un segundo GroupBox hacia el formulario, tal como se muestraen la siguiente imagen:
22. El formulario tendr el siguiente aspecto:
23. Del Cuadro de Herramientas:
24. El formulario tendr el siguiente aspecto:
Name gbxopciones
Text Opciones de Control
Font Bold True
Forecolor 1 Color
BackgroundIma
ge
La misma imagen del
Formulario
Cursor PanWest
Insertar un botn de comando, Button
hacia el GroupBox
Name: txtdos
Name: txttres
Name: txtcuatro
Name: txtcinco
-
7/16/2019 16742271 Visual Basic Net
39/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
139
25. Propiedades del botn de Comando:
Name btnnuevo
Text &Nuevo
BackgroundImage La misma imagen del Formulario
Image Un icono
ImageAlign BottomCenter
TextAlign MiddleCenter
Forecolor 1 Color
Cursor Hand
26. Copiary pegar 4 botones de comando con el objeto Button, hacia elobjeto GroupBox
27. En el formulario:
Botn de Comando Button1
Name: Name: btnmultiplica Name: btnsalir Name: btnprome
-
7/16/2019 16742271 Visual Basic Net
40/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
140
28. El formulario tendr el siguiente aspecto:
29. Pulsar doble clic en el objeto TextBox: txtuno, evento: Keypress
30. Seleccionar el objeto: txtdos, evento: Keypress
Copiar y pegar el ObjetoLabel y el TextBox
Name: Label6 Text: El Resultado Es :
TextAlign: MiddleCenter
Name: txtresultado Text: Vacio
-
7/16/2019 16742271 Visual Basic Net
41/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
141
31. Seleccionar el objeto: txttres, evento: keypress
32. Seleccionar el objeto: txtcuatro, evento: Keypress
33. Seleccionar el objeto: txtcinco, evento: Keypress
34. Seleccionar el Objeto: btnnuevo, evento: Click
-
7/16/2019 16742271 Visual Basic Net
42/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
142
35. Seleccionar el objeto: btnsuma, evento: Click
36. Seleccionar el objeto: btnmultiplica, evento: Click
37. Seleccionar el objeto: btnprome, evento: Click
38. Seleccionar el objeto: btnsalir, evento: Click
Esta aplicacin nos permitir hallar la venta de un productocualquiera,Calculando el Subtotal, IGV y Total de la venta, y a su vez nosmostrara la hora actualizndose cada segundo, mediante un controlTimer.
Grabar y Ejecutar La Aplicacin
-
7/16/2019 16742271 Visual Basic Net
43/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
143
Primero comencemos con los nombres de cada control, aunque creoqueesto es lo que ms me toma tiempo, empecemos, el Label que nosmostrara la fecha se llamara lblFecha, el que nos mostrara se llamara
lblHora, el del subtotal
se llamara lblSubTotal,el del total se llamaralblTotal y el del IGV sellamara lblIgv, elTextBox que captura elnombre del producto sellamara txtNombProd,el del precio unitario sellamara txtPrecUnit yel de la cantidad se
llamara txtCant, losbotones de Nuevo,Resultados y Salir se
llamaran btnNuevo, btnResultados y btnSalir, respectivamente.
frmAplicacion89 (Evento FormClosing)Dim Resp As MsgBoxResultResp = MsgBox("Desea salir de la Aplicacin?",
sgBoxStyle.YesNo,"Cuidado")
If Resp = MsgBoxResult.No Thene.Cancel = TrueEnd If
frmAplicacion89 (Evento Load)
Me.tmrHora.Enabled = TrueMe.lblFecha.Text = Format(Now, "dd - MMMM - yyyy")Me.lblHora.Text = Format(Now, "hh:mm:ss tt")Me.Text = Space(40) + "Ventas"
tmrHora (Evento Tick)
Me.lblHora.Text = Format(Now, "hh:mm:ss tt")
btnSalir (Evento Click)Me.Close()
-
7/16/2019 16742271 Visual Basic Net
44/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
144
btnNuevo (Evento Click)
Me.txtCant.Text = ""Me.txtNombProd.Text = ""Me.txtPrecUnit.Text = ""
Me.lblIgv.Text = ""Me.lblSubTotal.Text = ""Me.lblTotal.Text = ""Me.txtNombProd.Focus()
btnResultados (Evento Click)Dim SubTotal, IGV, Total As SingleSubTotal = CStr(Val(Me.txtCant.Text) *
Val(Me.txtPrecUnit.Text))IGV = SubTotal * 0.19
Total = IGV + SubTotalMe.lblSubTotal.Text = Format(SubTotal, "###,##0.00")Me.lblIgv.Text = Format(IGV, "###,##0.00")Me.lblTotal.Text = Format(Total, "###,##0.00")
Lo nico que deben de saber del control Timer es que cuando unolo crea, se crea desactivado, as que se tiene que activar el controlpara poder usarlo, esto se hace mediante la propiedad Enabled, enla cual tiene que estar en True, y el intervalo en que el controlse actualizara, por ejemplo, el intervalo de 100 es equivalente a
un segundo.Ejemplo propuesto
1. Realizar el siguiente diseo del Formulario
-
7/16/2019 16742271 Visual Basic Net
45/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
145
Indicaciones:
Cuando se ejecuta la aplicacin deber realizar lo siguiente:
Respecto a los botones
El botn Nuevo, nos permite limpiar los cuadros de textos El botn Calcularnos permite realizar las siguientes operaciones:
Sub Total, Igv y A pagar El botn: Salir, nos permite salir de la aplicacin
Respecto a los GroupBox
Cuando se selecciona el botn: Nuevo, se activa los Groupbox:Datos del cliente y Compras del cliente, para ingresar los datos
Se digita los datos de un cliente Se ingresa un cdigo de un producto La descripcin de un producto El precio Cuando se digita la cantidad, debe que visualizarse automticamente
en la columna total, el producto del precio por la cantidad Cuando se hay llenado las compras del Cliente Se pulsa el botn: Calcular, para que halle los resultados
mencionados anteriormenteValidaciones
En la columna precio y cantidad, solamente acepta valoresnumricos
En los Cuadros de textos, se debe que utilizar el evento Keypress
Ejercicios propuestos
Ingresar tres nmeros y determinar cul de ellos es el menor.
Llamar de un formulario a otro usando botones.
Ingresar dos nmeros realizar la suma de estos, enviar a otro formularioy acumularlos en un label.
Ingresar un valor inicial y final con la estructura repetitiva for .. to realizarla secuencia para determinar cuntos pares e impares existen as comosu acumulado de cada uno, debe mostrar en un control textbox demltiples lneas las respuestas de la serie respectiva.
-
7/16/2019 16742271 Visual Basic Net
46/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
146
Mostrar en el formulario la tabla de dividir de un numero ingresado dichatabla solo se mostrar si este nmero est comprendido entre 1 y 12.
En un formulario y en 25 botones determinar al azar sin que se repitan laemulacin de un bingo.
Semana 3 : Contenedores de elementos
El control combo box._
Un combo tiene muchas cosas en comn con una lista (listbox). La diferenciaprincipal es que en un combo tiene una propiedad llamada DropDowStyledistintas formas de presentar una lista:
1. Simple Combo. En este caso el registro seleccionado tambin es editable, yse muestra una lista no desplegable dotada si es necesario de una scrollbar.
2.- DropDown ._ es el valor ms habitual y corresponde a el caso en el que
slo se muestra el registro seleccionado, que es editable por el usuario,permaneciendo el resto oculto hasta que el usuario despliega la lista con elmouse.
3. DropDown List. En este ltimo caso el registro seleccionado no es
editable y la lista es desplegable.
En una caja combinada, al igual que en una caja de texto sencilla, est
permitido escribir con el teclado en tiempo de ejecucin, si la propiedad
Enabled vale True. En una lista esto no es posible.
El control list box._
Un ListBox es un control en el que se pueden mostrar varios registros o lneas,teniendo uno o varios de ellos seleccionado(s). Si en la lista hay ms registrosde los que se pueden mostrar al mismo tiempo, se aade automticamente un
-
7/16/2019 16742271 Visual Basic Net
47/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
147
scrollBar. Para aadir o eliminar registros de la lista se utilizan la Coleccintems cuyos mtodos son Add y Remove respectivamente. Esto slo puedehacerse en modo de ejecucin, y no
en modo de diseo. Se suelen inicializar desde el evento MyBase.Load.
Propiedades
- tems. Es una coleccin de elementos que se almacena en el List-
Box. En dicha coleccin se utilizan los siguientes mtodos:
- Add.- Aadir un Item.
Clear. Limpiar los tems de la Lista.
- Remove. Quitar un Item de la Lista.
- Count. Retorna el nmero de tems en la Lista.
- SelectedIndex. Retorna el ndice del elemento seleccionado. Hay que tener
en cuenta que los elementos de la lista se empiezan a numerar por cero, y enel caso de no haber ninguno seleccionado esta propiedad vale -1.
- SelectedItem. Retorna el valor del elemento seleccionado, tambin
se utiliza la propiedad Text.
- SetSelected (pos,valor). Indica si una lista esta seleccionada, esta
si esta en true indica que ese elemento ha sido seleccionado.
- SelectionMode esta es una propiedad que indica si se podra seleccionar
una propiedad neta del ListBox y se dara en tiempo de diseo.
Ejemplo 06
Este Formulario nos permite ingresar un nombre de un trabajador y alseleccionar el tipo de pago deltrabajador, automticamentenos hallara el pago por hora, y
tendremos que ingresar lashoras trabajadas.
Esta aplicacin nos permiteingresar un numero enterocualquiera a un ListBox, ydespus podemos ordenarlos
-
7/16/2019 16742271 Visual Basic Net
48/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
148
ascendentemente o descendentemente, o eliminar los elementosseleccionados, tambin podremos hallar la media de los elementos delcontrol, teniendo en cuenta que si el nmero de elementos de la lista es impar,la media es igual al nmero colocado en la posicion media de la lista, o si elnmero de elementos de la lista es par, la media es igual al promedio de los
dos valores medios de la lista. NOTA que se debe de tener ordenados loselementos de la lista en forma ascendente para poder hallar la media.
Los controles tendrn su nombre respectivo, con referencia a su funcin, eltectbox se llama txtNumIng, el botn aadir se llamara btnAadir, el botncerrar se llamara btnCerrar, el botn ordenar se llamara btnOrdenar, el botneliminar se llamara btnEliminar, el botn ejecutar clculo se llamara btnEjecutar,la lista de nmeros (ListBox) se llamar lstNumeros, el radio button ascendentese llamar rdbAscendente y el del descendente se llamara rdbDescendente y
por ltimo el Label que muestra la media de la lista de nmeros se llamaralblCalculo.
Cuando seleccionaremos un elemento o ms de uno, se activara el botn de
Eliminar, en caso contrario debe de estar desactivado.
Declaramos variables a Nivel del Formulario
Dim Ordenado As Boolean = False
txtNumIng (Evento TextChanged)
If IsNumeric(Me.txtNumIng.Text) = True Then
Me.btnAadir.Enabled = True
Else
Me.btnAadir.Enabled = False
End If
btnAadior (Evento Click)
Me.lstNumeros.Items.Add(Me.txtNumIng.Text)
Me.txtNumIng.Text = ""
Me.txtNumIng.Focus()
rdbAscendente (Evento CheckedChanged)
-
7/16/2019 16742271 Visual Basic Net
49/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
149
If Me.rdbAscendente.Checked = True Then
Me.btnOrdenar.Enabled = True
Else
Me.btnOrdenar.Enabled = False
End If
rdbDescendente (Evento CheckedChanged)
If Me.rdbDescendente.Checked = True Then
Me.btnOrdenar.Enabled = True
Else
Me.btnOrdenar.Enabled = False
End If
btnOrdenar (Evento Click)
Dim NumItems, J, K, Mayor As Integer
NumItems = Me.lstNumeros.Items.Count - 1
Dim Temp(NumItems) As Integer
'Almacenamos los valores en un array temporal
For J = 0 To NumItems
Temp(J) = CInt(Me.lstNumeros.Items(J))
Next
'Mtodo de Ordenacin llamada BURBUJA
For J = 0 To NumItems
For K = 0 To NumItems
If K < NumItems Then
If Temp(K) > Temp(K + 1) Then
Mayor = Temp(K) : Temp(K) = Temp(K + 1) : Temp(K + 1) =Mayor
-
7/16/2019 16742271 Visual Basic Net
50/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
150
End If
End If
Next
Next
If Me.rdbAscendente.Checked = True Then
'Limpiar y Llenar el ListBox
Me.lstNumeros.Items.Clear()
For J = 0 To NumItems
Me.lstNumeros.Items.Add(CStr(Temp(J)))
Next
Ordenado = True
ElseIf Me.rdbDescendente.Checked = True Then
'Limpiar y Llenar el ListBox
Me.lstNumeros.Items.Clear()
For J = 0 To NumItems
Me.lstNumeros.Items.Add(CStr(Temp(NumItems - J)))
Next
Ordenado = False
End If
lstNumeros (Evento SelectedIndexChanged)
Me.btnEliminar.Enabled = True
btnEliminar (Evento Click)
Dim i As Integer : Me.btnEliminar.Enabled = False
With Me.lstNumeros
For i = .SelectedItems.Count - 1 To 0 Step -1
.Items.Remove(.SelectedItems.Item(i))
-
7/16/2019 16742271 Visual Basic Net
51/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
151
Next
End With
btnEjecutar (Evento Click)
Dim NumItems, Index, Q As Integer : Dim Media As SingleNumItems = Me.lstNumeros.Items.Count
If Ordenado = False Then
MsgBox("Para Hallar la Media, Primero Debe de Ordenar los Elementosen
Forma Ascendente", MsgBoxStyle.Information, "ERROR!")
Exit Sub
End If
Q = NumItems \ 2 : Index = NumItems - (Q * 2)
If Index = 0 Then
Index = CInt(Me.lstNumeros.Items.Count) \ 2
Media = (CSng(CInt(Me.lstNumeros.Items(Index)) +
CInt(Me.lstNumeros.Items(Index - 1)))) / 2
ElseIndex = CInt(Me.lstNumeros.Items.Count) \ 2
Media = CSng(CInt(Me.lstNumeros.Items(Index)))
End If
Me.lblCalculo.Text = CStr(Media)
btnOrdenar (Evento Click)
Me.Close()
-
7/16/2019 16742271 Visual Basic Net
52/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
152
Empleo de listas
Codificacion
Public Class Form1
Private Const msgbox_Title As String = "Lista de Elementos"
Private Const msgbox_Eliminar As String = "Para eliminar un dato, debeseleccionarlo previamente"
Private Const msgbox_Pasar_Dato As String = "Para pasar un dato, debeseleccionarlo previamente"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
With ListBox1
.Items.Add("Naranja") : .Items.Add("Pera")
.Items.Add("Melocotn") : .Items.Add("Albaricoque")
.Items.Add("Manzana") : .Items.Add("Pltano")
.Items.Add("Meln") : .Items.Add("Mango")
.Items.Add("Uvas") : .Items.Add("Sanda") : .Items.Add("Limn")
.Items.Add("Fresquilla")
End With
Label1.Text = ListBox1.Items.Count & " elemento(s)"
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button5.Click
-
7/16/2019 16742271 Visual Basic Net
53/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
153
'Aadir ListBox1
If TextBox1.Text "" Then
ListBox1.Items.Add(TextBox1.Text)
Label1.Text = ListBox1.Items.Count & " elemento(s)"
TextBox1.Text = ""
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button6.Click
'Eliminar ListBox1
If ListBox1.SelectedIndex -1 Then
'Si hay datos seleccionados en el control, eliminamos el datoseleccionado
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
Label1.Text = ListBox1.Items.Count & " elemento(s)"
Else
MessageBox.Show(msgbox_Eliminar, msgbox_Title,
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click
'Pasa todos los elementos del control ListBox1 al control ListBox2
While ListBox1.Items.Count > 0
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
ListBox2.Items.Add(ListBox1.SelectedItem)
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
End While
-
7/16/2019 16742271 Visual Basic Net
54/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
154
Label1.Text = ListBox1.Items.Count & " elemento(s)"
Label2.Text = ListBox2.Items.Count & " elemento(s)"
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button7.Click
ListBox2.Sorted = True : ListBox2.Sorted = False
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button4.Click
'Pasa todos los elementos del control ListBox2 al control ListBox1
While ListBox2.Items.Count > 0ListBox2.SelectedIndex = ListBox2.Items.Count - 1
ListBox1.Items.Add(ListBox2.SelectedItem)
ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)
End While
Label1.Text = ListBox1.Items.Count & " elemento(s)"
Label2.Text = ListBox2.Items.Count & " elemento(s)"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click
Dim a As Integer = 0
'Pasa un dato seleccionado del control ListBox1 al control ListBox2
If ListBox1.SelectedIndex -1 Then
' 'Si hay datos seleccionados en el control,'pasamos el datoseleccionado
While a < ListBox1.Items.Count
' si el elemento esta seleccionado
If ListBox1.GetSelected(a) = True Then
-
7/16/2019 16742271 Visual Basic Net
55/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
155
ListBox2.Items.Add(ListBox1.Items.Item(a))
ListBox1.SetSelected(a, False) :ListBox1.Items.RemoveAt(a)
'elimina de la lista el item copiado
End If
a += 1
End While
Label1.Text = ListBox1.Items.Count & " elemento(s)"
Label2.Text = ListBox2.Items.Count & " elemento(s)"
Else
If ListBox1.Items.Count > 0 Then
MessageBox.Show(msgbox_Pasar_Dato, msgbox_Title,MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
'Pasa un dato seleccionado del control ListBox2 al control ListBox1
If ListBox2.SelectedIndex -1 Then
'Si hay datos seleccionados en el control,
'pasamos el dato seleccionado
ListBox1.Items.Add(ListBox2.SelectedItem)
ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)Label1.Text = ListBox1.Items.Count & " elemento(s)"
Label2.Text = ListBox2.Items.Count & " elemento(s)"
Else
-
7/16/2019 16742271 Visual Basic Net
56/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
156
If ListBox2.Items.Count > 0 Then
MessageBox.Show(msgbox_Pasar_Dato, msgbox_Title,MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub
End Class
Ejemplo 07
: Elegir un nuevo proyecto Visual Basic y una plantilla de AplicacinWindows, seleccionar en ubicacin la carpeta C:\VBNET\Labs y comonombre escribirLab04_1.
: Vamos a crear una aplicacin de tipo Proforma, que calcule el precio apagar por un Computador eligiendo las partes bsicas y opcionalmente susaccesorios; para esto, el nombre del formulario ser frmProforma.vb.
: Realizar el diseo del formulario aadiendo un TabControl con 3TabPages y disear las fichas, tal como se muestran en la figuras deabajo:
-
7/16/2019 16742271 Visual Basic Net
57/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
157
Diseo de la primera ficha de frmProforma Diseo de la segunda ficha defrmProforma
Nota: Los GroupBox de lectoras y los ListBox estn deshabilitados.
: Luego de realizar el diseo y configurar las propiedades de los controles; loprimero que haremos es escribir una rutina que permita llenar el combo y
-
7/16/2019 16742271 Visual Basic Net
58/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
158
las listas, de la siguiente forma:
Public Sub Llenar_Listas()
With cboProcesador.Items
.Add("Pentium II 350 Mhz") : .Add("Pentium III 400 Mhz")
.Add("Pentium III 500 Mhz") : .Add("Pentium III 700 Mhz")
End With
With lstMemoria.Items
.Add("32 Mb") : .Add("64 Mb")
.Add("128 Mb")
End With
With lstDisco.Items
.Add("10 Gb") : .Add("20 Gb")
.Add("30 Gb")
End With
With lstImpresora.Items
.Add("Stylus Color 400") : .Add("Stylus Color 500")
.Add("Stylus Color 700")
End With
With lstScanner.Items
.Add("Pequeo") : .Add("Mediano") : .Add("Grande")
End With
End Sub
: A continuacin, se debe llamar a la rutina despus que se crea elformulario:
Public Sub frmProforma_Load()
-
7/16/2019 16742271 Visual Basic Net
59/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
159
Llenar_Listas()
End Sub
: Se debe programar el combo y las listas de la primera ficha ConfiguracinBsica para que al elegir un tipo de procesador, memoria o disco duro, se
muestre el precio respectivo:
Public Sub cboProcesador_SelectedIndexChanged(ByVal sender As )
Select Case cboProcesador.SelectedIndex
Case 0 : txtPrecioProcesador.Text = "100"
Case 1 : txtPrecioProcesador.Text = "150"
Case 2 : txtPrecioProcesador.Text = "200"
Case 3 : txtPrecioProcesador.Text = "300"
End Select
End Sub
Public Sub lstMemoria_SelectedIndexChanged(ByVal sender As )
Select Case lstMemoria.SelectedIndex
Case 0 : txtPrecioMemoria.Text = "30"
Case 1 : txtPrecioMemoria.Text = "50"Case 2 : txtPrecioMemoria.Text = "70"
End Select
End Sub
Public Sub lstDisco_SelectedIndexChanged(ByVal sender As )
Select Case lstDisco.SelectedIndex
Case 0 : txtPrecioDisco.Text = "80"
Case 1 : txtPrecioDisco.Text = "100"
Case 2 : txtPrecioDisco.Text = "120"
End Select
-
7/16/2019 16742271 Visual Basic Net
60/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
160
End Sub
: Tambin se debe realizar lo mismo al elegir una opcin del grupo debotones, tanto del monitor como del teclado:
Public Sub rbnMonitor14_Click(ByVal sender As Object, )
txtPrecioMonitor.Text = "150"End Sub
Public Sub rbnMonitor15_Click(ByVal sender As Object, )
txtPrecioMonitor.Text = "200"
End Sub
Public Sub rbnTecladoSimple_Click(ByVal sender As Object, )
txtPrecioTeclado.Text = "15"
End Sub
Public Sub rbnTecladoLujo_Click(ByVal sender As Object, )
txtPrecioTeclado.Text = "30"
End Sub
: Programamos la segunda ficha de Accesorios, iniciando por la casilla delectora de disco, para que al elegir este accesorio se habilite sus opciones(ya que las deshabilitamos en diseo) y al elegir un modelo se muestre suprecio:
Public Sub chkLectoraDisco_Click(ByVal sender As Object, )
gbxLectoraDisco.Enabled = chkLectoraDisco.Checked
End Sub
Public Sub rbnLectoraDisco1_Click(ByVal sender As Object, )
txtPrecioLectoraDisco.Text = "20"
End Sub
Public Sub rbnLectoraDisco2_Click(ByVal sender As Object, )
txtPrecioLectoraDisco.Text = "40"
End Sub
-
7/16/2019 16742271 Visual Basic Net
61/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
161
Public Sub rbnLectoraDisco3_Click(ByVal sender As Object, )
txtPrecioLectoraDisco.Text = "50"
End Sub
:
De manera similar, lo hacemos con la lectora de CD ROM:Public Sub chkLectoraCD_Click(ByVal sender As Object, )
gbxLectoraCD.Enabled = chkLectoraCD.Checked
End Sub
Public Sub rbnLectoraCD40X_Click(ByVal sender As Object, )
txtPrecioLectoraCD.Text = "40"
End Sub
Public Sub rbnLectoraCD60X_Click(ByVal sender As Object, )
txtPrecioLectoraCD.Text = "50"
End Sub
Public Sub rbnLectoraCD80X_Click(ByVal sender As Object, )
txtPrecioLectoraCD.Text = "70"
End Sub
: Para la opcin de Impresoras y Scanner se realiza el mismo procedimiento:Public Sub chkImpresora_Click(ByVal sender As Object, )
lstImpresora.Enabled = chkImpresora.Checked
End Sub
Public Sub lstImpresora_SelectedIndexChanged(ByVal sender As )
lstImpresora.SelectedIndexChangedSelect Case lstImpresora.SelectedIndex
Case 0 : txtPrecioImpresora.Text = "100"Case 1 : txtPrecioImpresora.Text = "200"
Case 2 : txtPrecioImpresora.Text = "300"
End Select
-
7/16/2019 16742271 Visual Basic Net
62/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
162
End Sub
Public Sub chkScanner_Click(ByVal sender As Object, )
lstScanner.Enabled = chkScanner.Checked
End SubPublic Sub lstScanner_SelectedIndexChanged(ByVal sender As )
Select Case lstScanner.SelectedIndex
Case 0 : txtPrecioScanner.Text = "100"
Case 1 : txtPrecioScanner.Text = "200"
Case 2 : txtPrecioScanner.Text = "400"
End Select
End Sub
: Finalmente, programamos los botones de la tercera ficha General, quecalculen el precio a pagar, limpie los datos ingresados y finalice laaplicacin respectivamente:
Public Sub btnCalcular_Click(ByVal sender As Object, )
Dim PrePro, PreMem, PreDis, PreMon, PreTec As Integer
Dim PreLDi, PreLCD, PreImp, PreSca As Integer
Dim TotBas, TotAcc, TotVen, TotIGV, TotPag As Single
PrePro = txtPrecioProcesador.Text.ToInt16
PreMem = txtPrecioMemoria.Text.ToInt16
PreDis = txtPrecioDisco.Text.ToInt16
PreMon = txtPrecioMonitor.Text.ToInt16
PreTec = txtPrecioTeclado.Text.ToInt16
PreLDi = txtPrecioLectoraDisco.Text.ToInt16
PreLCD = txtPrecioLectoraCD.Text.ToInt16
PreImp = txtPrecioImpresora.Text.ToInt16
PreSca = txtPrecioScanner.Text.ToInt16
-
7/16/2019 16742271 Visual Basic Net
63/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
163
TotBas = PrePro + PreMem + PreDis + PreMon + PreTec
TotAcc = PreLDi + PreLCD + PreImp + PreSca
TotVen = TotBas + TotAcc
TotIGV = (0.18 * TotVen).ToSingle
TotPag = TotVen + TotIGV
txtTotalBasico.Text = TotBas.ToString
txtTotalAccesorios.Text = TotAcc.ToString
txtTotalVenta.Text = TotVen.ToString
txtTotalIGV.Text = TotIGV.ToString
txtTotalPagar.Text = TotPag.ToString
End Sub
Public Sub btnNuevo_Click(ByVal sender As Object, )
Dim X As Control
For Each X In Controls
If ((TypeOf X Is TextBox) Or (TypeOf X Is ComboBox)) Then
X.Text = ""
End If
Next
End Sub
Public Sub btnSalir_Click(ByVal sender As Object, )
End
End Sub
Ejercicio Propuesto
Esta aplicacin nos permitir realizar una pro forma de venta de una tiendacomercial de computo, consta de dos formularios, uno que es el principalllamado frmAplicacion90 y otro llamado frmInfo, esta aplicacin est basada enarreglos y datos almacenados en el programa, con el fin de darnos cuenta quetan importante es tener un diseador de base de datos, ya que la aplicacin sin
-
7/16/2019 16742271 Visual Basic Net
64/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
164
base de datos que maneje informacin se hara engorrosa y los datosno estaran tan seguros, veamos un ejemplo de este tipo de aplicacin sin unabase de datos, y como seria su programacin, primero veremos por formulario,as que el primero ser el formulario frmInfo.
frmInfo
Este formulario tendr un GropuBox que conservara su propio nombre y losLabels de este formulario que solo nos mostraran lo que decepcionandel otro formulario, tendrn los siguientes nombres, de acuerdo a suetiqueta de su costado; lblMainboard, lblProcesador, lblDiscoDuro,lblMemoriaRAM, lblTarjVideo,blTarjRed, lblCase.
Y el nico que contendr el formulario va a ser en el control GroupBox1
GroupBox1 (Evento Click)Me.Close()
frmAplicacion90
-
7/16/2019 16742271 Visual Basic Net
65/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
165
Ahora pondremos los nombres respectivos a cada control, en este caso, yosolo dara referencia a que control me refiero y ustedes deben de saberidentificar qu control es. Ok!, por ejemplo en qu forma se est mostrando los
Buttons, los GroupBox y el PictureBox.
QUE ES LO QUE SE PIDE?
Para este caso se pide que esta aplicacin se pueda escoger un articulo y nosmuestre su imagen referencial, la marca y el modelo del artculo, y a su vez nosmuestre el precio unitario y el precio total, existe un caso en quecuando
selecciona un CPU, se nos pueda mostrar su descripcin de ella nada mas,tambin
podremos aadir los artculos seleccionados al carrito, y tambin eliminar
elementos seleccionados y nos debe de mostrar el total de todos los productos,el
subtotal y el IGV. Y para los que les guste hacerlo ms perfecto, tambin lepueden
-
7/16/2019 16742271 Visual Basic Net
66/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
166
agregar un botn de impresin donde se imprimir el formulario en pantalla.
Una vez ya tenido el diseos del formulario listo y sus descripciones que debetener, procederemos a codificacin.
Realizar la siguiente aplicacin
Seleccionar elproducto,ingresar lacantidad yalmacenar en
una listasegn comose muestra enla imagen Ud.Debe tener encuenta quecuandoseleccione untem de lalista se deben
seleccionartodos y pulsael botneliminar osuprimir ese
tem se eliminara en todas las listas.
Almacenar en una lista solo a los nmeros primos que existen entre el 1 y el 20
Almacenar dentro un combo box el ingreso de un producto y cuando este seaseleccionado de la lista desplegable muestra en un list box la cantidad devocales, consonantes y espacios en blanco que tiene el tem.
-
7/16/2019 16742271 Visual Basic Net
67/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
167
Practica N 1
1.- Ingrese por teclado en una caja de texto la hora en formato de 24 horas yen otra caja de texto la cantidad de minutos al hacer clic en un boton deberasalir la hora en formato de 12 horas por ejemplo si se ingresa 23 en una caja yen la otra 12 el resultado seria 11:12:PM
2.- Ingrese la cantidad de minutos hablados por una persona y escoja el tipo dellamada (Local, Nacional, Internacional).Se visualizara el importe de la llamadasabiendo que por los 3 primeros minutos se paga S/ 1.00 y por cada minutoadicional se paga 0.50 en caso sea local si es nacional se incrementa el 25% ysi es internacional se incrementa el 60% a los precios por minuto.
3.- Ingresar el nombre de un trabajador, la cantidad de hijos y su sueldo, si estetiene hijos se le dar una bonificacin de S./40.00 por hijo y si no tiene hijos sele dara el 25% de su sueldo se deber mostrar la bonificacin y el sueldo final.
4.- Ingrese por teclado dos nmeros y al escoger un signo de operacin sedebera mostrar el resultado de la operacin.
5.- Ingrese un numero mximo de 2 cifras si el numero es de una cifra sedeber mostrar cuanto falta para convertirse en un numero de 2 cifras, y si esde 2 cifras se deber mostrar cuanto falta para convertirse en un numero de 3cifras.
6.- Ingrese un numero cualquiera y muestre la cantidad de cifras que tienesegn sea el caso.
Ejemplo: 203 = Tiene 3 cifras, 45678 = Tiene 5 cifras tome en cuenta que elnumero mximo a ingresar es un millon..
7.- Ingrese por teclado el nombre, ao de nacimiento y sexo de una persona (Mo F),se deber mostrar uno de los siguientes mensajes.
- Varon mayor de edad
- Varon menor de edad
- Dama mayor de edad
-Dama menor de edad
8.- Ingrese un numero y visualcelo en romano.
-
7/16/2019 16742271 Visual Basic Net
68/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
168
9.- Ingrese por teclado el da de nacimiento y el mes de nacimiento de unapersona al hacer clic se deber mostrar su signo zodiacal as como tambindeber aparecer la imagen del signo Zodiacal en un control PictureBox.
10.- Se deber desarrollar un algoritmo en el cual se deber ingresar el nombrede un alumno y se deber escoger el turno en el que estudia (M , T y N) asi
como tambien el ciclo (I, II, III, IV, V, VI y SIDET) y la carrera (CI, Enfermeria yAdministracin) se debera calcular el pago de su pension en base a lossiguientes datos:
el precio por carrera es:
CI = 320.00
Enfermeria = 280.00
Administracin = 270.00
Ademas que dependiendo del ciclo en el que estan se pagara un recargo delprecio de 10,20,30,40,50,60 y 70% (para sidet). Asi como tambien si es delturno se debera recargar 10% mas solo si esta en I, II, o III ciclo, si es delturno se recarga el 15 % mas solo si esta en I, o II y por utlimo si es delturno se se la hara un descuento del 15 % solo si esta en SIDET
Al finalizar solo se debe mostrar el monto de la pension.
11.- Realizar el siguiente formulario:
.
Se deber ingresar el largo y el anchodel terreno y conforme vayandigitndolo deber salir el total (Largo* ancho)
Se deber ingresar el precio pormetro y al escoger una categora elprecio se incrementara en un 10, 20,y 30 % respectivamente segn lacategoria, ademas de salir el precio
total que sera el total de area * elprecio y si se escogio en tipo dealquiler Contado se le hara unDescuento de 10% al precio total y sies credito se le hara un recargo de 15%.
-
7/16/2019 16742271 Visual Basic Net
69/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
169
Finalmente se deber escoger si se pagara alumbrado, parques o serenazgosacando los % correspondientes al precio total segn indica el fomulario elprecio final debera salir al hacer clic en el boton calcular.
Practica N 1
1.- Ingrese un numero y Genere las siguientes series: (el resultado se mostraraen un label o en un text)
1,3,5,7,..... -1,+3,-5,+7... 1,3,2,5,3,7,4,9,5,11.... 0,1,1,2,3,5,8,13...(Serie Fibonacci)
2.- Genere 100 numeros aleatorios y diga cuantos primos mayores a 50hay,perfectos menores a 10 hay, pares e impares.
3.- Genere 100 numeros aleatorios y al finalizar diga cual es el mayor y elmenor.
4.- Ingrese un numero de cualquier cifra y mostrarlo en forma invertida
5.- Ingrese un numero y convirtalo en base 2
6.- Ingrese una cadena y muestre lo siguiente
La cadena en forma invertida Diga cuantas vocales tiene Diga cuantos espacios en blancos hay
7.- Ingrese una cadena y convirtalo en mayscula y en minusculas sin utilizarlas funciones ucase y lcase.
8.- Genere 10 numeros aleatorios y si el numero es par se debera incrementarel numero con la suma de su raiz cuadrada,si el numero es impar se deberaincrementar el numero con la suma del seno del numero. AL finalizar se debemostrar la suma de todos los numeros.
9.- Ingrese Una fecha y diga cuantos dias faltan para acabar el ao, cuantosdias han pasado desde esa fecha hasta la fecha actual, que dia cae esa fecha(Lunes,martes), y muestre la misma fecha en el siguiente formato: Lunes 15
de Abril de 2003 (Por ejemplo)
10.- Ingrese en una caja de texto una cadena y al finalizar diga cuantaspalabras tiene dicha cadena y cual es la cantidad de caracteres que tiene lapalabra con mayor longitud
11.- Ingrese un usuario y un password y si se equivoca tres veces debe salir
-
7/16/2019 16742271 Visual Basic Net
70/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
170
de la aplicacin
12.- Realice el siguiente formulario:
En este formulario se debera escoger un color y un objeto(checks,text,options)y al hacer clic en fondo o en letra debera cambiar al color que se ecogio ya sea
el fondo(backcolor o la letra(forecolor)
Luego al hacer clic en cursiva (font.italic) o en negrita (font.bold) o subrayado(font.underline) se debera cambiar la apariencia de los controles que se
escogio
(Checks,
text,Options)
13.-Realice el
siguiente formulario:
Cuando se haga clic en Mostrar Resultado se debe mostrar la edad del
trabajador, el tiempo de servicio y el codigo que se generara de la siguientemanera: el ao de ingreso luego la letra o segn su sexo , los 2primeros caracteres de su apellido paterno, los 2 primeros caracteres de suapellido materno, el primer carcter de su nombre y un correlativo
Ademas al ingresar sus nombres al perder el enfoque se debera cambiar eltexto por maysculas y al entrar al enfoque de algun texto el color de fondodebera cambiar y al salir del enfoque debera regresar al color original que tuvo.
-
7/16/2019 16742271 Visual Basic Net
71/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
171
Semana 4 : Uso de Controles ComunesLos controles radio y checkbox
El control RadioButton
Es el control de seleccin de opciones, el cual permite seleccionar una opcion, de unconjunto de opciones.
Este control se utiliza en forma grupal, agrupados por un control GroupBox.
Las propiedades de este control:
Los eventos que utiliza con mayor frecuencia el Button.
Ejemplo 8
Desarrolle un programa donde al seleccionar un estado civil visualice:
Soltero:
Sueldo 450, Tiempo deServicio 5, No Hijos: 2
Casado:
Sueldo 250, Tiempo de
Servicio 2, No Hijos: 0
Diseo de controles.
-
7/16/2019 16742271 Visual Basic Net
72/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
172
btnsalir (Evento clic)
Me.Close()
rdbsoltero (Evento CheckedChanged)
lblestado.Text = N de Hermanos:lblsueldo.Text = 200.00
lbltiempoest.Text = Edad:txttiempest.Focus()
rdbcasado (Evento CheckedChanged)
lblestado.Text = N de Hijos :lblsueldo.Text = 250.00
lbltiempoest.Text = Tiempo de Servicio :txttiempest.Focus()
frmaplicacion (Evento load)
Iniciar()
btnnuevo (Evento clic)
Iniciar()
Funcin Iniciar
Sub Iniciar()
txtnombre.Text = :txttiempest.Text = :txtnumest.Text =
rdbsoltero.Checked = True :lblestado.Text = N de Hermanos
lblsueldo.Text = 200.00 :lbltiempoest.Text = Edad
txtnombre.Focus()
End Sub
El control CheckBoxEs el control de seleccin de opciones, el cual permite seleccionar una opcin en el
control: marcado o desmarcado.
Este control se utiliza en forma individual, a diferencia del RadioButton. Las propiedades de
-
7/16/2019 16742271 Visual Basic Net
73/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
173
este control:
Los eventos que utiliza con mayor frecuencia el Button.
Ejemplo 9
Disee un programa para calcular el monto de su remuneracin. Ingrese sunombre, seleccione su categora:
Empleado Sueldo500Obrero Sueldo 550Auxiliar Sueldo 200
Seleccione:
Bonificacin: 25% del sueldo y movilidad: 15% del sueldo.
El monto es lasuma de susingresos.
-
7/16/2019 16742271 Visual Basic Net
74/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
174
Private bonificacion, movilidad As Single
Private Sub RadioButton1_CheckedChanged() HandlesRadioButton1.CheckedChangedTXTSUELDO.Text = 500End Sub
Private Sub RadioButton2_CheckedChanged() HandlesRadioButton2.CheckedChangedTXTSUELDO.Text = 550End Sub
Private Sub RadioButton3_CheckedChanged() HandlesRadioButton3.CheckedChangedTXTSUELDO.Text = 200End Sub
Private Sub CheckBox1_CheckedChanged() Handles
CheckBox1.CheckedChangedIf CheckBox1.Checked = True Then
bonificacion = 0.25 * Convert.ToSingle(TXTSUELDO.Text)Else: bonificacion = 0End IfTXTMONTO.Text=Convert.ToSingle(TXTSUELDO.Text)+bonificacion +movilidadEnd Sub
Private Sub CheckBox2_CheckedChanged() HandlesCheckBox2.CheckedChangedIf CheckBox1.Checked = True Then
movilidad = 0.15 *Convert.ToSingle(TXTSUELDO.Text) Else: movilidad = 0End IfTXTMONTO.Text = Convert.ToSingle(TXTSUELDO.Text) + bonificacion +movilidadEnd Sub
-
7/16/2019 16742271 Visual Basic Net
75/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
175
Private Sub BTNLIMPIAR_Click() Handles BTNLIMPIAR.ClickTXTEMPLEADO.Text = TXTSUELDO.Text = TXTMONTO.Text = RadioButton1.Checked = False RadioButton2.Checked = FalseRadioButton3.Checked = False CheckBox1.Checked = FalseCheckBox2.Checked = FalseEnd Sub
El control PictureBox
Este control nos permite mostrar una imagen de una ruta especfica.
Comentarios
Se suele utilizar el control PictureBox para mostrar grficos de un archivo de
mapa de bits, metarchivo, icono, JPEG, GIF o PNG.
Establezca la propiedad image en el objeto Image que desea mostrar, ya sea
en tiempo de diseo o en tiempo de ejecucin. Adems, puede especificar la
imagen estableciendo la propiedad imagelocation y cargar la imagen de forma
sincrnica utilizando el mtodo Load o de forma asincrnica mediante el
mtodo LoadAsing.
Nota:
Si desea utilizar la misma imagen en varios controles PictureBox, cree un
clon de la imagen para cada control PictureBox. Obtener acceso a la mismaimagen desde varios controles hace que se produzca una excepcin.
La propiedad sizemode, establecida en los valores en la enumeracin
PictureBoxSizeMode, controla el recorte y la posicin de la imagen en el rea
de presentacin. Se puede cambiar el tamao del rea de presentacin en
tiempo de ejecucin con la propiedad ClientSize.
De forma predeterminada, el control PictureBox se muestra sin bordes. Para
proporcionar un borde estndar o tridimensional, utilice la propiedad
BorderStyle con el fin de distinguir el cuadro de imagen del resto del formulario,
incluso si no contiene ninguna imagen. El control PictureBox no se puede
seleccionar, lo que significa que no puede recibir el foco de entrada.
-
7/16/2019 16742271 Visual Basic Net
76/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
176
Ejemplo 10
En la figura 1 tienes el formulario en tiempo de diseo, que como puedes veres muy simple:Una caja de textos(txtFic) para el nombre
del fichero a mostrar, unbotn (btnExaminar)para seleccionar elfichero a mostrar, unPictureBox (pic) paramostrar la imagen, tresRadioButtons(optRotarIzq,optRotarDer yoptRotarLibre) paradiferentes opciones derotacin y un botn para
rotar la imagen(btnRotar).
Imports Microsoft.VisualBasicImports SystemImports System.Windows.FormsImports System.Drawing
Public Class Form1Private inicializando As Boolean = True
Private Sub Form1_Load() Handles MyBase.Loadpic.SizeMode = PictureBoxSizeMode.StretchImagetxtFic.Text = My.Settings.txtPic' Si existe la imagen, cargarlaIf System.IO.File.Exists(txtFic.Text) Then
pic.Load(txtFic.Text)End IfSelect Case My.Settings.optRotar
Case -1optRotarIzq.Checked = TrueoptRotarDer.Checked = FalseoptRotarLibre.Checked = False
-
7/16/2019 16742271 Visual Basic Net
77/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
177
Case 0optRotarIzq.Checked = FalseoptRotarDer.Checked = TrueoptRotarLibre.Checked = False
Case ElseoptRotarIzq.Checked = False
optRotarDer.Checked = FalseoptRotarLibre.Checked = TrueEnd Selectinicializando = False
End Sub
Private Sub optRotarIzq_CheckedChanged() HandlesoptRotarIzq.CheckedChanged,
optRotarDer.CheckedChanged, optRotarLibre.CheckedChanged' Este evento se produce al asignar el valor inicial' y si eso ocurre, no vale de nada el valor de SettingsIf inicializando Then Exit Sub
Select Case TrueCase optRotarIzq.Checked
My.Settings.optRotar = -1Case optRotarDer.Checked
My.Settings.optRotar = 0Case Else
My.Settings.optRotar = 1End Select
End Sub
Private Sub txtFic_KeyUp() Handles txtFic.KeyUpIf e.KeyCode = Keys.Return Thene.Handled = True' Si existe la imagen, cargarlaIf System.IO.File.Exists(txtFic.Text) Then
pic.Load(txtFic.Text)End If
End IfEnd Sub
Private Sub btnExaminar_Click( ) Handles btnExaminar.ClickDim ofd As New OpenFileDialog
With ofd.FileName = txtFic.Text.Filter = "Imgenes|*.jpg;*.png;*.gif;*.bmp|Todos (*.*)|*.*"If .ShowDialog = DialogResult.OK Then
txtFic.Text = .FileNameMy.Settings.txtPic = txtFic.Textpic.Load(.FileName)
End If
-
7/16/2019 16742271 Visual Basic Net
78/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
178
End WithEnd Sub
Private Sub btnRotar_Click() Handles btnRotar.ClickDim bmp As Image = pic.ImageIf optRotarIzq.Checked Then
bmp.RotateFlip(RotateFlipType.Rotate90FlipXY)ElseIf optRotarDer.Checked Then
bmp.RotateFlip(RotateFlipType.Rotate270FlipXY)Else
bmp.RotateFlip(RotateFlipType.Rotate90FlipNone)End Ifpic.Image = bmp
End Sub
El control DateTimePicker
Este control permite la seleccin e introduccin de fechas en una caja de textocon capacidades extendidas, o bien mediante un calendario desplegable que
se mostrar al pulsar el botn de expansin que
contiene.
Ejemplo 11
Private Sub frmDatosPersonal_Load() HandlesMyBase.Load
' modificar fecha del DateTimePicker
Me.dtpFNacim.Text = "15/06/2002"End Sub
Podemos restringir el rango de fechas a mostrar por este control conlas propiedades MinDate y MaxDate. Si queremos, por otra parte, quela fecha se muestre con un formato personalizado, aplicaremos dichoformato mediante la propiedad CustomFormat, teniendo en cuenta que nose har efectivo hasta que a la propiedad Format no le asignemos el valorCustom.
El botn btnCambiosFecha del formulario realiza algunas modificaciones por
cdigo sobre el control DateTimePicker dtpFNacim del formularioPrivate Sub btnCambiosFecha_Click(ByVal sender As System.Object, ByVal eAs
System.EventArgs) Handles btnCambiosFecha.Click
' configurar por cdigo el
' control DateTimePicker
-
7/16/2019 16742271 Visual Basic Net
79/366
Facultad de Ingenieria Industrial y de Sistemas
Ing. Alberto Moreno CuevaPgina
179
Me.dtpFNacim.MinDate = "1/4/2002"