Visual Basic

36
VISUAL BASIC. NET 2005 Operadore s And El operador And solo utilizamos cuando queremos que se cumpla una serie de expresiones, por ejemplo: If a > b And a > c Then Console.WriteLine("a es mayor que b y c") End If AndAlso El operador AndAlso comprueba también una seria de expresiones, pero a comparación del And, este comprueba siempre y cuando la expresión anterior resulta ser verdadera por ejemplo: If a > b AndAlso a > c Then Console.WriteLine("a es mayor que b y c") End If Or El operador Or solo utilizamos cuando queremos que se cumpla una expresión de toda una serie de expresiones, por ejemplo: If Promedio < 0 Or Promedio > 20 Then Console.WriteLine("Ingrese la Nota Correcta (1 - 20)") End If

Transcript of Visual Basic

Page 1: Visual Basic

VISUAL BASIC. NET 2005

Operadores

And

El operador And solo utilizamos cuando queremos que se cumpla una serie de expresiones, por ejemplo:

If a > b And a > c Then

Console.WriteLine("a es mayor que b y

c") End If

AndAlso

El operador AndAlso comprueba también una seria de expresiones, pero a comparación del And, este comprueba siempre y cuando la expresión anterior resulta ser verdadera por ejemplo:

If a > b AndAlso a > c Then

Console.WriteLine("a es mayor que b y

c") End If

Or

El operador Or solo utilizamos cuando queremos que se cumpla una expresión de toda una serie de expresiones, por ejemplo:

If Promedio < 0 Or Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 -

20)") End If

OrElse

El operador OrElse comprueba también una seria de expresiones, solo que bastara que una expresión sea verdadera para que no realice las demás evaluaciones. Por

Page 2: Visual Basic

ejemplo:

If Promedio < 0 OrElse Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 -

20)") End If

Not

Este operador se utiliza para hacer negaciones, más en los casos de tipo Bolean por ejemplo:

Dim Variable As Boolean = True

Dim Resultado As Boolean

Resultado = Not Variable ’ Retorna False.

Is

Este operador nos permite hacer comparaciones ya sea Booleanas o de String, este nos devolverá un valor Boolean de la expresión dada, por ejemplo:

Dim Variable As String = .Joel.

Dim Resultado As Boolean

Resultado = IsNumeric(Variable) ’ Retorna False.

To

Este operador lo usaremos mas en las Procesos Repetitivos o de Condiciones Múltiples, sirve para determinar un rango de números, por ejemplo:

For K = 1 To 10

A = A + 1

Next

Page 3: Visual Basic

Intrucciones Condicionales

Primera Forma:

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

Segunda Forma:

If b <> 0 Then

Res = a / b

Console.WriteLine("El Resultado de La División es: {0}",

Res) End If

Tercera Forma:

If b <> 0 Then

Res = a / b

Console.WriteLine("El Resultado de La División es: {0}",

Res) Else

Console.WriteLine("Error: División Entre

Cero") End If

Cuarta Forma

If a = b Then MessageBox(.Son Números Iguales.) Else MessageBox(.No son NúmerosIguales.)

Quinta Forma

If b = 0 Then

Console.WriteLine("Error: División Entre Cero")

ElseIf a <> b ThenRes = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res) ElseConsole.WriteLine("El Resultado de La División es: 1")End If

Condiciones Múltiples

Module Module1

Page 4: Visual Basic

Sub Main()Dim NE As IntegerDim ER As StringConsole.Write("Ingrese Un Número Entero (1 - 10): ") NE = CInt(Console.ReadLine)Select Case NE Case 1

: ER = "I" Case 2 : ER = "II" Case 3 : ER = "III" Case 4 : ER = "IV" Case 5 : ER = "V" Case 6 : ER = "VI" Case 7 : ER = "VII" Case 8 : ER = "VIII" Case 9 : ER = "IX" Case 10 : ER = "X"Case Else : ER = "No Existe"

End SelectConsole.WriteLine("Su Equivalente en Romano es: {0}", ER) Console.ReadLine()

End SubEnd Module

Module Module1Sub Main()

Dim MV As IntegerDim TB As SingleConsole.Write("Ingrese el Monto de Venta: ") MV = CInt(Console.ReadLine)Select Case MV

Case 0 To 999TB = CSng((0 * MV) / 100)

Case 1000 To 4999TB = CSng((3 * MV) / 100)

Case 5000 To 19999TB = CSng((5 * MV) / 100)

Case Is >= 20000TB = CSng((8 * MV) / 100)

End SelectConsole.WriteLine("El Total de Bonificación es: {0}", TB) Console.ReadLine()

End SubEnd Module

Procesos Repetitivos

For /Next

Primera Forma: Una de las formas mas

utilizadas. For i = 1 To 10

Page 5: Visual Basic

’contará de 1 hasta 10

’la variable i tomará los valores 1, 2, 3,

etc. Next

Segunda Forma: Esta forma se utiliza para decirle como va a incrementar, ya sea como el ejemplo de 2 en 2.

For i = 1 To 100 Step 2

’contará desde 1 hasta 100 (realmente 99) de 2 en 2

’la variable i tomará los valores 1, 3, 5,

etc. Next

Tercera Forma: Cuando queremos que un bucle sea en decreciente solo bastará darle un valor negativo, al número, como en el ejemplo, queremos que en vez que avance del1 al 10 queremos que este vaya del 10 al 1.

For i = 10 To 1 Step -1

’contará desde 10 hasta 1

’la variable i tomará los valores 10, 9, 8,

etc. Next

Module Module1

Sub Main()

Dim N, K As Integer

N = 2

Console.WriteLine(N)

For K = 1 To 4

Page 6: Visual Basic

N = N + 2

Console.WriteLine(N)

Next

Console.ReadLine()

End Sub

End Module

While / End While

While i < 10

Console.WriteLine(i)

i = i + 1

End While

VISUAL BASIC. NET 2005

CONTINUCIÓN

Operadores

And

El operador And solo utilizamos cuando queremos que se cumpla una serie de expresiones, por ejemplo:

If a > b And a > c Then

Console.WriteLine("a es mayor que b y

Page 7: Visual Basic

c") End If

AndAlso

El operador AndAlso comprueba también una seria de expresiones, pero a comparación del And, este comprueba siempre y cuando la expresión anterior resulta ser verdadera por ejemplo:

If a > b AndAlso a > c Then

Console.WriteLine("a es mayor que b y

c") End If

Or

El operador Or solo utilizamos cuando queremos que se cumpla una expresión de toda una serie de expresiones, por ejemplo:

If Promedio < 0 Or Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 -

20)") End If

OrElse

El operador OrElse comprueba también una seria de expresiones, solo que bastara que una expresión sea verdadera para que no realice las demás evaluaciones. Por ejemplo:

If Promedio < 0 OrElse Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 -

20)") End If

Not

Este operador se utiliza para hacer negaciones, más en los casos de tipo Bolean por ejemplo:

Dim Variable As Boolean = True

Page 8: Visual Basic

Dim Resultado As Boolean

Resultado = Not Variable ’ Retorna False.

Is

Este operador nos permite hacer comparaciones ya sea Booleanas o de String, este nos devolverá un valor Boolean de la expresión dada, por ejemplo:

Dim Variable As String = .Joel.

Dim Resultado As Boolean

Resultado = IsNumeric(Variable) ’ Retorna False.

To

Este operador lo usaremos mas en las Procesos Repetitivos o de Condiciones Múltiples, sirve para determinar un rango de números, por ejemplo:

For K = 1 To 10

A = A + 1

Next

Intrucciones Condicionales

Primera Forma:

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

Segunda Forma:

If b <> 0 Then

Res = a / b

Console.WriteLine("El Resultado de La División es: {0}",

Res) End If

Tercera Forma:

If b <> 0 Then

Res = a / b

Page 9: Visual Basic

Console.WriteLine("El Resultado de La División es: {0}",

Res) Else

Console.WriteLine("Error: División Entre

Cero") End If

Cuarta Forma

If a = b Then MessageBox(.Son Números Iguales.) Else MessageBox(.No son NúmerosIguales.)

Quinta Forma

If b = 0 Then

Console.WriteLine("Error: División Entre Cero")

ElseIf a <> b ThenRes = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res) ElseConsole.WriteLine("El Resultado de La División es: 1")End If

Condiciones Múltiples

Module Module1Sub Main()

Dim NE As IntegerDim ER As StringConsole.Write("Ingrese Un Número Entero (1 - 10): ") NE = CInt(Console.ReadLine)Select Case NE Case 1

: ER = "I" Case 2 : ER = "II" Case 3 : ER = "III" Case 4 : ER = "IV" Case 5 : ER = "V" Case 6 : ER = "VI" Case 7 : ER = "VII" Case 8 : ER = "VIII" Case 9 : ER = "IX" Case 10 : ER = "X"Case Else : ER = "No Existe"

End SelectConsole.WriteLine("Su Equivalente en Romano es: {0}", ER) Console.ReadLine()

End SubEnd Module

Page 10: Visual Basic

Module Module1Sub Main()

Dim MV As IntegerDim TB As SingleConsole.Write("Ingrese el Monto de Venta: ") MV = CInt(Console.ReadLine)Select Case MV

Case 0 To 999TB = CSng((0 * MV) / 100)

Case 1000 To 4999TB = CSng((3 * MV) / 100)

Case 5000 To 19999TB = CSng((5 * MV) / 100)

Case Is >= 20000TB = CSng((8 * MV) / 100)

End SelectConsole.WriteLine("El Total de Bonificación es: {0}", TB) Console.ReadLine()

End SubEnd Module

Page 11: Visual Basic

Procesos Repetitivos

For /Next

Primera Forma: Una de las formas mas

utilizadas. For i = 1 To 10

’contará de 1 hasta 10

’la variable i tomará los valores 1, 2, 3,

etc. Next

Segunda Forma: Esta forma se utiliza para decirle como va a incrementar, ya sea como el ejemplo de 2 en 2.

For i = 1 To 100 Step 2

’contará desde 1 hasta 100 (realmente 99) de 2 en 2

’la variable i tomará los valores 1, 3, 5,

etc. Next

Tercera Forma: Cuando queremos que un bucle sea en decreciente solo bastará darle un valor negativo, al número, como en el ejemplo, queremos que en vez que avance del1 al 10 queremos que este vaya del 10 al 1.

For i = 10 To 1 Step -1

’contará desde 10 hasta 1

’la variable i tomará los valores 10, 9, 8,

etc. Next

Module Module1

Page 12: Visual Basic

Sub Main()

Dim N, K As Integer

N = 2

Console.WriteLine(N)

For K = 1 To 4

N = N + 2

Console.WriteLine(N)

Next

Console.ReadLine()

End Sub

End Module

While / End While

While i < 10

Console.WriteLine(i)

i = i + 1

End While

VISUAL BASIC. NET 2005

CREAR NUEVO PROYECTO

VENTANA DE DISEÑO

Page 13: Visual Basic

Para crear un nuevo proyecto debemos de ralizar los siguientes pasos: ArchivoNuevoProyecto. Seleccionamos Aplicación para Windows.

Ventana de Diseño

Page 14: Visual Basic

Como se daran cuenta aquí el archivo siempre tendra como nombre Form1, esto indica que es el primer formulario del proyecto.

¿Qué es el formulario?

Es la ventana principal, porque sirve de fondo para los controles que se “dibujan en una aplicación”, tales como: cajas de texto, etiqueta, botones, etcetera.

Caja de herramientas

Estos controles estan divididos por clases, pero los mas utilizados son los “ControlesComunes”Explorador de soluciones

Page 15: Visual Basic

Ventanas de Propiedades

Page 16: Visual Basic

Esta ventana nos muestra todas las propiedades del Item seleccionado, puede ser un formulario, botton, Modulo, etcetera.Barra de Herramientas

Vamos a iniciar este pequeño manual con parte de lo que hicimos en clases pasadas

y con algunas variantes que le pueden ayudar a ir diseñando su interfaz gráfica. Tratare

de explicar lo más claro posible los procedimientos, cualquier duda por favor escribir a

mi correo.

Lo primero que debe de aparecernos cuando ejecutamos nuestro programa es

un formulario de ingreso de usuario y contraseña para darle un poco de seguridad a

nuestra aplicación. Como todos ya sabemos VB.Net nos ofrece grandes ventajas

para hacer nuestro trabajo más facil. Entonces para crear nuestro furmulario de inicio

de sesión nos dirigimos al explorador de soluciones, clic derecho, agregar, nuevo

elemento, buscamos “Formulario de Inicio de Sesion”, agregar. (Pueden cambiarle el

nombre por defecto pero siempre deben de tomar en cuenta esos cambios)

Page 17: Visual Basic

Ahora nos aparece el formulario que esta al incio de este documento, necesitamos

agregar un componente (ErrorProvider) y un Label (Label1). Para ello buscamos en

el cuadro de herramientas, dentro de la pestaña componentes, el ErrorProvider y

lo arrastramos a cualquier parte del formulario.

Page 18: Visual Basic

El Label lo arrastramos y lo ponemos un poco arriba del boton aceptar y luego nos vamos a la propiedad “Text” y borramos donde dice Label1. Tambien pueden cambiar el la propiedad Font (tamaño y estilo de la letra) y FontColor(Poner color rojo).

Ahora dentro del boton aceptar(doble clic) estamos en el codigo y escribimos el siguiente codigo (dependiendo de lo que haya hecho hasta el momento este codigo puede variar un poco) (Opcion 1)

If (UsernameTextBox.Text = "") ThenErrorProvider1.SetError(UsernameTextBox, "No puede dejar

vacio el campo Usuario")ElseIf (PasswordTextBox.Text = "") Then

ErrorProvider1.SetError(PasswordTextBox, "No puede dejarvacio el campo Contraseña")

ElseIf ((UsernameTextBox.Text = "nestor") And(PasswordTextBox.Text = "trana")) Then

Dim cont As New MDIParent1

Me.Hide() MDIParent1.ShowDialog() Me.Close()

ElseLabel1.Text = ("El Usuario o Contraseña son Invalidos") Me.PasswordTextBox.Text = ""

End If

Esto es con el fin de que cuando el usuario deje en blanco el usuario o contraseña le mande un mensaje y tambien cuando el usuario o contraseña son invalidos, les debe de quedar algo parecido a la siguiente imagen. Para que este codigo funcione deben de haber agregado un MDIParent en su proyecto

Page 19: Visual Basic

Opcion 2)

En esta segunda opcion veremos una variante en el codigo anterior, esto es para que si desean que cuando alguien no autorizado trate de entrar al sistema, luego de tres intentos erroneos se cierre el programa. En este ejemplo no agregamos el ErrorProvider, ni el Label, sino que dejemos por defento el formulario de inicio de sesion.

En el boton aceptar introducimos el siguiente codigo. (Deben de declarar una variable sum debajo de public class LoginForm1)

If (UsernameTextBox.Text = "") ThenMsgBox("Cuadro de Texto Usario en Blanco", MsgBoxStyle.Information, "ERROR")ElseIf (PasswordTextBox.Text = "") ThenMsgBox("Cuadro de Texto Contraseña en Blanco",MsgBoxStyle.Information,"ERROR")ElseIf ((UsernameTextBox.Text = "nestor") And (PasswordTextBox.Text ="trana")) Then

Dim cont As New MDIParent1Me.Hide()MDIParent1.ShowDialog()Me.Close()

ElseIf sum < 3 ThenMsgBox("Usuario o Contraseña Incorrecta", MsgBoxStyle.Information, "ERROR")

sum = sum + 1UsernameTextBox.Text = ""PasswordTextBox.Text = ""UsernameTextBox.Focus()

ElseMsgBox("Cuenta Bloqueada", MsgBoxStyle.Critical, "ERROR")

Me.Close()

End If

Si queremos que cargue un pequeño “Splash” de nuestro programa, VB, nos facilita este trabajo, de igual manera como insertamos el formulario de inicio de sesion, insertaremos el “SplashScreen”. El Splash va a ser nuestra pantalla de bienvenida para dotar a nuestra aplicación de un estilo mas profesional. Debemos hacer que el Splash sea nuestro formulario de inicio.

Page 20: Visual Basic

Luego de agregarlo, ahora arratramos un componente “Timer”

Ahora damos doble clic sobre el formulario Splash y escribimos la siguiente liea de codigo

Timer1.Start()

Luego en las propiedad “Interval” del componente Timer1 le ponemos 6000 o numero que ustedes prefieran para que espere el programa antes de cargar el formulario de inicio, ahora hacemos doble clic en el componente Timer1 y escribimos el siguiente codigo

Me.Hide() Me.Timer1.Stop()Dim Incio As New LoginForm1Incio.ShowDialog() Me.Close()

Page 21: Visual Basic

Ahora queya metimos el usuario y contraseña correctos nos debe de cargar nuestro formulario Principal (MDIParent) de forma maximizada.

Si se logra ver, en el formulario principal he puesto 5 botones con su respectivo icono,

Sabemos que una imagen dice mas que mil palabras.

Ahora vamos a agregar un nuevo formulario que se pueda llamar desde el boton que dice “Nuevo Cliente”, para ello agregamos un nuevo formulario como ya aprendimos enclases pasadas y le agregamos algunos Label, TextBox, botones, etc.

Page 22: Visual Basic

Este formulario simplemente es una muestra, sin embargo todo esto va a variar dependiendo de su proyecto. Lo que debemos rescatar de este formulario es lo siguiente: Lo que esta a la par del Label Cedula “No” es un textbox comun, sino

Page 23: Visual Basic

que es un “MaskedTextbox”, esto es para restringir que solo puedan meter ciertos valores en el numero de cedula.

Agregamos el MaskedTextbox al formulario y buscamos en sus propiedades, la propiedad Mask y le ponemos 000-000000-0000L esto indica que solo se podran meternumeros y al final una letra.

Vamos a conocer un poco mas a fondo las propiedades de los componentes que presenta VB.Net. Formularios.

Page 24: Visual Basic

Eventos: Los eventos los podemos encontrar en la parte superior derecha de la vista del codigo de un componente.

Page 25: Visual Basic
Page 26: Visual Basic

Ahora, luego de esa parte teorica sigamos con algo practico, normalmente en algunas aplicaciones se maximiza el uso del teclado en lugar del mouse (raton), para realizar un poco mas rapido el procedimiento de introducción de datos o transacción.

Por tal motivo veremos el uso de algunos eventos para agilizar el proceso. Supongamos que tenemos el siguiente formulario y queremos que al escribir en el primer TextBox y seguidamente presionar la tecla “Enter”, el cursor se traslade al siguiente TextBox o a cualquier elemento que querramos.

Le damos doble clic al TextBox que representa al Nombre, automaticamente el cursor se nos presenta dentro del evento “TextChanged”

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

End Sub

Entonces nos dirigimos a la parte superior derecha donde se muestran los eventos

Page 27: Visual Basic

(lo vimos algunas hojas atrás, donde aparece como un rayo) y buscamos “KeyPress”.Dentro del evento escribimos el codigo que se muestra en color verde.

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If Asc(e.KeyChar) = 13 ThenMe.TextBox2.Focus()

End If

End Sub

Como pueden notar dentro del evento “KeyPress” del primer TextBox se le ordena que cambie al segundo TextBox. Tienen que realizar este mismo procedimiento con los otros TextBox, apuntando al siguiente TextBox.

Ahora, una forma de obligar a usuario que digite un campo que para nosotros (la aplicacion) en sumamente importante y no lo puede dejar sin llenar, y el usuario desee realizar guardado de los datos o algun otro proceso, es bueno desabilitar el un boton, con el fin de que hasta que el usuario llene ese dato se habilite. Para ello realizamos lo siguiente.

En el evento Load (el que carga cuando hacemos doble clic sobre el formulario)del Formulario que contiene el boton que necesitamos desabilitar escribimos el siguiente codigo.

Me.Button1.Enabled = False

Ahora hacemos doble clic en el TextBox que deseamos que el usuario llene a fuerza antes de realizar alguna operación con el boton y escribimos en el evento TextChanged (es el que carga por defecto cuando hacemos doble clic)

If Trim(Me.TextBox1.Text) = "" ThenMe.Button1.Enabled = False

ElseMe.Button1.Enabled = True

End IfVamos a continuar conociendo algunos de los componentes que debemos utilizar en nuestros proyectos. Para ello realizaremos un pequeño formulario en el que agregaremos unos cuantos Label, TextBox y Botones, Además miraremos un nuevo componente necesario en muchos casos como lo es el Datagridview.

Primeramente hablaremos un poco del DataGridView.

El control DataGridView proporciona una tabla personalizable para mostrar datos. La clase DataGridView permite personalizar celdas, filas, columnas y bordes mediante propiedades como DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle y GridColor.

Page 28: Visual Basic

Los DataGridView lo podriamos utilizar como los arreglos bidimencionals de N*Mpara intentar llenarlos.

Ejemplo. Realizamos el siguiente formulario.

Page 29: Visual Basic

Buscamos el componente DataGridView en el cuadro de herramientas, dentro de el menu “Datos” y lo arrastramos a nuestro formulario. (Se debe ver un poco a la imagen anterior)

Lo seleccionamos y agregamos las columnas necesarias

Lo que queremos es que en tiempo de ejecución insertemos datos en los Texbox correspondientes al Codigo, Descripción, Precio y automaticamente se nos vaya llenando nuestro DataGridView. Para ello realizamos lo siguiente

Hacemos doble clic en el primer TextBox y en el evento KeyPress insetamos el siguiente codigo. Se llenara el DataGridView solo cuando presionemos la tecla Enter y prompt saltara al siguiente TextBox como lo vimos en clases anteriores.

If Asc(e.KeyChar) = 13 Then

DataGridView1.Rows(0).Cells(0).Value = TextBox1.Text

Me.TextBox2.Focus()

End If

Page 30: Visual Basic

Esto lo realizaremos para cada uno de los TextBox que necesitemos que realice esta operación.

Ahora miraremos algo sencillo pero muchas veces necesario. Normalmente cuando pasamos el cursor del mouse por algún botón en Windows aparece una pequeña leyenda que nos da un breve descripción de su funcion. Para ello agregamos a nuestroformulario el componente ToolTip.

Page 31: Visual Basic

Ahora seleccionamos el boton guardar y buscamos la propiedad ToolTip en ToolTip1 y escribimos un mensaje referente a la accion que realiza el boton.

Ahora como podemos ver tenemos un TextBox en el que debemos de ingresar un precio, logicamente ese textbox no debe de permitir ingresar letras, para ello hacemos doble clic en el TextBox y en el evento KeyPress ingresamos el siguiente codigo que lo que hace es restringir que el usuario ingrese letras.

If (Asc(e.KeyChar)) >= 48 And (Asc(e.KeyChar)) <= 57 Or (Asc(e.KeyChar)) = System.Windows.Forms.Keys.Back Or (e.KeyChar) = "." Then

e.Handled = FalseElse

e.Handled = TrueEnd If

Ahora necesitamos hacer todo lo contrario, que solo permita ingresar letras y no numeros en los otros TexBox, para ello ingresamos el siguiente codigo en el evento KeyPres.

If (Asc(e.KeyChar)) >= 65 And (Asc(e.KeyChar)) <= 90 Or(Asc(e.KeyChar)) >= 97 And (Asc(e.KeyChar)) <= 122 Or (Asc(e.KeyChar))= System.Windows.Forms.Keys.Back Then

e.Handled = FalseElse

e.Handled = TrueEnd If