Haciendo clic en el botón OK, retornaremos a la pantalla
principal del GUIBuilder, y seleccionaremos la forma Hola desde la opción
Select Form en el menú Program. La forma que acabamos de crear
en ResBuilder aparecerá, con el botón Empújeme resaltado.
Entonces seleccionaremos un control con el que queramos
trabajar. Uno fácil para iniciar es el objeto close, creado automáticamente
por el ResBuilder y ubicado en la esquina superior derecha del contexto. Así
que hagamos un doble clic sobre este, para que nos aparezca el recuadro pertinente
a ese control, donde se redactan las instrucciones que serán ejecutadas cuando
el usuario del programa haga clic sobre el objeto close.
Bien, aquí nos sale la pregunta: ¿Qué es lo que el programa debería hacer cuando
el usuario haga clic sobre el objeto close? Una acción equivalente a
terminar el proceso dentro del programa GUI es finalizar el loop de eventos
y tareas (end-of-job). Para finalizar el loop de eventos debe cambiar el valor
de la variable que controla el loop por gb__eoj=1. Así es que agregue esa instrucción. (Sepa que los
programas generados por GUIBuilder se saldrán del loop de eventos cuando todas
las formas sean cerrados, sin que el programador explícitamente cambie la variable
gb__eoj).
Ahora podemos continuar digitando las instrucciones
que se ejecutarán cuando el usuario del programa haga clic sobre el botón Empújeme.
Para eso es necesario volver a ver la forma. Una forma es dando clic en el botón
select form (debajo del menú Tools). Entonces damos un doble click sobre
el botón Empújeme y verá que se sobrepondrá una caja de la lista con
tres entradas, muestrando los tres eventos que pueden ser accionados por ese
botón. El primer evento posible es que el botón sea empujado. Las otras posibilidades
son que el botón gane o pierda foco. De momento no nos interesa que el programa
haga algo cuando el botón gane o pierda foco, pero si vamos a hacer que cuando
el botón sea empujado, nos despliegue un mensaje en la pantalla, así que escojamos
el primer evento.
La pantalla principal de GUIBuilder nos traerá entonces un área en blanco para
redacción de texto. No se alarme si nota que nuestra anterior declaración gb__eoj=1
ya no aparece. Recuerde que GUIBuilder guarda las instrucciones en varios bloques
de código, digamos, que esta es una forma más moderna, que otros han encontrado
como más ordenada y eficiente. Suponiendo que si realmente usted aún quiere
programar al estilo viejo, entonces podría escribir subrutinas en GUIBuilder,
compilando un programa pequeño, y escribiendo la finalización para que aparezca
el >READY. De todos modos, continuemos y pongamos el código que se ejecutará
cuando el usuario del programa haga clic sobre el botón Empújeme. Aunque
de momento no le vea sentido a las siguientes cuatro líneas, por favor escríbalas:
screen_template$=fngb__template$(gb__win_id$)
dim hola$:screen_template$
hola.mensaje$="Hola, mundo"
hola$=fngb__put_screen$(gb__win_id$,hola$)
Para explicar lo que acaba de escribir, sepa que eso es una pareja de funciones
proporcionadas al GUIBuilder para mostrar un mensaje en la pantalla. Existe
la opción de usar un mnemónico de Visual® PRO/5 para lograr esto, pero las funciones
proporcionan un código más legible, una vez que usted los aprendió. La primera
línea invoca la función fngb__template$(), la cual nos retorna un TEMPLATE que nos
describe todos los controles en la forma Hola. La segunda línea dimensiona
la variable Hola$ con ese TEMPLATE. Estamos escogiendo la variable hola$
para que nos corresponda con el nombre que le asignamos en la forma en ResBuilder,
pero no es un requerimiento que los nombres correspondan. En la tercera línea
establecemos que la variable hola.mensaje$ del TEMPLATE quede cargada
con el valor que deseamos desplegar, el cual es "Hola, mundo". El
nombre de variable mensaje$ corresponde con el nombre del control para
texto estático. Finalmente, en la cuarta línea se usa otra función para transferir
los valores en el TEMPLATE a la pantalla.
|