lunes, 9 de junio de 2008

Visual Basic I - Clase V

Hoy haremos un ejercicio, se tiene que hacer una calculadora sencilla, que solamente sume dos elementos. Se tiene que hacer lo siguiente:

1. Poner 4 casillas de texto alineadas verticalmente a la derecha y 4 Labels alieneados paralelamente a las casillas. Los labels serán llamados Valor1, Valor2, Operación y Resultado.
2. Hacer que el cursor aparezca en la primera casilla al iniciar el programa.
3. Hacer que despues que el usuario introduzca la palabra "Suma" y cambie de casilla presionando TAB, se haga automàticamente la suma y se muestre el resultado en la casilla ùltima.

Una forma de hacer el código sería así:

Private Sub Form_Initialize()
TxtV1.SetFocus()
End Sub

Private Sub TxtV1_GotFocus()
TxtV1.Text = ""
TxtV2.Text = ""
TxtOp.Text = ""
TxtResult.Text = ""
End Sub

Private Sub TxtOp_LostFocus()
If TxtOp.Text <> "Suma" Then
MsgBox ("Error de escritura")
Else
If TxtOp.Text = "Suma" Then
TxtResult.Text = Val(TxtV1.Text) + Val(TxtV2.Text)
End If
End If

Lo único que hay que explicar son los eventos, GotFocus es el evento que ocurre cuando a un objeto, en este caso la casilla de texto, le llega el cursor, con cursor me refiero a la barrita intermitente que aparece cuando uno va a escribir.
El evento LostFocus es cuando un objeto pierde el cursor, es decir cuando desplazamos el cursosr al siguiente objeto con TAB.
La palabra reservada Val lo que hace es convertir un cadena de caracteres en enteros, en este caso ingresaremos en las casillas 1 y 2 valores para que los sume, por eso se tiene que hacer una conversión para que el programa entienda que está trabajando con números no con letras, esa es la función de Val.
Los caracteres <> son Operadores Relacionales. Significan "diferente de", podría ser = "igual que", o > "mayor que", o < "menor que". Las palabras If, Then, Else y End If son una estructura condicional, hay varios tipos de estructuras condicionales, las iremos viendo poco a poco.

If es una estructura condicional simple, sirve para evaluar una condición lógica y permite ejecutar instrucciones diferentes para cuando resulte verdadera y falsa.
Las condiciones se cumplen o no por medio de los operadores relacionales que se usen (=, <, >, <>), se abre una condición con If y se cierra con End If. La sintaxis es simle:

If "Condición a cumplir" Then
"Acción que se hará al cumblir la condición"
End If

La estructura condicional doble plantea una acción en caso de que se cumpla y otra acción en caso de que no se cumpla, la sintaxis es esta:

If "Condición a cumplir" Then
"Acción que se hará al cumplir la condición"
Else
"Acción que se hará en caso de que no se cumpla la condición"
End If

La estructura simple anidada es cuando se encadenan una serie de condiciones en la misma estructura, se hace de la siguiente manera:

If "Condición a cumplir" Then
"Acción que se hará al cumplir la condición"
Else
If "Otra condición que se podría cumplir" Then
"Acción que se hará en este caso"
Else
If...
.
.
End If
End If
End If

La forma que nosotros estaremos utilizando más seguido es la siguiente:

If "condición" Then
"Acciones"
Else If "Otra condición" Then
"Acciones"
...
...
End If

Como podemos ver esto ofrece ventaja ya que no tenemos que cerrar tantas condiciones con End If sino que solamente una.
FIN DE CLASE V.

No hay comentarios: