Vous êtes sur la page 1sur 31

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 tambin una seria de expresiones, pero a comparacin del And, este comprueba siempre y cuando la expresin 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 expresin 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 tambin una seria de expresiones, solo que bastara que una expresin sea verdadera para que no realice las dems 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, ms 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 expresin 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 Mltiples, sirve para determinar un rango de nmeros, por ejemplo: For K = 1 To 10 A=A+1 Next

Intrucciones Condicionales

Primera Forma: If a = b Then MessageBox(.Son Nmeros Iguales.) Segunda Forma: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) End If Tercera Forma: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) Else Console.WriteLine("Error: Divisin Entre Cero") End If Cuarta Forma If a = b Then MessageBox(.Son Nmeros Iguales.) Else MessageBox(.No son Nmeros Iguales.) Quinta Forma If b = 0 Then Console.WriteLine("Error: Divisin Entre Cero") ElseIf a <> b Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) Else Console.WriteLine("El Resultado de La Divisin es: 1") End If

Condiciones Mltiples
Module Module1

Sub Main() Dim NE As Integer Dim ER As String Console.Write("Ingrese Un Nmero 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 Select Console.WriteLine("Su Equivalente en Romano es: {0}", ER) Console.ReadLine() End Sub End Module Module Module1 Sub Main() Dim MV As Integer Dim TB As Single Console.Write("Ingrese el Monto de Venta: ") MV = CInt(Console.ReadLine) Select Case MV Case 0 To 999 TB = CSng((0 * MV) / 100) Case 1000 To 4999 TB = CSng((3 * MV) / 100) Case 5000 To 19999 TB = CSng((5 * MV) / 100) Case Is >= 20000 TB = CSng((8 * MV) / 100) End Select Console.WriteLine("El Total de Bonificacin es: {0}", TB) Console.ReadLine() End Sub End Module

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 nmero, como en el ejemplo, queremos que en vez que avance del 1 al 10 queremos que este vaya del 10 al 1. For i = 10 To 1 Step -1 contar desde 10 hasta 1 la variable i tomar los valores 10, 9, 8, etc. Next

Module Module1

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 CONTINUCIN 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 tambin una seria de expresiones, pero a comparacin del And, este comprueba siempre y cuando la expresin 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 expresin 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 tambin una seria de expresiones, solo que bastara que una expresin sea verdadera para que no realice las dems 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, ms 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 expresin 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 Mltiples, sirve para determinar un rango de nmeros, por ejemplo: For K = 1 To 10 A=A+1 Next

Intrucciones Condicionales

Primera Forma: If a = b Then MessageBox(.Son Nmeros Iguales.) Segunda Forma: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) End If Tercera Forma: If b <> 0 Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res)

Else Console.WriteLine("Error: Divisin Entre Cero") End If Cuarta Forma If a = b Then MessageBox(.Son Nmeros Iguales.) Else MessageBox(.No son Nmeros Iguales.) Quinta Forma If b = 0 Then Console.WriteLine("Error: Divisin Entre Cero") ElseIf a <> b Then Res = a / b Console.WriteLine("El Resultado de La Divisin es: {0}", Res) Else Console.WriteLine("El Resultado de La Divisin es: 1") End If

Condiciones Mltiples
Module Module1 Sub Main() Dim NE As Integer Dim ER As String Console.Write("Ingrese Un Nmero 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 Select Console.WriteLine("Su Equivalente en Romano es: {0}", ER) Console.ReadLine() End Sub End Module Module Module1 Sub Main()

Dim MV As Integer Dim TB As Single Console.Write("Ingrese el Monto de Venta: ") MV = CInt(Console.ReadLine) Select Case MV Case 0 To 999 TB = CSng((0 * MV) / 100) Case 1000 To 4999 TB = CSng((3 * MV) / 100) Case 5000 To 19999 TB = CSng((5 * MV) / 100) Case Is >= 20000 TB = CSng((8 * MV) / 100) End Select Console.WriteLine("El Total de Bonificacin es: {0}", TB) Console.ReadLine() End Sub End Module

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 nmero, como en el ejemplo, queremos que en vez que avance del 1 al 10 queremos que este vaya del 10 al 1. For i = 10 To 1 Step -1 contar desde 10 hasta 1 la variable i tomar los valores 10, 9, 8, etc. Next

Module Module1

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 DISEO

Para crear un nuevo proyecto debemos de ralizar los siguientes pasos: ArchivoNuevo Proyecto. Seleccionamos Aplicacin para Windows.

Ventana de Diseo

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 aplicacin, tales como: cajas de texto, etiqueta, botones, etcetera. Caja de herramientas

Estos controles estan divididos por clases, pero los mas utilizados son los Controles Comunes Explorador de soluciones

Ventanas de Propiedades

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

Vamos a iniciar este pequeo manual con parte de lo que hicimos en clases pasadas y con algunas variantes que le pueden ayudar a ir diseando su interfaz grfica. Tratare de explicar lo ms 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 contrasea para darle un poco de seguridad a nuestra aplicacin. Como todos ya sabemos VB.Net nos ofrece grandes ventajas para hacer nuestro trabajo ms facil. Entonces para crear nuestro furmulario de inicio de sesin 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)

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 pestaa componentes, el ErrorProvider y lo arrastramos a cualquier parte del formulario.

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 (tamao 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 = "") Then ErrorProvider1.SetError(UsernameTextBox, "No puede dejar vacio el campo Usuario") ElseIf (PasswordTextBox.Text = "") Then ErrorProvider1.SetError(PasswordTextBox, "No puede dejar vacio el campo Contrasea") ElseIf ((UsernameTextBox.Text = "nestor") And (PasswordTextBox.Text = "trana")) Then Dim cont As New MDIParent1 Me.Hide() MDIParent1.ShowDialog() Me.Close() Else Label1.Text = ("El Usuario o Contrasea son Invalidos") Me.PasswordTextBox.Text = "" End If

Esto es con el fin de que cuando el usuario deje en blanco el usuario o contrasea le mande un mensaje y tambien cuando el usuario o contrasea 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

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 = "") Then MsgBox("Cuadro de Texto Usario en Blanco", MsgBoxStyle.Information, "ERROR") ElseIf (PasswordTextBox.Text = "") Then MsgBox("Cuadro de Texto Contrasea en Blanco",MsgBoxStyle.Information, "ERROR") ElseIf ((UsernameTextBox.Text = "nestor") And (PasswordTextBox.Text = "trana")) Then Dim cont As New MDIParent1 Me.Hide() MDIParent1.ShowDialog() Me.Close() ElseIf sum < 3 Then MsgBox("Usuario o Contrasea Incorrecta", MsgBoxStyle.Information, "ERROR") sum = sum + 1 UsernameTextBox.Text = "" PasswordTextBox.Text = "" UsernameTextBox.Focus() Else MsgBox("Cuenta Bloqueada", MsgBoxStyle.Critical, "ERROR") Me.Close() End If

Si queremos que cargue un pequeo 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 aplicacin de un estilo mas profesional. Debemos hacer que el Splash sea nuestro formulario de inicio.

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 LoginForm1 Incio.ShowDialog() Me.Close()

Ahora queya metimos el usuario y contrasea 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 en clases pasadas y le agregamos algunos Label, TextBox, botones, etc.

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 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 meter numeros y al final una letra. Vamos a conocer un poco mas a fondo las propiedades de los componentes que presenta VB.Net. Formularios.

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

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 introduccin de datos o transaccin. 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 (lo

vimos algunas hojas atrs, 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 As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then Me.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 operacin con el boton y escribimos en el evento TextChanged (es el que carga por defecto cuando hacemos doble clic)
If Trim(Me.TextBox1.Text) = "" Then Me.Button1.Enabled = False Else Me.Button1.Enabled = True End If

Vamos a continuar conociendo algunos de los componentes que debemos utilizar en nuestros proyectos. Para ello realizaremos un pequeo formulario en el que agregaremos unos cuantos Label, TextBox y Botones, Adems 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.

Los DataGridView lo podriamos utilizar como los arreglos bidimencionals de N*M para intentar llenarlos. Ejemplo. Realizamos el siguiente formulario.

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 ejecucin insertemos datos en los Texbox correspondientes al Codigo, Descripcin, 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

Esto lo realizaremos para cada uno de los TextBox que necesitemos que realice esta operacin. Ahora miraremos algo sencillo pero muchas veces necesario. Normalmente cuando pasamos el cursor del mouse por algn botn en Windows aparece una pequea leyenda que nos da un breve descripcin de su funcion. Para ello agregamos a nuestro formulario el componente ToolTip.

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 = False Else e.Handled = True End 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 = False Else e.Handled = True End If

Vous aimerez peut-être aussi