You are on page 1of 6

UNIVERSIDAD NACIONAL DEL ESTE

FACULTAD POLITCNICA

Taller II 2012

Taller II
Comandos de uso en Clase
DEFINE WINDOW (Comando)
Crea una ventana y especifica sus atributos. Las ventanas se utilizan para organizar
las tareas del programador en el desarrollo de las aplicaciones. Se tienen que tener
en cuenta las siguientes clusulas:

Nombre_de_Ventana: Especifica el nombre de la ventana que se va a crear. Los


nombres de ventana pueden contener un mximo de 254 caracteres de longitud
en Visual FoxPro. Deben empezar con una letra o un signo de subrayado y no
pueden comenzar con un nmero. Pueden contener cualquier combinacin de
letras, nmeros y signos de subrayado.
FROM fila,columna TO fila,columna: Especifica la posicin y el tamao de la
ventana definida por el usuario. FROM fila,columna especifica la posicin de la
esquina superior izquierda de la ventana y TO fila,columna especifica la
posicin de la esquina inferior derecha de la ventana.
TITLE Titulo_Ventana (*): Asigna un ttulo mediante la clusula TITLE.
cTitleText especifica el texto del ttulo y se centra sobre el borde superior de la
ventana. Si el ttulo es ms ancho que la ventana, se truncar el ttulo.
COLOR ColorPairList (*): Especifica los colores para la ventana definida por el
usuario.
Obs: las marcadas con (*) son parmetros opcionales, asi como otros mas que tiene
ese comando.
Ejemplo:
DEFINE WINDOWS Prueba FROM 2,2 TO 22,45 TITLE "Probando" color b/w+
ACTIVATE WINDOW (Comando)
Muestra y activa una o ms ventanas definidas por el usuario. Despus del nombre
del comando se especifica el nombre de cada ventana que se desea activar. Separe
los nombres de las ventanas con comas.
Ejemplo:
ACTIVATE WINDOWS Prueba
DEACTIVATE WINDOW (Comando)
Desactiva ventanas definidas por el usuario y las quita de la pantalla, pero no de la
memoria. Se especifica una o ms ventanas para desactivar separadas por coma si
existe mas de una. Puede utilizar CLEAR WINDOWS o RELEASE WINDOWS para
quitar ventanas de la pantalla y de la memoria.
Ejemplo:

Pgina 1 de 6

UNIVERSIDAD NACIONAL DEL ESTE


FACULTAD POLITCNICA

Taller II 2012

DEACTIVATE WINDOWS Prueba


Comando SAY
@ ... SAY
Permite la impresin de datos en la pantalla/impresora, de acuerdo a la
definicin del comando SET DEVICE, que por defecto esta en pantalla (TO SCREEN).
Ejemplo: @2,2 SAY Hola Mundo
Comando GET
@ ... GET nombreVariable
Permite la carga de valores diversos en las variables de memoria. Este
comando tiene relacin con el tipo de dato de variable (carcter, numrico, etc.). La
utilizacin de este comando debe ir acompaada siempre del comando READ, que
realiza una pausa en la ejecucin de la aplicacin para la carga de los datos en las
variables. Este comando tiene clausulas, y las mas utilizadas son:
VALID: se utiliza para validar la entrada. Cuando intente salir de la regin de
edicin GET, se evaluar la expresin VALID.
ERROR: permite especificar un mensaje de error personalizado cuando una
clusula VALID se evale como falsa (.F.). FoxPro muestra un mensaje escrito por el
programador en lugar del mensaje de error predeterminado.
MESSAGE: muestra un mensaje cuando se selecciona la regin de edicin
@ ... GET. Dicho mensaje se sita en la barra de estado de estilo Windows. Si la
barra de estado de estilo Windows se ha desactivado con SET STATUS BAR OFF, el
mensaje se sita en la ltima lnea de la ventana principal de FoxPro.
PICTURE: permite el ingreso en una variable GET de datos especficos, como
ser nmeros (Picture 999,999,999 para nmeros, Picture @! para caracteres en
mayuscula)
Ejemplo: @2,2 GET xnombre
READ
@ ... GET Botones de comando
Esta variacin de @ ... GET crea botones de comando. Puede crearse un solo botn o
un grupo de ellos. Los botones de comando se activan al emitir READ o READ CYCLE.
El valor seleccionado se puede guardar en una variable (tipo numrico) para realizar
comparaciones con el resultado de la seleccin de uno de los botones. Por ejemplo,
si se crean cuatro botones de comando y se elige el tercer botn, se almacenar un
3 en la variable
Ejemplo:
@ 13,10 SAY "DESEA : " GET XOPCION PICTURE "@*H \<GUARDAR;\<CANCELAR"
SIZE 1,8
READ
DO WHILE ... ENDDO (Comando)
Ejecuta un conjunto de comandos dentro de un bucle condicional.
DO WHILE lExpression
Commands

Pgina 2 de 6

UNIVERSIDAD NACIONAL DEL ESTE


FACULTAD POLITCNICA

Taller II 2012

[LOOP] [EXIT] ENDDO


Parmetros
lExpression
Especifica una expresin lgica cuyo valor determina si se debe ejecutar el
conjunto de comandos incluido entre DO WHILE y ENDDO. Siempre que
lExpression d como resultado verdadero (.T.), el conjunto de comandos se
ejecutar.
Commands
Especifica el conjunto de comandos de Visual FoxPro que se ejecutan siempre
y cuando lExpression d como resultado verdadero (.T.).
LOOP
Devuelve el control del programa directamente a DO WHILE. LOOP se puede
situar en cualquier lugar entre DO WHILE y ENDDO.
EXIT
Transfiere el control del programa desde el interior del bucle DO WHILE hasta
el primer comando situado detrs de ENDDO. EXIT puede situarse en
cualquier lugar entre DO WHILE y ENDDO.
IF ... ENDIF (Comando)
Ejecuta condicionalmente un conjunto de comandos dependiendo del resultado de
una expresin lgica.
IF ComparacionLogica
Comandos
ELSE
Comandos
ENDIF
ComparacinLogica
Especifica la expresin lgica evaluada. Si la ComparacinLogica da como
resultado verdadero (.T.), se ejecutarn las instrucciones posteriores al IF y
anteriores a ELSE o ENDIF (lo que suceda primero).
Si ComparacinLogica es falso (.F.) y se incluye ELSE, se ejecutan los
comandos situados despus de ELSE y antes de ENDIF .
Si ComparacinLogica es falso (.F.) y no se incluye ELSE, se pasarn
por alto todas las instrucciones entre IF y ENDIF. En este caso la
ejecucin del programa continuar con la primera lnea de comando a
continuacin de ENDIF.
STORE (Comando)
Almacena datos en una variable, y dependiendo del tipo de dato ingresado en la
variable, esta toma ese tipo de dato.
Ejemplo: STORE 50 TO xvalor, donde se est ingresando el valor 50 a la variable
xvalor que se convierte en una variable numrica.
DTOC( ) (Funcin)
Devuelve una fecha de tipo Carcter a partir de una expresin de tipo Date o
DateTime.
LASTKEY( ) (Funcin)
Devuelve un nmero entero correspondiente a la ltima tecla presionada.

Pgina 3 de 6

UNIVERSIDAD NACIONAL DEL ESTE


FACULTAD POLITCNICA

Taller II 2012

Ejercicios
Dado el archivo Alumnos.DBF con los siguientes campos:

Desarrollar un programa de inclusin de registros en la base de datos. Este tipo de programa es


ms conocido por Altas, los pasos a considerar son los siguientes:
- El primer campo a solicitar es el campo cdigo
- Se debe verificar si lo digitado concuerda con alguna cdigo ya existente en el archivo:
-

Si el registro ya existe se deber dar un mensaje de que ya existe y volver a procesar


Si el registro no existe entonces proceder a la carga de los dems campos.

- Siempre se deber trabajar con variables de memoria no con los campos de archivo
- Una vez totalmente cargado todos los datos, se proceder a la confirmacin de grabar o
no
- Si la opcin fuera grabar entonces se remplazaran en contenido de las variables
a los campos del archivo

Pgina 4 de 6

UNIVERSIDAD NACIONAL DEL ESTE


FACULTAD POLITCNICA

Taller II 2012

Si la opcin fuera no grabar entonces se limpian las variables y se vuelve a


procesar
- La forma ms comn de fin es el de presionar la tecla Escape en el primer campo de
solicitud que hace el programa.

Cdigo del programa


********************************
* PROGRAMA DE INCLUSION
* ALUMNOS.DBF
********************************
CLEAR ALL
*** Se define y activa la Ventana ***
DEFINE WINDOW ALTAS FROM 5,5 TO 20,70 TITLE "INCLUSION DE REGISTROS"
ACTIVATE WINDOW ALTAS
DO WHILE .T. && se Inicia un Ciclo has la condicin de salida
CLEAR && Se limpia el contenido de la Ventana
** Inicializacin de Variables **
STORE SPACE(12) TO X_COD
STORE SPACE(20) TO X_NOM,X_TEL
STORE SPACE(1) TO X_SEX, X_OPC
*** Se imprime un titulo acompaado de la fecha del sistema
@ 1,20 SAY "ALTAS DE ALUMNOS" + "
" +dtoc(date())
*** se Solicita el Codigo del Usuario
@ 3,5 SAY "Digite el Codigo : " GET X_COD PICTURE "@!"
READ
IF LASTKEY() = 27 && se verifica si la ultima tecla presionada fue ESC
WAIT WINDOW "Pulse una tecla para finalizar"
EXIT
ENDIF
** Se hace una consulta sql para verificar **
** la existencia del codigo ingresado
**
SELEC * FROM ALUMNOS WHERE ALU_CODIGO = X_COD INTO CURSOR CONSULTA
** Se verifica si el curso generado posee al menos un registro **
IF _TALLY > 0
** Si existe se muestra el mensaje y se inicia el proceso
WAIT WINDOW "Registro ya existe, pulse una tecla"
LOOP
ENDIF
** Caso no existe se habilitan las variables para ingresar los datos **
@ 5,5 SAY "Nombre y Apellido " GET X_NOM
@ 7,5 SAY "Nro. Telefonico " GET X_TEL
@ 9,5 SAY "Sexo M = Masculino, F = Femenino" GET X_SEX PICT "!";
VALID X_SEX $ "MF"
READ
** Se solicita la confirmacin de la Grabacin**
@ 13,10 SAY "<G>raba, <C>ancela " GET X_OPC PICTURE "!";
VALID X_OPC $ "GC";
ERROR "Solo puede ser G o C"
READ
** Si confirma Grabar inserta en registro en la tabla **
Pgina 5 de 6

UNIVERSIDAD NACIONAL DEL ESTE


FACULTAD POLITCNICA

Taller II 2012

IF X_OPC = "G"
INSERT INTO ALUMNOS (ALU_CODIGO, ALU_NOMAPE, ALU_TELEF, ALU_SEXO)
VALUES (X_COD, X_NOM,X_TEL, X_SEX)
ENDIF
ENDDO
DEACTIVATE WINDOW ALTAS
CLOSE DATABASE
CLEAR ALL
CLEAR

Pgina 6 de 6

You might also like