1. Informática. Programación. Práctica 3 de GAMBAS
Gambas: Condiciones compuestas
Duración aproximada: 1 sesión
Objetivos
Utilizar la sentencia condición compuesta SELECT CASE de Gambas.
Fuentes de información
http://www.gambas-es.org
Libro “GAMBAS, programación visual con Software Libre”, de la editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel
Campos Fernández y José Luis Redrejo.
Libro “Fundamentos de programación”, de la editorial Univ. Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
Contenidos
1. Condiciones compuestas
Recordemos que ya vimos las condiciones simples cuya sintaxis era:
IF ... THEN ... ELSE
2. Que quiere decir: SI condición ENTONCES instrucción1 SI NO instrucción2
Siendo opcional el ELSE, ya que puede que no haya acción en caso de que no se cumpla la condición.
En estas condiciones simples vimos que en ocasiones el flujo del programa necesita revisar varias condiciones sobre una misma variable,
produciendo un lF dentro de otro IF (anidados). Esa estructura no es cómoda de leer ni produce un código limpio. Para estos casos existe la
sentencia SELECT, que es mucho más apropiada.
Su sintaxis es:
SELECT CASE Expresión
CASE Expresión [TO Expresión #2] ...
CASE Expresión [TO Expresión #3] …
| { CASE ELSE I DEFAULT }
END SELECT
Pero veamos su funcionamiento práctico.
El teclado se controla con los eventos KeyPress (tecla pulsada) y KeyRelease. Éstos no tienen parámetros.
El evento KeyPress es cancelable con la instrucción STOP EVENT, de modo que se puede impedir, por ejemplo, que en
una caja de texto se impriman determinados caracteres.
Ejercicio
3. Hasta el momento, para comprobar si el usuario introduce un número correctamente teníamos que hacerlo a posteriori, es decir, después de
haberlo introducido.
Las condiciones compuestas nos permiten bloquear una caja
de texto, de forma que el usuario sólo pueda introducir
números.
Abrimos el proyecto “02Calculadora”. Vamos a
bloquear la caja de texto de forma que sólo permita
la entrada de números, el punto decimal, la
pulsación de las teclas Supr (borrado), BackSpace
(borrado hacia atrás), el tabulador para pasar el foco
a otro control y los cursores a la izquierda y derecha.
Vamos a la caja de texto tbOper1.
Hacemos clic con el botón derecho y elegimos el
evento Keypress (de esta manera cuando el usuario
aprete una tecla estando en esta caja de texto
capturaremos le evento y podremos decidir si la
tecla pulsada queremos que aparezca o no).
Escribimos el siguiente código:
4. En donde el programa realiza lo siguiente:
Se teclea un carácter
Se escribe en la caja de texto SI y SOLO SI se cumple que:
o La tecla pulsada está entre 48 y 57 (códigos internos de teclado para las cifras del 0 al 9)
o Es la tecla de retroceso (borrado a la izquierda)
o Es la tecla de borrado (Supr)
o Es el tabulador
o Es el cursor izquierdo o derecho
o En otro caso no se escribe nada. Para ello llama a STOP EVENT cuando el código de la teda pulsada no es ninguno de los
deseados.
5. Repite los mismos pasos para la caja de texto tbOper2.
Ejecuta el programa.
Comprueba que en la caja de texto no se escribe nada que no sea un número. Ahora la comprobación de errores en “PUBLIC SUB
btnSuma_Click ()” que hiciste en la práctica anterior carece de sentido, ya que controlamos que el usuario sólo pueda introducir
números en la caja de texto.
Ejecuta el programa y comprueba que funciona correctamente.
Guarda y entrega el archivo Form1.class en el que debe aparecer todo el código que has escrito para los distintos botones. Este
archivo lo encontrarás en Documentos/BASIC/2MGRAFICO/02Calculadora/
Sugerencias
Sería interesante que te guardaras en una memoria USB todo el contenido de la carpeta BASIC de tus documentos, para evitar que cualquier
problema con el ordenador te haga perder tus ejercicios.