You are on page 1of 40

VISUAL FOXPRO 1

VISUAL FOXPRO

Es una aplicación orientada a Windows que nos permite crear


programas, procesos, sistemas a través de una serie de
herramientas que el Windows nos ofrece.
Visual FoxPro en un lenguaje orientado a objetos a través de los
cuales podemos implementar algún o algunos formularios con
controles y códigos de programa.

TERMINOS EN VISUAL FOXPRO:

CONTROL O OBJETO: Es un objeto que viene predeterminado


con Visual Basic y que puede ser creado a través de una
herramienta que esta en la barra de herramientas de controles.
Ejemplo:
Label, Text, Option, Check, Etc.

La Caja de herramientas contiene las herramientas que utiliza


para dibujar controles en sus formularios. Para abrir la Caja de
herramientas, elija Caja de herramientas en el menú Ver.
Esta barra de herramientas contiene los botones siguientes:

Botón Descripción

Seleccionar objetos. Cambia el tamaño y mueve


controles. Una vez creado un control, el botón
"Seleccionar objetos" se volverá a seleccionar
automáticamente, a menos que esté presionado el botón
"Bloqueo del botón".

Ver clases. Permite seleccionar y mostrar una biblioteca


de clases registrada. Después de seleccionar una clase,
la barra de herramientas sólo muestra botones para las
clases de la biblioteca seleccionada.

Etiqueta. Crea un control Label, que se usa para texto


que no quiere que el usuario cambie, como el título que

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 2

aparece encima de las casillas de verificación o debajo


de un gráfico.

Cuadro de texto. Crea un control TextBox, que se usa


para almacenar una única línea de texto que el usuario
puede introducir o cambiar.

Cuadro de edición. Crea un control EditBox, que se usa


para almacenar varias líneas de texto que el usuario
puede introducir o cambiar.
Botón de comando. Crea un control CommandButton,
que se usa para ejecutar un comando.

Grupo de comandos. Crea un control CommandGroup,


que se usa para agrupar comandos relacionados.

Grupo de opciones. Crea un control OptionGroup, que


se usa para mostrar múltiples opciones entre las que el
usuario sólo puede seleccionar una.

Casilla de verificación. Crea un control CheckBox, que


ofrece al usuario la posibilidad de elegir entre una
condición verdadera o falsa, o muestra varias opciones
entre las que el usuario puede seleccionar más de una.

Cuadro combinado. Crea un control ComboBox, que se


usa para crear un cuadro combinado desplegable o una
lista desplegable de forma que el usuario pueda
seleccionar un elemento de una lista o introducir
manualmente un valor.

Cuadro de lista. Crea un control ListBox, que se usa


para mostrar una lista de elementos entre los que puede
elegir el usuario. Es posible recorrer la lista si tiene más
elementos de los que se pueden mostrar de una vez.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 3

Control numérico. Crea un control Spinner, que se usa


para aceptar datos numéricos introducidos por el usuario
que quedan dentro de un intervalo.

Cuadrícula. Crea un control Grid, que se usa para


mostrar datos en una cuadrícula tipo hoja de cálculo.

Imagen. Muestra una imagen gráfica en su formulario.

Cronómetro. Intercepta eventos Timer a intervalos


establecidos. Este control es invisible en tiempo de
ejecución.

Marco de página. Muestra varias páginas de controles.

Control contenedor OLE. Le permite agregar objetos


OLE a su aplicación.
Control OLE dependiente. Al igual que los controles
contenedores OLE, le permite agregar objetos OLE a su
aplicación. Sin embargo, a diferencia de los controles
contenedores OLE, los controles OLE dependientes están
vinculados a un campo de tipo General.

Línea. Se usa para dibujar diversos estilos de línea en su


formulario en tiempo de diseño.

Forma. Se usa para dibujar diversas formas en su


formulario en tiempo de diseño. Puede dibujar un
rectángulo, un rectángulo redondeado, un cuadrado, un
cuadrado redondeado, un óvalo o un círculo.

Separador. Agrega espacio entre los controles de la


barra de herramientas.

Bloqueo del generador. Abre un generador para el


nuevo control que agrega al formulario.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 4

Bloqueo del botón. Le permite agregar varios controles


del mismo tipo sin tener que hacer clic en el botón del
control en la barra de herramientas más de una vez.

PROPIEDAD: Es una característica o atributo que toma el


objeto o control puede ser el color, tamaño, estado, los valores
predeterminados, el texto del mensaje, etc.
Ejemplo:
Caption, Name, BackColor, Font, ForeColor, Etc.

ALGUNAS PROPIEDADES COMUNES:


Name (Nombre): Especifica el nombre que se le asigne al
control, u solo a través de él se puede acceder a las
propiedades y métodos de los controles.
Back Color (Color de Fondo): Asigna el color de fondo sobre
el que aparece el texto o se dibujan los gráficos.
Fore Color (Color de Primer Plano): Asigna un color al
primer plano (color de la tinta o del texto).
Font (Fuente o Tipo de Letra): Asigna el tipo de letra, los
atributos y el tamaño de la fuente que se usa para un control de
texto (el texto en un control TextBox, el título de una etiqueta o
de un botón de comando, etc.).
Caption (Título): Asigna el texto que aparece en muchos
controles y que el usuario no puede introducir, por ejemplo el
texto de un control Label, el título de un botón de comando, o
de una cadena de caracteres que se muestran en un cuadro de
activación o en un botón de opción.
Text (Texto): Asigna el texto que se muestra en los controles y
acepta que lo introduzca el usuario, por ejemplo, el control
TextBox.
Width (Ancho) y Height (Alto): Estas propiedades
determinan las dimensiones de los controles.
Left (Izquierda) Top (Arriba): Estas propiedades asignan las
coordenadas de la esquina superior izquierda del control y se
expresan en las unidades del contenedor (normalmente de un
formulario).

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 5

Enabled (Activado): Su valor es True por omisión, y significa


que el control se puede usar. Si se pone False se desactiva el
control, aparece en gris y no se puede usar.
Visible: Esta propiedad se pone como False para que el control
sea invisible.

METODO: Es un proceso que se ejecuta (predeterminado)


según el control que se tiene en uso. Los objetos también tienen
métodos, que son las acciones que pueden realizar. Los
métodos se pueden considerar como las acciones que realizan
los objetos.
Ejemplo:
Clear, Setfocus, Refresh, Etc.

ALGUNOS MÉTODOS COMUNES:


Clear (Borrar): Borra el contenido de un control ComboBox o
ListBox.
AddItem (Añadir Entrada), Agrega un nuevo elemento a un
control ComboBox o ListBox, permitiendo especificar
opcionalmente el índice del elemento. Se aplica a ComboBox,
ListBox
RemoveItem (Borrar Entrada): Quita un elemento de un
control ComboBox o ListBox. Se aplica aComboBox, ListBox.
Release Libera de la memoria un FormSet o un Form. Se aplica
a Form, FormSet, _SCREEN. El método Release es muy útil
cuando se crea un Form o FormSet con el comando DO FORM y
no haya variables que hagan referencia al Form o FormSet.
Puede usar la colección Forms del objeto Screen para encontrar
el Form o FormSet y llamar a su método Release.
Refresh (Actualizar): Fuerza que un formulario o control sea
redibujado. Generalmente, el dibujado de un formulario o
control se controla automáticamente cuando no ocurren
eventos. Sin embargo, hay muchas situaciones en las que se
quiere actualizar inmediatamente un formulario o un control.
Se puede usar el método Refresh con un control Data para abrir
o reabrir la base de datos (si han cambiado los valores de las
propiedades DatabaseName, ReadOnly, Exclusive o Connect) y
reconstruir el dynaset de la propiedad Recordset del control.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 6

SetFocus (Enfoque): Mueve el enfoque al control o formulario


especificado. El objeto debe ser un objeto Form, un objeto
MDIForm o control que pueda recibir el enfoque. Después de
invocar el método SetFocus, cualquier entrada del usuario se
dirige al formulario o control especificado.

PROCEDIMENTOS, SUCESOS O EVENTOS: Es el proceso que


se va a ejecutar cuando se tome una acción con algún objeto o
control.

EVENTO: Una acción reconocida por un objeto, como hacer clic


con el Mouse o presionar una tecla, para la que se puede
escribir código para responder. Los eventos pueden producirse
como resultado de una acción del usuario o por programa, o
pueden ser disparados por el sistema.
Ejemplo:
Click encima de un botón de comando.

ALGUNOS SUCESOS COMUNES:


Los sucesos determinan la relación de los controles a las
condiciones externas. Los controles reconocen los sucesos, pero
es la aplicación la que la maneja. Un botón de comando es
capaz de reconocer que alguien lo ha pulsado, pero no es capaz
de reaccionar al suceso si no se le proporciona un código que lo
indique. En otras palabras, somos nosotros los que debemos
decir a Visual Basic lo que debe hacer cuando el usuario hace
clic sobre un determinado botón de comando. Una vez que le
especificamos la rutina para el suceso control Click, la subrutina
se ejecuta cada vez que se hace clic sobre este control.
Click (Clic), DblClick (Doble Clic): El suceso Click tiene lugar
cuando el usuario hace clic con el botón izquierdo del ratón; el
DblClick tiene lugar cuando el usuario hace doble clic en el
botón izquierdo del ratón.
MouseDown (Ratón Abajo) MouseUp (Ratón Arriba): El
suceso MouseDown tiene lugar cuando se presiona el botón
del ratón, y el MouseUp cuando se suelta.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 7

MouseMove (Movimientos del Ratón): Este suceso tiene


lugar continuamente mientras se mueve el ratón sobre un
control.
KeyDown (Tecla Abajo), KeyUp (Tecla Arriba): El suceso
KeyDown tiene lugar cuando se pulsa una tecla, y el KeyUp
cuando se suelta.
KeyPress (Pulsación de Tecla): El suceso KeyPress se usa
habitualmente para escribir gestores de teclado para cuadros de
texto, porque este suceso tiene lugar antes de que se muestre
en el cuadro de texto el carácter pulsado.

DEFINICIONES IMPORTANTES:
PROGRAMA: Es un conjunto de comandos, instrucciones,
símbolos y códigos que nos permiten comunicarnos con la
computadora y poder procesar la información.
Se clasifican en lenguajes de bajo nivel y alto nivel.
Los lenguajes de bajo nivel, son más director y para los cuales
es necesario conocer la estructura interne de la computadora.
Ejemplo el lenguaje de programación ASSEMBLER.
Los lenguajes de alto nivel, más comerciales, más fáciles de
operar y para los cuales no es necesario la estructura interna
alguna. Ejemplo el lenguaje de programación FOXPRO.

TIPOS DE PROGRAMA:
a) Programa Fuente: Es un conjunto de instrucciones escritas
en un lenguaje de programación, con la ayuda de un editor
de textos.
b) Programa Objeto: Es el conjunto de instrucciones escritas
en un lenguaje máquina y que no pueden ser ejecutados por
la computadora, es traducido desde el programa fuente al
lenguaje máquina, es un programa no hecho por el usuario
sino por el compilador del lenguaje. Este programa se
genera del resultado de COMPILAR el programa fuente.
Compilar: Es la acción mediante la cual el sistema verifica
errores de sintaxis dentro de un programa fuente y si no los
tiene genera el programa objeto, al cual le asigna
automáticamente la extensión (OBJ).

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 8

c) Programa Ejecutable: Es el conjunto de instrucciones


listas para ser ejecutadas por la computadora, sin la
intervención del software que genero dicha codificación.
Este programa se genera de LINKEAR el programa.
Linkear: Es la acción mediante la cual el sistema enlaza las
librerías de un lenguaje de programación con el programa
objeto, generando un programa ejecutable desde el sistema
operativo, al cual le asigna automáticamente la extensión
(EXE).

VARIABLES:
Como en cualquier otro lenguaje de programación, las variables
se usan para almacenar valores durante la ejecución de un
programa. Las variables son huecos en memoria en los que se
puede dejar valores para recogerlos cuando se necesiten.
En la mayoría de los lenguajes de programación, se deben
definir las variables. En otras palabras, se debe decir por
adelantado al compilador las variables que se van a usar. La
razón por la que se hace así es para ayudar al compilador. Si el
compilador conoce las variables y sus tipos, puede producir un
código más optimizado.

TIPOS DE VARIABLES:
VARIABLES NUMÉRICAS: Almacenan números. Los números
se pueden almacenar con muchos formatos, dependiendo del
tamaño de los números y de su precisión.
VARIABLES DE TIPO STRING: Es aquel tipo de variable a los
cuales podemos destinar caracteres alfabéticos, signos y
números es decir que nos acepta cualquier tipo de carácter.
VARIABLES DE TIPO BOOLEAN: Almacena valores True/False
(Verdadero/Falso). Las variables Boolean son realmente
enteros que tiene el valor –1 (para True) y 0 (para False). Las
variables Boolean se usan para la comprobación de condiciones.
Las variables Boolean se definen de esta manera:
VARIABLES DE TIPO DATE: Almacena fechas. Las variables
tipo Date presentan las fechas de acuerdo al formato de fecha
corto reconocido por el sistema. Se define de esta manera:

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 9

SENTENCIAS DE CONTROL DE FLUJO:

If…Then…EndIf:
La estructura If comprueba una condición especifica y, si es
verdadera, ejecuta las sentencias que le siguen. La estructura If
puede tener o una sola línea, o varias líneas. Para ejecutar una
sentencia condicional se usa la sintaxis de una sola línea:

If condición Then sentencia


Se evalúa la condición y, si es verdadera, ejecuta la sentencia
que viene a continuación. Si la condición no es verdadera,
continua con la sentencia siguiente de la estructura.

La sintaxis de varias líneas:


If condición Then
sentencias
EndIf

If…Then…Else…EndIf:
Una variación de la sentencia If …Then es la sentencia If…
Then…Else … EndIf, que ejecuta un bloque de sentencias si la
condición es verdadera, y otro bloque si es falsa. La sintaxis de
la sentencia If … Then … Else EndIf es:
If condición Then
Bloque de sentencias 1
Else
Bloque se sentencias 2
EndIf

Visual FoxPro evalúa la condición y, si es verdadera, ejecuta el


primer bloque de sentencias y luego salta a las sentencias que
hay después de EndIf. Si la condición es falsa, Visual FoxPro
ignora el primer bloque de sentencias y ejecuta las que hay a
continuación de la palabra clave Else.
Otra variación de la sentencia If … Then … Else usa varias
condiciones con la palabra clave ElseIf:
If condición 1 Then
Bloque de sentencias 1

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 10

Else If condición 2 Then


Bloque se sentencias 2
Else If condición 3 Then
Bloque se sentencias 3
Else
Bloque se sentencias 4
End If

Podemos poner cualquier número de cláusulas desde arriba y, si


una de ellas es verdadera, se ejecuta el bloque de sentencias
correspondiente. La cláusula Else se ejecutará si ninguna de las
expresiones anteriores es verdadera.
Ejemplo:
If puntuación < 50 Then
Resultado = “No admitido”
Else If puntuación < 75 Then
Resultado = “Pasable”
Else If puntuación > 90 Then
Resultado = “Muy bueno”
Else
Resultado = “Excelente”
EndIf

ESTRUCTURAS IF … THEN MÚLTIPLES:


Observamos que una vez que se ha encontrado una condición
verdadera, Visual FoxPro ejecuta las sentencias asociadas, salta
el resto de las cláusulas y continua con la ejecución del
programa con las sentencias que hay después de EndIf. Por esta
razón podemos usar la siguiente estructura, más complicada, de
varias sentencias If simples:
If puntuación < 50 Then
Resultado= “No admitido”
EndIf
If puntuación < 75 And puntuación >= 50 Then
Resultado= “Pasable”
EndIf
If puntuación < 90 And puntuación >= 75 Then
Resultado= “Muy bueno”

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 11

EndIf
If puntuación > 90 Then
Resultado= “Excelente”
EndIf

DO CASE:
La estructura Do Case compara la misma expresión con
diferentes valores. La ventaja de esta sentencia sobre If … Then
múltiples hace que el código sea más fácil de leer y mantener.
La estructura Do Case comprueba una sola expresión, que se
evalúa una sola vez al principio de la estructura. El resultado de
esta comprobación se compara con varios valores y, si coincide
con uno de ellos, se ejecuta el bloque de sentencias
correspondiente. Sintaxis:
Do Case
Case <Condición 1>
Bloque de sentencias 1
Case <Condición 2>
Bloque de sentencias 2
.
.
.
EndCase

Ejemplo:
Opc=this.value
Do Case
Case opc=1
NombreDía= “Lunes”
Mensaje= “Feliz semana”
Case opc=6
NombreDía= “Sábado”
Mensaje= “Feliz fin de semana”
Case opc=7
NombreDía= “Domingo”
Mensaje= “ ¿Has tenido un buen fin de semana”
EndCAse

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 12

La variable opc que se evalúa al principio de la sentencia, es el


número de día de la semana. Después se compara el valor de la
expresión con los valores que tiene cada palabra clave Case. Si
coincide, se ejecuta el bloque de sentencias que viene a
continuación, y después salta el programa a la sentencia
siguiente al EndCase.

SENTENCIAS DE CONTROL DE BUCLE:

DO WHILE… ENDDO:
Ejecuta un bloque de sentencias mientras la condición sea
verdadera. Visual FoxPro evalúa la expresión y, si la expresión
es falsa, el programa continúa con las sentencias que van
después del bucle.
Para ejecutar un bloque sentencias mientras la condición sea
verdadera, se usa la siguiente sintaxis:
Do While condición
Bloque de sentencias
Enddo

El bucle Do se repite todas las veces que sea necesario siempre


que la condición sea verdadera (o distinta de cero si la condición
evalúa un número).

FOR … ENDFOR/NEXT: El bucle For … Next es una de las


estructuras de bucle más antiguas dentro de los lenguajes de
programación. A diferencia del bucle Do, el bucle For … Next
requiere que se conozca el número de veces que se van a
ejecutar las sentencias del bucle. Este bucle es una variable
(llamada el contador del bucle) que incrementa o disminuye su
valor durante cada repetición del bucle. Su sintaxis es:
For contador = principio To final [Step incremento]
Sentencias
Next/EndFor [contador]

(las palabras entre corchetes son opcionales). Los argumentos


contador, principio, final e incremento son todos numéricos. El

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 13

bucle se ejecuta hasta que el contador llegue (o exceda) el valor


final.

Cuando ejecuta un bucle For … Next, Visual FoxPro hace lo


siguiente:
1. Pone contador con el valor de principio.
2. Comprueba si contador es mayor que final. Si lo es, sale del
bucle. Si incremento es negativo, Visual FoxPro comprueba si
contador es menor que final, en cuyo caso sale de bucle.
3. Ejecuta el bloque de sentencias.
4. Incrementa contador con el valor de incremento. Si no se ha
especificado incremento, el contador se incrementa en 1.
5. Repite las sentencias.

La parte más importante a tener en cuenta cuando se trabaja


con bucle For Next/EndFor es que el contador del bucle se
establece al principio del bucle. Si cambiamos el valor de la
variable final mediante una sentencia dentro del bucle, no se
detecta el cambio y se ejecuta como si no se hubiera producido.

WITH ... ENDWITH: Especifica múltiples propiedades para un


objeto.
Sintaxis
WITH NombreObjeto
[Instrucciones]
ENDWITH
NombreObjeto: Especifica el nombre del objeto. NombreObjeto
puede ser el nombre del objeto o una referencia a éste. Ejemplo
With Thisform
Instrucciones: Instrucciones puede constar de cualquier
número de comandos de Visual FoxPro empleados para
especificar propiedades para NombreObjeto. Sitúe un punto
delante de Instrucción para indicar que es una propiedad de
NombreObjeto.

MANIPULACIÓN DE OBJETOS: Para manipular un objeto,


deberá identificarlo en relación con la jerarquía contenedora. En
el nivel superior de la jerarquía contenedora (el conjunto de

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 14

formularios o el formulario) necesita hacer referencia a la


variable de objeto. De manera predeterminada, la variable de
objeto tiene el mismo nombres que el archivo .SCX.
Las propiedades se manipulan haciendo referencia a la variable
de objeto, el control y la propiedad, separados por puntos (.):

variableobjeto.[form.]control.propiedad = Configuración

La tabla siguiente muestra las propiedades o las palabras clave


que facilitan el establecimiento de referencias a un objeto en la
jerarquía de objetos:

Propiedad o palabra clave


Referencia
ActiveControl El control del formulario activo actualmente que
tiene el enfoque
ActiveFormEl formulario activo actualmente
ActivePage La página activa del formulario activo actualmente
Parent El contenedor más inmediato del objeto
THIS El objeto, o un procedimiento o evento del objeto
THISFORM El formulario que contiene el objeto
THISFORMSETEl conjunto de formularios que contiene el objeto

THISFORM: Proporciona una referencia a un Form antes de


crearlo.
Sintaxis:
THISFORM.NombrePropiedad | NombreObjeto

Argumentos:
NombrePropiedad: Especifica una propiedad para el Form.
NombreObjeto: Especifica un objeto del Form.

Comentarios: THISFORM proporciona, dentro de un método, una referencia al


Form en el que está situado un objeto o a la propiedad de un Form. THISFORM
permite hacer referencia a un objeto o una propiedad del formulario sin utilizar
múltiples propiedades Parent.

THIS: Proporciona una referencia a un objeto antes de crearlo.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 15

Sintaxis:
THIS.NombrePropiedad | NombreObjeto

Argumentos:
NombrePropiedad: Especifica una propiedad para la clase.
NombreObjeto: Especifica un objeto de la clase.

Comentarios: THIS permite hacer referencia a una propiedad o


un objeto de una definición de clase. Los métodos de un bloque
de definición de clase pueden utilizar THIS para especificar una
propiedad o un objeto que existirá cuando se cree la clase.
Puesto que múltiples instancias de objetos comparten el mismo
código de método, THIS siempre hace referencia a la instancia
en la que está ejecutándose el código. Si hay múltiples
instancias de un objeto, y se llama a uno de los métodos del
objeto, THIS hace referencia al objeto correcto.

THISFORMSET: Proporciona una referencia a un FormSet antes


de crearlo.
Sintaxis:
THISFORMSET.NombrePropiedad | NombreObjeto

Argumentos:
NombrePropiedad: Especifica una propiedad para el FormSet.
NombreObjeto: Especifica un objeto del FormSet.

Comentarios: THISFORMSET proporciona, dentro de un método,


una referencia al FormSet en el que está situado un objeto o a la
propiedad de un FormSet. THISFORMSET permite hacer
referencia a un objeto o una propiedad del FormSet sin utilizar
múltiples propiedades Parent.

RELEASE: Permite que los usuarios cierren el formulario activo


haciendo doble clic en el cuadro de control o eligiendo Cerrar en
el menú Control del formulario. También puede permitir que un
usuario cierre y libere un formulario incluyendo el comando
siguiente en el código de evento Click de un control, como un
botón de comando con el título "Salir":

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 16

RELEASE THISFORM

CREATE: Nos permite crear formularios, tablas, base de datos,


menús, informes, etc. Ejemplo: Create Form “C:\Mis
documentos\René\ejemplo1.scx”.
DO FORM: Ejecuta un Form o FormSet compilado que se ha
creado con el Generador de formularios.
MODIFY FORM: Abre el Generador de formularios para que
pueda modificar o crear uno.
USE: Abre o cierra una Tabla. Ejemplo: Use Articulo.Dbf↵ (Abre
la tabla Articulo.dbf). Use↵ Cierra una tabla en uso.
GO TOP: Ubica el puntero de registro en el primer registro.
GO BOTTOM: Ubica el puntero de registro en el último registro.
SKIP: Avanza o retrocede el puntero de registro. Skip +1↵
(Avanza). Skip –1 (Retrocede).
APPEND: Adiciona o añade más registro a una tabla abierta.
LIST: Realiza un listado de todos los registros de una tabla
abierta.
BROWSE: Abre la ventana examinar para modificar el
contenido de todos los registro de una tabla abierta.
REPORT FORM: Muestra o imprime un informe bajo el control
de un archivo de definición de informe creado con MODIFY
REPORT o CREATE REPORT.

PARTE PRACTICA

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 17

Objeto Propiedad Valor


Text1 Value (Valor) 0.00
Text2 Value 0.00
Label4 Alignment (Alineamiento) 1 – Derecha
BorderStyle (Estilo de borde) 1 – Sencillo fijo
Caption (Título) 0.00

Command1 Click
Thisform.label4.caption="S/."+alltrim(str(thisform.text1.value*t
hisform.text2.value,10,2))
Command2 Click
Thisform.release

Objeto Propiedad Valor


Spinner1 KeyboardHighValue 72
KeryboardLowValue 6
SpinnerHighValue 72
SpinerLowValue 6
Value

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 18

Check1 Click Endif


If thisform.text1.fontbold=.t. Check1 = FontBold (Negrita)
Then Check2 = FontItalic (Cursiva)
Check3 = FontUnderline
thisform.text1.fontbold=.f. (Subrayado)
Else Check4 = FontStrikethru
(Tachado)
thisform.text1.fontbold=.t.

Optiongroup1 Click
If thisform.optiongroup1.value=1
thisform.text1.forecolor=rgb(0,0,0)
Else
If thisform.optiongroup1.value=2
thisform.text1.forecolor=rgb(255,0,0)
Else
If thisform.optiongroup1.value=3
thisform.text1.forecolor=rgb(0,255,0)
Else
thisform.text1.forecolor=rgb(0,0,255)
Endif
Endif
Endif

Command1 Click thisform.text1.fontstrikethru


thisform.text1.value="" =.f.
thisform.text1.setfocus thisform.text1.forecolor=rgb
thisform.check1.value=0 (0,0,0)
thisform.check2.value=0
thisform.check3.value=0 Command2 Click
thisform.check4.value=0 thisform.release
thisform.optiongroup1.value
=1 Spinner1
thisform.text1.fontsize=8 InteractiveChange
thisform.text1.fontbold=.f. thisform.text1.fontsize=thisf
thisform.text1.fontitalic=.f. orm.spinner1.value
thisform.text1.fontstrikethru
=.f.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 19

Objeto Propiedad Valor


Label1 Name Labtipo
Label2 Name Labproducto
Combo1 Name Cmbtipo
RowSource Abarrotes,Medicinas,etc.
RowSourceType 1 – Valor
Text1 Name Texproducto
List1 Name Lis1producto
List2 Name Lis2producto
Command1 Name Comagregar
Command2 Name Comad duno
Command3 Name Comaddvarios
Command4 Name Comelimina
Command5 Name Commodifica
Command6 Name Comlimpia
Command7 Name Comsalir

Comagregar Click if
with thisform .comagregar.caption="Agrega
r"

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 20

. .lis1producto.clear
lis1producto.additem(.texp .texproducto.setfocus
roducto.value) endwith
else
. Comelimina Click
lis1producto.additem(.texp with thisform
roducto.value) .
. lis1producto.removeitem(.li
comagregar.caption="Agregar s1producto.listindex)
" .texproducto.setfocus
endif endwith
.texproducto.value=""
.texproducto.setfocus Commodifica Click
endwith with thisform
.
Comadduno Click texproducto.value=.lis1pro
with thisform ducto.value
. .
lis2producto.additem(.lis1p lis1producto.removeitem(.li
roducto.value) s1producto.listindex)
. .
lis1producto.remeoveitem(. comagregar.caption="Actualiz
list1producto.listindex) ar"
endwith .texproducto.setfocus
endwith
Comaddvarios Click
with thisform Comlimpia Click
for x=1 to with thisform
.lis1producto.listcount .lis1producto.clear
. .texproducto.setfocus
lis2producto.additem(.lis1p endwith
roducto.list(x)) Comsalir Click
next thisform.release

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 21

Objeto Propiedad Valor


List1 Visible .T. – Verdadero

Command1 Click if .check1.value=1


with thisform g=.check1.caption
a=.text1.value else
b=.spinner1.value g=""
c=.spinner2.value endif
d=.spinner3.value if .check2.value=1
e=.combo1.value h=.check2.caption
if else
.optiongroup1.option1.value= h=""
1 endif
f="Administración" if .check3.value=1
else i=.check3.caption
if else
.optiongroup1.option2.value= i=""
1 endif
f="Contabilidad" .
else list1.additem(alltrim(a+allt
f="Ventas" rim(
endif str(b))+alltrim(str(c))+alltri
endif

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 22

m(str(d))+" "+e+" "+f+" Command3 Click


"+g+" "+h+" "+i)) with thisform
.text1.value="" if
.text1.setfocus .command3.caption="Mostrar
.optiongroup1.value=1 "
.check1.value=0 .list1.visible=.t.
.check2.value=0 .
.check3.value=0 command3.caption="Ocultar"
.spinner1.value=1 else
.spinner2.value=1 .list1.visible=.f.
.spinner3.value=1950 .
endwith command3.caption="Mostar"
endif
Command2 Click endwith
thisform.list1.clear
thisform.text1.setfocus Command4 Click
thisform.release

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 23

Objeto Propiedad Valor


Pageframe1 PageCount 4
Timer1 Interval 1

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 24

Page1:
Spinner1,2,3, KeyboardHighValue 255
4,5 y 6 KeyboardLowValue 0
SpinnerHighValue 255
SpinnerLowValue 0
Page2:
Spinner1,2 KeyboardHighValue 250
KeyboardLowValue 0
SpinnerHighValue 250
SpinnerLowValue 0
Page3:
Spinner1,2 KeyboardHighValue 300
KeyboardLowValue 0
SpinnerHighValue 300
SpinnerLowValue 0
Page4:
Spinner1 KeyboardHighValue 100
KeyboardLowValue 1
SpinnerHighValue 99
SpinnerLowValue 1

Page1: verde=.pageframe1.page1.
Spinner1 spinner2.value
InteractiveChange .
with thisform shape1.backcolor=rgb(rojo
,verde,azul)
rojo=.pageframe1.page1.s endwith
pinner1.value
. Spinner3
shape1.backcolor=rgb(rojo InteractiveChange
,verde,azul) with thisform
endwith
azul=.pageframe1.page1.s
Spinner2 pinner3.value
InteractiveChange .
with thisform shape1.backcolor=rgb(rojo
,verde,azul)
endwith

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 25

Spinner4 alto=.pageframe1.page2.s
InteractiveChange pinner1.value
with thisform .shape1.height=alto
endwith
rojo=.pageframe1.page1.s
pinner4.value Spinner2
. InteractiveChange
shape1.bordercolor=rgb(roj with thisform
o,verde,azul)
endwith ancho=.pageframe1.page2
.spinner2.value
Spinner5 .shape1.width=ancho
InteractiveChange endwith
with thisform
Page3:
verde=.pageframe1.page1. Spinner1
spinner5.value InteractiveChange
. with thisform
shape1.bordercolor=rgb(roj
o,verde,azul) izquierda=.pageframe1.pa
endwith ge3.spinner1.value
.shape1.left=izquierda
Spinner6 endwith
InteractiveChange
with thisform Spinner2
InteractiveChange
azul=.pageframe1.page1.s with thisform
pinner6.value
. arriba=.pageframe1.page3
shape1.bordercolor=rgb(roj .spinner2.value
o,verde,azul) .shape1.top=arriba
endwith endwith

Page2: Page4:
Spinner1 Spinner1
InteractiveChange InteractiveChange
with thisform with thisform

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 26

.
formas=.pageframe1.page shape2.width=.shape1.width
4.spinner1.value .shape2.left=.shape1.left
.shape1.curvature=formas .shape2.top=.shape1.top
endwith .
shape2.curvature=.shape1
.curvature
Command1 Click endwith
with thisform
if .pageframe1.visible=.t. Timer1 Timer
.pageframe1.visible=.f. with thisform
.shape1.visible=.f. if sw=0
.command2.visible=.f. x=x+1
. .shape2.left=x
command1.caption="Mu if x=250
estra características" sw=1
else endif
.pageframe1.visible=.t. else
.shape1.visible=.t. x=x-1
.command2.visible=.t. .shape2.left=x
. if x=5
command1.caption="Es sw=0
conde características" endif
endif endif
endwith endwith

Command2 Click Form1 Init


with thisform public
. sw,x,rojo,verde,azul,alto,anch
shape2.backcolor=.shape1 o,izquierda,arriba,formas
.backcolor x=5
. sw=0
shape2.bordercolor=.shape rojo=0
1.bordercolor verde=0
. azul=0
shape2.height=.shape1.heigh alto=0
t ancho=0
izquierda=0

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 27

arriba=0 formas=0

Ejemplo N°6: Crear la Tabla Libre Articulo.DBF


Nombre Tipo Ancho Decimale
s
Codart Carácter 3
Desart Carácter 30
Stkart Numérico 4 0
Preart Numérico 7 2
Obsart Memo 4
Imgart General 4
Ingresar 5 registros.

Objeto Propiedad Valor


Commandgroup1 BottonCount 4
Text1 ControlSource empleado.codart
Text2 ControlSource empleado.desart
Text3 ControlSource empleado.stkart
Text4 ControlSource empleado.preart
Edit1 ControlSource empleado.obsart
Oleboundcontrol1 ControlSource empleado.imgart

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 28

Commandgroup1 Click if not eof()


nopc=this.value skip
do case if bof()
case nopc=1 go bottom
go top endif
case nopc=2 endif
if not bof() case nopc=4
skip -1 go bottom
if bof() endcase
go top thisform.refresh
endif
endif Command1 Click
case nopc=3 Thisform.release

Objeto Propiedad Valor


Form1 ShowTips .T.
Text1 BackStyle 0 – Transparente
Format E
ReadOnly .T.
Value =Date()

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 29

Text2 Value { / / }
Text3,4,5 BackStyle 0 – Transparente
ReadOnly .T.
Value 0
Command1 Caption (Nada)
Picture C:\VFP\…\…\Closed.BMP
Command2 Caption (Nada)
Picture C:\VFP\…\…\Help.BMP
Form2 AlwaysOnTop .T.
BorderStyle 1 – Borde en una línea
Caption (Nada)
ControlBox .F.
Desktop .T.
HalfHeigthCaption .F.
MaxButton .F.
MinButton .F.
Movable .T.
WindowsType 1 – Modal
Label2 Alignment 2 – Centro
BackStyle 0 – Transparente
Caption Lleve el Mouse sobre
algún objeto
WordWrap .T.
Imagen1 BackStyle 0 – Transparente
Picture C:\VFP\…\…\Find.BMP

Form1 MouseMove thisformset.form2.label2.capti


LPARAMETERS nButton, on="Esta es la fecha de hoy,
nShift, nXCoord, nYCoord puede cambiarla"+;
thisformset.form2.label2.capti " haciendo click con el botón
on="Lleve el Mouse sobre de comando del lado"
algún objeto" thisformset.form2.refresh
thisformset.form2.refresh
Text2 MouseMove
Text1 MouseMove LPARAMETERS nButton,
LPARAMETERS nButton, nShift, nXCoord, nYCoord
nShift, nXCoord, nYCoord

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 30

thisformset.form2.label2.capti thisformset.form2.refresh
on="Puede escribir su fecha
de nacimiento por ejemplo" Command4 MouseMove
thisformset.form2.refresh LPARAMETERS nButton,
nShift, nXCoord, nYCoord
Text3 MouseMove thisformset.form2.label2.capti
LPARAMETERS nButton, on="Puedes pulsar Esc para
nShift, nXCoord, nYCoord salir"
thisformset.form2.label2.capti thisformset.form2.refresh
on="Haz nacido un día";
+chr(13)+cdow(thisform.text Command3 Click
2.value) with thisform
thisformset.form2.refresh ndias=(.text1.value-.
text2.value)
Text4 MouseMove .text3.value=int(ndias/365)
LPARAMETERS nButton, .
nShift, nXCoord, nYCoord text4.value=int(mod(ndias,36
thisformset.form2.label2.capti 5)/30)
on="Haz nacido un día"; .
+chr(13)+cdow(thisform.text text5.value=mod(mod(ndias,
2.value) 365),30)
thisformset.form2.refresh .refresh
endwith
Text5 MouseMove
LPARAMETERS nButton, Command4 Click
nShift, nXCoord, nYCoord thisformset.release
thisformset.form2.label2.capti
on="Haz nacido un día"; Command1 Click
+chr(13)+cdow(thisform.text with thisform
2.value) if .text1.readonly=.f.
thisformset.form2.refresh .text1.readonly=.t.

Command3 MouseMove this.picture="D:\vfp\sampl


LPARAMETERS nButton, es\graphics\bmps\outline\cl
nShift, nXCoord, nYCoord osed.bmp"
thisformset.form2.label2.capti else
on="Pulsa Enter para hacer el .text1.readonly=.f.
cálculo"

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 31

this.tooltiptext="Ver
this.picture="D:\vfp\samples\ ayuda"
graphics\bmps\outline\open.b else
mp" .form2.visible=.t.
.text2.setfocus
endif
.refresh this.tooltiptext="Ocultar
endwith ayuda"
endif
Command2 Click endwith
with thisformset
if .form2.visible=.t. Text2 Valid
.form2.visible=.f. thisform.command3.click

Ejemplo N° 8:
Crear el Proyecto: Empresa 2002.
Crear la Base de Datos: Empresa.
Crear la Tabla: Empleado.

Nombre Tipo Ancho Decimal


es
Codiemp Carácte 3
r
Apelemp Carácte 30
r
Nombemp Carácte 15
r
Naciemp Fecha 8
Damaemp Lógico 1
Civiemp Carácte 1
r
Estaemp Carácte 1
r
Condemp Carácte 1
r
Ingremp Fecha 8
Docuemp Carácte 8
r

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 32

Fonoemp Carácte 7
r
Diremp Carácte 25
r
Obsemp Memo 4

Propiedades del campo Civiemp:


Mostrar Validación de campos
Formato: Regla: Civiemp$“SCVD

Mascara de ! Mensaje: “Solo S,C,V,D”
entrada:
Título: Valor “S”
predeterminado:

Propiedades del campo Estaemp:


Mostrar Validación de campos
Formato: Regla: Estaemp$“AVPR

Mascara de ! Mensaje: “Solo A,V,P,R”
entrada:
Título: Valor “A”
predeterminado:

Propiedades del campo Condemp:


Mostrar Validación de campos
Formato: Regla: Condemp$“CES

Mascara de ! Mensaje: “Solo C,E,S”
entrada:
Título: Valor “C”
predeterminado:

Propiedades del campo Ingremp:


Mostrar Validación de campos
Formato: Regla:
Mascara de Mensaje:

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 33

entrada:
Título: Valor Date( )
predeterminado:

Ingresar 5 registros.

Crear el formulario Empleado:

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 34

Objeto Propiedad Valor


Text1 ControlSource empleado.codiemp
Text2 ControlSource empleado.apelemp
Text3 ControlSource empleado.naciemp
Text4 ControlSource empleado.nombemp
Txet5 ControlSource empleado.ingremp
Txet6 ControlSource empleado.docuemp
Txet7 ControlSource empleado.direemp
Txet8 ControlSource empleado.fonoemp
Edit1 ControlSource empleado.obseemp
Combo1 BoundColum 2
ColumnCount 2
ColumnLines .f.
ColumnWidths 80,0
ControlSource empleado.civiemp
RowSource Soltero,S,Casado,C,
Viudo,V,Divorciado,D
RowSourceType 1 – Valor
Value Soltero
Combo2 BoundColum 2
ColumnCount 2
ColumnLines .f.
ColumnWidths 80,0
ControlSource empleado.estaemp
RowSource Activo,A,Vacaciones,V,
Retirado,R,Permiso,P
RowSourceType 1 – Valor
Value Activo
Combo3 BoundColum 2
ColumnCount 2
ColumnLines .f.
ColumnWidths 80,0
ControlSource empleado.condemp
RowSource Contratado,C,Estable,E,
Servicio,S
RowSourceType 1 – Valor
Value Servicio

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 35

Command1 Click .
with thisform command3.enabled=.t.
go top .
.command1.enabled=.f. command4.enabled=.t.
.command2.enabled=.f. else
.command3.enabled=.t. skip -1
.command4.enabled=.t. .
. command3.enabled=.t.
combo1.value=iif(empleado. endif
civiemp="S","Soltero(a)",iif( .
empleado.civiemp="C","Cas combo1.value=iif(empleado.
ado(a)",iif(empleado.civiemp civiemp="S","Soltero(a)",iif(
="V","Viudo(a)","Divorciado( empleado.civiemp="C","Cas
a)"))) ado(a)",iif(empleado.civiemp
. ="V","Viudo(a)","Divorciado(
combo2.value=iif(empleado. a)")))
estaemp="A","Activo",iif(em .
pleado.estaemp="V","Vacaci combo2.value=iif(empleado.
ones",iif(empleado.estaemp estaemp="A","Activo",iif(em
="P","Permiso","Retirado"))) pleado.estaemp="V","Vacaci
. ones",iif(empleado.estaemp
combo3.value=iif(empleado. ="P","Permiso","Retirado")))
condemp="C","Contratado", .
iif(empleado.condemp="E"," combo3.value=iif(empleado.
Estable","Servicio")) condemp="C","Contratado",
. iif(empleado.condemp="E","
optiongroup1.value=iif(empl Estable","Servicio"))
eado.damaemp,1,2) .
.refresh optiongroup1.value=iif(empl
endwith eado.damaemp,1,2)
.refresh
Command2 Click endwith
with thisform
if bof() Command3 Click
. with thisform
command1.enabled=.f. if eof()
. .
command2.enabled=.f. command1.enabled=.t.

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 36

. .command1.enabled=.t.
command2.enabled=.t. .command2.enabled=.t.
. .command3.enabled=.f.
command3.enabled=.f. .command4.enabled=.f.
. .
command4.enabled=.f. combo1.value=iif(empleado.
else civiemp="S","Soltero(a)",iif(
skip empleado.civiemp="C","Cas
. ado(a)",iif(empleado.civiemp
command2.enabled=.t. ="V","Viudo(a)","Divorciado(
endif a)")))
. .
combo1.value=iif(empleado. combo2.value=iif(empleado.
civiemp="S","Soltero(a)",iif( estaemp="A","Activo",iif(em
empleado.civiemp="C","Cas pleado.estaemp="V","Vacaci
ado(a)",iif(empleado.civiemp ones",iif(empleado.estaemp
="V","Viudo(a)","Divorciado( ="P","Permiso","Retirado")))
a)"))) .
. combo3.value=iif(empleado.
combo2.value=iif(empleado. condemp="C","Contratado",
estaemp="A","Activo",iif(em iif(empleado.condemp="E","
pleado.estaemp="V","Vacaci Estable","Servicio"))
ones",iif(empleado.estaemp .
="P","Permiso","Retirado"))) optiongroup1.value=iif(empl
. eado.damaemp,1,2)
combo3.value=iif(empleado. .refresh
condemp="C","Contratado", endwith
iif(empleado.condemp="E","
Estable","Servicio")) Command5 Click
. local nresp
optiongroup1.value=iif(empl nresp=messagebox("Esta
eado.damaemp,1,2) Ud. seguro de eliminar el
.refresh registro",32+4,"atención")
endwith if nresp=6 &&si nresp es no
delete next 1
Command4 Click pack
with thisform if eof()
go bottom skip -1

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 37

else sado(a)","C",iif(.combo1.val
skip ue="Viudo(a)","V","D")))
endif repla
thisform.refresh() empleado.estaemp with
endif iif(.combo2.value="Activo","
A",iif(.combo2.value="Vacac
Command6 Click iones","V",iif(.combo2.value
with thisform ="Permiso","P","R")))
if repla
.command6.caption="Nuevo empleado.condemp with
" iif(.combo3.value="Contrata
append blank do","C",iif(.combo3.value="
. Estable","E","S"))
combo1.value="Soltero(a)" repla
. empleado.damaemp with
combo2.value="Activo" iif(.optiongroup1.value=1,.f.,
. .t.)
combo3.value="Contratado" endif
.optiongroup1.value=1 endwith
.text1.setfocus
.
command6.caption="Guard Command7 Click
ar" thisform.release
else
repla Form1 MouseMove
empleado.civiemp with LPARAMETERS nButton,
iif(.combo1.value="Soltero(a nShift, nXCoord, nYCoord
)","S",iif(.combo1.value="Ca thisform.label14.caption=str
(recno())

Creación de Menús:
Ejemplo N° 8:
Archivo Listado
Mantenimient Empleados Informe general
o Ctrl+E Ctrl+G
Nuevo Obreros Por Apellidos
Ctrl+N
Abrir Otros Boletas Código

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 38

Salir Fecha de
Ctrl+S nacimiento
Otros

Procesos Herramientas
Boleta de Configuración
Pagos
Nominas Usuarios
Planillas Add Modulos
About
Ctrl+A

Diseñador de Menús
Indicador Acción Opcion Nivel de
es Menú
\<Archivo Subme Modific Barra de
nú ar Menú
\<Listado Subme Crear Barra de
nú Menú
\<Procesos Subme Crear Barra de
nú Menú
\<Herramient Subme Crear Barra de
as nú Menú

Diseñador de Menús
Indicador Acción Opciones Nivel de
menú
\<Mantenimie Submen C Archivo
nto ú rear
Nuevo Submen C Archivo
ú rear
\<Abrir Submen C Archivo

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 39

ú rear
\- Submen C Archivo
ú rear
\<Salir Comand Set sysmenu to  Archivo
o default

Opciones de acción (Del submenú Salir)


Etiqueta Tecla Ctrl. + S
Texto de Tecla Ctrl. + S
Mensaje “Nos permite salir del menú principal”

Diseñador de Menús
Indicador Acción Opciones Nivel de
Menú
\<Salir Coman Set sysmenu to default  Archivo
do
\<Emplead Coman Do form “C:\Mis Doc\  Mantenimie
os do René\ Empleado.Scx” nto
\<Informe Coman Repeort form “C:\Mis  Listado
General do Doc\ René\ Informe1.Frx”
preview

Creación de Informes:

Empresa de Estructuras Metálicas S.A.


Av. Industrial 405
Código Apellido Nombre Fecha de ....
Nacimien
to
Encabezado de Página
Codiem Apelemp Nombem Naciemp ....
p p

Detalle
Teléfono: Fax N°:
R.U.C. N°:

C.E.O. SAN LUIS René J. Hercilla Valdivia


VISUAL FOXPRO 40

Pie de Página

Ingresar los siguientes registros:


Codie Apelemp Nombem Naciemp
mp p
201 Chacón José 12/10/1975
202 Melgar Estrella 11/11/1970
103 Torres Pino Mario 12/11/2001
205 Medina Carpio Cecilia 11/09/2001
179 Fuetes Galdos Ricardo 14/11/1987
150 Paredes Tapia Lucia 15/08/1983
Juárez Yucra

Creación de Consultas:
Página Campos: Agregar todos.
Página Combinación: (Nada)
Página Filtro:
Nombre del N Criteri Ejemplo M/ Lógic
campo o o m o
Consulta Empleado.dama = .F.
1 emp
Consulta Empleado.codie < 200
2 mp
Consulta Empleado.apele = “Juárez Yucra”
3 mp
Consulta Empleado.nacie < Ctod(“01/01/7 And
4 mp > 8”)
Empleado.nacie Ctod(“12/31/7
mp 4”)
Página Ordenado Por:
Consulta1 ordenado por el campo: Codiemp
Consulta2 ordenado por el campo: Nombemp
Página Agrupar Por: (Nada)
Página Varios: (Nada)

C.E.O. SAN LUIS René J. Hercilla Valdivia

You might also like