Libro Fox
Libro Fox
Libro Fox
Conceptos Básicos
Barras de Herramientas
Utilizando FoxPro
(Abrir, cerrar, guardar, ejecutar un programa)
1
Expertos en Compu FOXPRO
Instrucciones de selección
Instrucciones Cíclicas
Instrucciones de Procedimientos
2
Expertos en Compu FOXPRO
Iniciando FoxPro
Barra de Herramientas
Ventana de la Aplicación
Barra de Estado
3
Expertos en Compu FOXPRO
4
Expertos en Compu FOXPRO
5
Expertos en Compu FOXPRO
Al hacerlo te aparecerá
la siguiente pantalla
que muestra en la parte
superior de la izquierda
el área para escribir el
programa fuente en
FoxPro, tal como
aparece en la figura
1.3. El cursor se
encuentra dentro del
área de escritura y Figura 1.3
puedes iniciar a escribir
el programa.
Figura 1.4
6
Expertos en Compu FOXPRO
* Nombre: Foxpro001.prg
* Autor: Julio César Penagos
* Objetivo: Ingresar un nombre
clear
nom=space(30)
@ 5,5 say "Ingrese Nombre" font "arial",20 style "u"
@ 8,5 get nom font "arial black",20 color b/w*
read
7
Expertos en Compu FOXPRO
Figura 1.7
Nota que la
carpeta donde
guardarás el
programa se
llama Visual fox
ó también
puede llamarse
Vfp98, (véase
figura 1.7), lo
cual en el
laboratorio de
computación no podrás grabar en dicha carpeta, ya que está
restringido el acceso a dicha carpeta porque en ella se encuentran los
archivos necesarios para que funcione dicho lenguaje de
programación. Es por eso que debes buscar la carpeta Mis
documentos (véase figura 1.8) para grabar nuestro programa. Al
elegir la carpeta mis documentos escribes el nombre del archivo y
especificas que tipo de archivo es. En este caso como es un programa
será un archivo extensión .Prg tal como aparece en la figura 1.9.
8
Expertos en Compu FOXPRO
Figura 1.9
Ya creaste una carpeta
dentro de Mis documentos
titulada: “Programas FoxPro
Julio Penagos”; ahora debes
asignarle el nombre del
programa de cómo lo quieres
guardar: en este caso es:
Foxpro001 y el tipo de
archivo es *.prg.
Seguidamente debes
presionar un clic en el botón
guardar y luego ya puedes
iniciar los pasos para
comprobar si el programa no
tiene errores y se ejecutó
correctamente.
9
Expertos en Compu FOXPRO
Figura 1.11
10
Expertos en Compu FOXPRO
Figura 1.14
Figura 1.13
11
Expertos en Compu FOXPRO
¡Felicitaciones!
Figura 1.16
Figura 1.17
12
Expertos en Compu FOXPRO
13
Expertos en Compu FOXPRO
Figura 1.20b
Figura 1.21
Figura 1.22
14
Expertos en Compu FOXPRO
Figura 1.23
Luego de elegir el
programa a modificar
aparecerá la ventana
de escritura del
programa fuente, tal
como lo representa la
figura 1.24
.
Figura 1.24
15
Expertos en Compu FOXPRO
Figura 1.25
16
Expertos en Compu FOXPRO
Figura 1.26
Figura 1.27 b
17
Expertos en Compu FOXPRO
Figura 1.28
18
Expertos en Compu FOXPRO
COMANDOS DE FOXPRO
TIPOS Y DECLARACIÓN DE VARIABLES
OPERADORES LÓGICOS, ARITMÉTICOS Y
RELACIONALES
Comandos de FoxPro
19
Expertos en Compu FOXPRO
20
Expertos en Compu FOXPRO
21
Expertos en Compu FOXPRO
B Negrilla S Tachado
K Cursiva U Subrayado
RGB(Color,Intensidad,Brillo,Color,Intensidad
,Brillo)
22
Expertos en Compu FOXPRO
23
Expertos en Compu FOXPRO
Store 0 to A,B,C,D
Store 0.00 to X,Y,Z
Store Space(25) to M,N
Store “ “ to P,Q
Nombre = Space(50)
Dirección = “ “
24
Expertos en Compu FOXPRO
Opción = .T.
Otro = .F.
Fechaingreso= Ctod (“ / / “)
Fechasalida= Ctod (“ / / “)
Operador Descripción
Lógicos
.Not. En la condición negada, la primera
condición debe ser verdadera y la
segunda falsa.
25
Expertos en Compu FOXPRO
Aritméticos
** , ^ Exponenciación (Nivel 1)
Relaciónales
< Menor que > Mayor que
26
Expertos en Compu FOXPRO
Programas Sencillos
Uso de operadores aritméticos
Ejemplos y Ejercicios
@ 5,60 get n1 pict "999 " font "book old style",15 style "S"
@ 7,60 get n2 pict "999 " font "book old style",15 style "S"
@ 9,60 get n3 pict "999 " font "book old style",15 style "S"
27
Expertos en Compu FOXPRO
read
r=n1*n2*n3
@ 14,20 say "El resultado de la multiplicación es: " font "vivaldi",15 style "b"
@ 13.5,85 say r font "book old style",25 style "b" color rg/w* pict "999,999,999 "
wait window "Enter para finalizar"
return
* Nombre: Foxpro003.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere calcular El total a pagar por una cuenta que recibió
Note : el 3.4% de descuento, ingresando número de cuenta y saldo.
NCuenta=0
store 0.00 to saldo,total
Descuento=0.034 && descuento recibido por la cuenta
clear
@ 5,6 say "Ingrese número de cuenta: " Font "Celestial",14 Style "UB" color r/gr*
@ 7,6 say "Ingrese saldo de la cuenta: " Font "Celestial",14 Style "UI" color n/w
@ 5,80 get Ncuenta pict "99999999 " font "arial black",15 style "K"
@ 7,80 get saldo pict "999,999.99 " font "arial black",15 style "K"
read
total=saldo-(saldo*descuento)
@ 14,10 say "El saldo final de la cuenta es de: " font "Arial",20 style "u" color r+/w*
@ 13.5,95 say total font "book old style",25 style "b" color r+/w pict "Q999,999,999.99 "
wait window "Finalizar presionando cualquier tecla"
return
28
Expertos en Compu FOXPRO
* Nombre: Foxpro004.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere ingresar el nombre, la dirección
Note : el teléfono, y número de cédula de un empleado.
clear
@ 2,5 say "El Chinito, S.A." font "vivaldi",25 style "BI" color gr*/rg
@ 5,6 say "Ingrese Nombre : " Font "advert",14 Style "u" color b/g+
@ 7,6 say "Ingrese No. Cédula : " Font "advert",14 Style "u" color b/g+
@ 9,6 say "Ingrese Dirección : " Font "advert",14 Style "u" color b/g+
@ 11,6 say "Ingrese Teléfono : " Font "advert",14 Style "u" color b/g+
return
29
Expertos en Compu FOXPRO
*nombre: foxpro005.prg
*autor: Julio Penagos
*objetivo: Calcular el tiempo de llegada de un producto
set date french && comando que establece la fecha en días,mes,año
store 0 to fe,fll,t
store space(50) to np
fe= ctod (" / / ")
fll= ctod (" / / ")
clear
@3,10 say "programa que calcula la llegada de la mercadería"
@7,5 say "ingrese nombre del producto" font "arial",12 color B/rg
@7,40 say "ingrese fecha de envio" font "arial",12 color B/rg
@7,70 say "ingrese fecha de llegada" font "arial",12 color B/rg
@9,5 get np pict "@!" font "advert",12 style "k" color w/n
@9,40 get fe pict "99/99/9999 " && fecha de entrega
@9,70 get fll pict "99/99/9999 " && fecha de llegada
read
t=(fll-fe)
30
Expertos en Compu FOXPRO
Ejemplo 5
Utilizando variables de tipo fecha, numéricas
enteras, numéricas decimales, y cadena de
caracteres
Se requiere ingresar el nombre, la dirección, el teléfono,
colegiatura y número de carnet de un estudiante, ingresando la
fecha de nacimiento, y la fecha del día de hoy para poder calcular
la edad de esta persona
* Nombre: Foxpro006.prg
* Autor: Julio Penagos
Note : Objetivo: Se requiere ingresar el nombre, la dirección
Note : el teléfono, y número de carnet de un estudiante.
Note : ingresando la fecha de nacimiento y calcular la edad que tiene el estudiante.
set date french && asigna el tipo de ingreso de fecha dd/mm/aa
Store space(50) to nombre,Carrera
Store space(17) to telefono,carnet
store ctod (" / / ") to fechaini,fechafin
store 0 to edad
clear
@ 2,5 say "Keilita S.A." font "vivaldi",25 style "BI" color gr*/rg
@ 5,6 say "Ingrese Nombre : " Font "advert",14 Style "u" color w+/n+
@ 7,6 say "Ingrese Carnet : " Font "advert",14 Style "u" color w*/n+
@ 9,6 say "Ingrese Carrera : " Font "advert",14 Style "u" color w*/n
@ 11,6 say "Ingrese Teléfono : " Font "advert",14 Style "u" color w/n*
@ 13,6 say "Ingrese Fecha de nacimineto: " Font "advert",14 Style "u" color w+/n*
@ 15,6 say "Ingrese la fecha de hoy: " Font "advert",14 Style "u" color w*/n
@ 5,45 get nombre font "Times new roman",15 pict "@!"
@ 7,45 get carnet font "Times new roman",15 pict "999-99-999 "
@ 9,45 get carrera font "Times new roman",15 pict "@X"
@ 11,55 get telefono font "Times new roman",15 pict "9999999 "
@ 13,55 get fechaini font "Times new roman",15 pict "99/99/9999 "
@ 15,55 get fechafin font "Times new roman",15 pict "99/99/9999 "
read
edad=fechafin-fechaini
@ 18,6 say "La edad del estudiante en días es: " font "advert",14 Style "u" color b/g+
@ 18,75 say edad font "Times new roman",15 pict "99999 "
@ 21,6 say "La edad del estudiante en años es: " font "advert",14 Style "u" color b/g+
@ 21,75 say int(edad/365) font "Times new roman",15 pict "99999 "
wait window "Gracias por utilizar nuestro programa"
return
31
Expertos en Compu FOXPRO
Ejercicios
32
Expertos en Compu FOXPRO
33
Expertos en Compu FOXPRO
MENÚ
Hamburguesa Q.8.50
Hamburguesa con queso Q.9.50
Papas Fritas Q.5.50
Gaseosa Q.4.00
Malteadas Q.9.00
Pastelito Q.4.50
Helado Q.2.75
34
Expertos en Compu FOXPRO
LA CONDICIÓN IF-ENDIF
USO DE OPERADORES LÓGICOS
EJEMPLOS Y EJERCICIOS
Condición Simple
Sintaxis 1
IF <condición>
Instrucciones
Endif
35
Expertos en Compu FOXPRO
*Nombre: Foxpro007.prg
*Autor: Julio Penagos
*Calcular cuál de los dos números es mayor que el otro
store 0 to a,b
clear
if a>b
@ 15,15 say "el mayor es:" font “times new roman”,12
@ 15,35 say a font “times new roman”,12
@ 17,15 say "el menor es:" font “times new roman”,12
@ 17,35 say b font “times new roman”,12
endif
if b>a
@ 15,15 say "el mayor es:" font “times new roman”,12
@ 15,35 say b font “times new roman”,12
@ 17,15 say "el menor es:" font “times new roman”,12
@ 17,35 say a font “times new roman”,12
endif
Sintaxis 2
IF <condición>
Instrucciones (Verdaderas)
Else
Instrucciones (Falsas)
Endif
36
Expertos en Compu FOXPRO
*Nombre: Foxpro008.prg
*Autor: Julio Penagos
*Calcular cuál de los dos numeros es mayor que el otro, usando ELSE
store 0 to a,b
clear
@ 5,40 say "Mayor o Menor" font "Showcard gothic",30 color b++/w*
@ 9,10 say "Primer numero: " font "arial",10 color b/w* get a style "B"
@ 11,10 say "Segundo Numero: " font "arial",10 color b/w* get b style "B"
read
if a>b
@ 15,15 say "el mayor es:"
@ 15,35 say a
@ 17,15 say "el menor es:"
@ 17,35 say b
Else
@ 15,15 say "el mayor es:"
@ 15,35 say b
@ 17,15 say "el menor es:"
@ 17,35 say a
endif
wait window "Enter to Exit"
return
Comandos de FoxPro
37
Expertos en Compu FOXPRO
Niv=”Primario”
@ 15,20 say “Nivel:” get Niv Picture “@^ Primario,Básico” Size 2,15
Read
store 0 to semestre
store space(50) to nombre,titulo
clear
@ 5,5 say "Nombre del Estudiante: "
@ 7,5 say "Titulo:"
@ 9,5 say "Semestre: "
carrera="Licenciatura"
38
Expertos en Compu FOXPRO
@ 15,15 say "Está allí solo por hoby" Font "Celestial",20
endif
Ejercicios
39
Expertos en Compu FOXPRO
Condición Compuesta
Sintaxis
40
Expertos en Compu FOXPRO
Clear
comportamiento="Bueno"
@ 5,35 get sueldo pict "Q 999,999.99 " font "arial",14 style "b"
@ 7,35 get añotrab spinner 2,2,10 font "Times new roman",15
@ 9,35 get comportamiento picture "@^ Bueno,Regular,Malo" size 3,30 style "b" font
"arial",10
read
liquido=sueldo*añotrab
@ 12,35 say "El salario líquido a recibir es de:" font "arial black",14
@ 12,100 say liquido picture "Q 999,999.99" style "b" font "arial",20 color r/w*
41
Expertos en Compu FOXPRO
if (comportamiento="Bueno") .and. (añotrab=10)
@ 15,15 say "Recontratado" font "Mistral",20
endif
Sintaxis
42
Expertos en Compu FOXPRO
*nombre: Foxpro011.prg
*autor: Julio Penagos
*objetivo: Verificar si una persona puede trabajar de acuerdo a su edad
salud="Estable"
store 0 to edad
clear
@ 5,40 say "Quienes pueden trabajar?" font "Showcard gothic",30 color b++/w*
@ 9,10 say "Ingrese Edad:" font "arial",10 color b/w* get edad
@ 11,10 say "Estado de Salud" get salud picture "@^ Estable,Inestable" size 2,15
read
if ((edad>=18).and.(edad<=65)).or.(salud="Estable")
@ 15,15 say "Puede trabajar"
else
@ 15,15 say "Prohíbido mover un pie"
endif
wait window "Enter para salir"
return
*nombre: Foxpro012.prg
*autor: Julio Penagos
*objetivo: Utilización del operador NOT
store 0 to c1,c2,c3,c5
store 0.00 to prome
43
Expertos en Compu FOXPRO
clear
@5,10 say "CURSO DE COMPUTACIÓN"
@7,10 say "Primer Bimestre" get c1
@9,10 say "segundo Bimestre" get c2
@11,10 say "tercer Bimestre" get c3
read
prome=(c1+c2+c3)/3
@11,10 say "el promedio es:"
@13,10 say prome
if .not.(prome>=90)
@ 22,20 say "Debe evaluarse"
else
@ 22,20 say "Exonerado"
endif
wait windows "salir del programa"
return
Ejercicios
44
Expertos en Compu FOXPRO
45
Expertos en Compu FOXPRO
46
Expertos en Compu FOXPRO
LA CONDICIÓN DO CASE
PROMPT, FUNCTION
EJEMPLOS Y EJERCICIOS
COMANDOS NUEVOS:
Do Case- Endcase
Sintaxis 1
Do Case
Case <Variable> = 1
Instrucciones
Case <Variable> = 2
Instrucciones
47
Expertos en Compu FOXPRO
Case <Variable> = 3
Instrucciones
Case <Variable> = 4
Instrucciones
Otherwise
Despliegue de Mensaje
EndCase
* Programa: Foxpro013.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo de cómo utilizar el Do case
store 0 to a,b,op
store 0.00 to c
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 7,5 say " 1. Suma " font "arial",15 color b/w*
@ 9,5 say " 2. Resta " font "arial",15 color b/w*
@ 11,5 say " 3. Multiplicación " font "arial",15 color b/w*
@ 13,5 say " 4. División " font "arial",15 color b/w*
Do Case
48
Expertos en Compu FOXPRO
Case op=1
@ 20,10 say "Primer Número" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
24,50 get b font "arial",20 Read
c=a+b
@ 24,90 say c font "arial black",20 color gr*+/n
Case op=2
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
read
c=a-b
@ 24,90 say c font "arial black",20 color gr*+/n
Case op=3
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
read
c=a*b
@ 24,90 say c font "arial black",20 color gr*+/n
Case op=4
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20
@ 20,90 say "Resultado" font "vivaldi",20
@ 24,10 get a font "arial",20
@ 24,50 get b font "arial",20
Read
c=a/b
@ 24,90 say c font "arial black",20 color gr*+/n
Otherwise
wait window "su opcion no existe"
endcase
49
Expertos en Compu FOXPRO
Comandos de FoxPro
Sintaxis
@ 5,20 prompt “1. Ingreso”
@ 7,20 prompt “2. Consulta”
@ 9,20 prompt “3. Salida”
Menu to op
Do case
Case op=1
Instrucciones
Case op = 2
Instrucciones
50
Expertos en Compu FOXPRO
Botones de Radio
Horizontal *RH
Sintaxis
Store 1 to op
@ 5,20 get op Function “*rh Ingreso;Impresión;Salida”
Read Cycle
* Programa: Foxpro014.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo del comando FUNCTION con botones de radio
horizontal
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
Do Case
Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20….
51
Expertos en Compu FOXPRO
Vertical *RV
Sintaxis
Store 1 to op
@ 5,20 get op Function “*rv Ingreso;Impresión;Salida”
Read Cycle
* Programa: Foxpro015.prg
* Autor: Julio Penagos
* Objetivo: Ejemplo del comando FUNCTION con botones de radio vertical
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
Do Case
Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20….
52
Expertos en Compu FOXPRO
Botones de Presión
Horizontal *pH
Sintaxis
Store 1 to op
@ 5,20 get op Function “*ph Ingreso;Impresión;Salida”
Read Cycle
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*ph SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial
black",20
read cycle
Do Case
Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20…
53
Expertos en Compu FOXPRO
Vertical *pV
Sintaxis
Store 1 to op
@ 5,20 get op Function “*pV Ingreso;Impresión;Salida”
Read Cycle
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*pv SUMA;RESTA;MULTIPLICACIÓN;DIVISIÓN " font "arial
black",20
read cycle
Do Case
Case op=1
@ 20,10 say "Primer Numero" font "vivaldi",20
@ 20,50 say "Segundo Numero" font "vivaldi",20…
54
Expertos en Compu FOXPRO
Los botones del menú se presentarán de la siguiente forma: ya sea el
horizontal ó el vertical.
Sintaxis:
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial black",20 color r/w*
@ 8,3 get op Function "*pv
<SUMA;RES\<TA;MULTIPLI\<CACIÓN;DI\<VISIÓN”; Size 2,25
read cycle
55
Expertos en Compu FOXPRO
Observa que se encuentra subrayada la letra que se encuentra después de
los símbolos “\<” que utilizamos para en la sintaxis del programa. Esto
permitirá que presiones esa letra del teclado y automáticamente ingresará a
la serie de instrucciones de esa opción.
Ejemplo:
* Programa: Foxpro017a.prg
* Autor: Julio Penagos
* Onjetivo: Ejemplo del comando FUNCTION botones con incono
store 0 to a,b
store 0.00 to c
op=1
clear
@ 3,20 say "Operaciones Matemáticas Básicas" font "arial",20 color r/w*
Las imágenes pueden tener diferente extensión: Verifique que extensión es la imagen que se
quiere colocar en el botón. Las más utilizadas son: JPG, BMP, GIF.
56
Expertos en Compu FOXPRO
Ejercicios
Instrucciones Generales: Los siguientes programas elaborarlos con Do case, utilizando los
comandos PROMPT, FUNCTION (botones Radio y de Presión (Letras, Iconos)) vertical,
horizontal. Dependiendo lo que se indique al principio de cada programa.
Menú de Inscripción
Primer Ingreso
Reingreso
57
Expertos en Compu FOXPRO
Maternidad (Q.3000.00 por cesárea más Q.150.00 por día interno)
4. Salida
MENÚ
R ojo
A zul
V erde
C eleste
58
Expertos en Compu FOXPRO
Menú
Jugador 1)
Jugador 2
Jugador) 3
CONTADORES Y ACUMULADORES
Ejemplo Contador:
A=A+1 C=C+5
Ejemplo Acumulador:
PROYECTO EN GRUPO
59
Expertos en Compu FOXPRO
Elabore un menú utilizando Do Case y que permita ir eligiendo por medio de botones o
ingresando un número para elegir la opción de salida. Si elige la opción 1 deberá aparecer el
formato de planilla de los trabajadores. Siga las instrucciones del Catedrático para elaborar
el programa.
Menú Principal
1. Salario Líquido
2. Salida
Elija Opción:
Total de empleados: 3
Salario Líquido N
Q. 0.00 a Q. 2,500.00 2
Q. 2,500.01 a Q. 5,000.00 1
Q. 5.000.01 en adelante 0
El programa deberá cada vez que ingrese un número registro del alumno desplegar el número de
registro que le corresponde. Al finalizar el programa deberá desplegar Cuantos trabajadores
deben pagar Isr y cuantos no deben pagar. Además desplegar una estadística de cuántas
personas ganan entre Q. 0.00 a Q. 2,500.00, cuántas ganan entre Q.2,500.01 a Q. 5,000.00 y
cuántas ganar de Q. 5,000.01 en adelante.
El despliegue según se encuentra en el cuadro de arriba. Y DESPLEGAR EL TOTAL DE LAS
PERSONAS INGRESADAS, (donde dice total de empleados) .
60
Expertos en Compu FOXPRO
Sintaxis
61
Expertos en Compu FOXPRO
s=0.00
store 0 to a,X
clear
for X=1 to 10 Inicio del Ciclo For, Limpia pantalla dentro del ciclo
clear
a=0
s=0.00 Declaración de variables para borrar espacio en cada ingreso
@ 2,100 say "Ingreso No. " Despliegue del ciclo, conocer posición del ciclo
@ 2,112 say X pict "99 " style "BI"
s=(a*3)+750-(0.0483*750)+(0.013**750)
@ 19,45 say "El sueldo es de:" font "eras bold itc",20 color gr*/w* style "b"
@ 22,49 say s font "castellar",20 pict "Q 9,999,999.99"
62
Expertos en Compu FOXPRO
for X=1 to 10 Inicio del Ciclo For, Limpia pantalla dentro del ciclo
clear
A=0
S=0.00 Declaración de variables para borrar espacio en cada ingreso
@ 2,100 say "Ingreso No. " Despliegue del ciclo, conocer posición del ciclo
@ 2,112 say X pict "99 " style "BI"
* Fin del despliegue del ciclo
S=(A*3)+750-(0.0483*750)+(0.013**750)
@ 19,45 say "El sueldo es de:" font "eras bold itc",20 color gr*/w* style "b"
@ 22,49 say s font "castellar",20 pict "Q 9,999,999.99"
* fin de las instrucciones del programa
total=total+s
@ 25,2 say "El total de dinero a cancelar es de:" font "arial black",15 style "b" color b/w*
@ 25,90 say total pict "Q 999,999,999.99 " font "arial black",20 style "b" color b+/w*
63
Expertos en Compu FOXPRO
Comandos de FoxPro
Comando Descripción y Sintaxis
Replicate Este comando permite ingresar desplegar un carácter
el número de veces que se indique en su sintaxis, este
comando le permitirá realizar líneas por ejemplo, sin
necesidad de utilizar el ciclo for.
@ 15,20
Columna 1C
18
80
64
Expertos en Compu FOXPRO
Comandos de FoxPro
65
Expertos en Compu FOXPRO
66
Expertos en Compu FOXPRO
* Nombre: Foxpro021.prg
* Autor: Julio Penagos
* Objetivo: Uso de contadores manuales, box, fill,for
store 0.00 to activo,pasivo,capital,tota,totp,totca
store space(22) to empresa
clear
@ 0,0 fill to 35,50 color b/b
@ 1,65 say " Capitales de Empresas " font "arial",25 color w*++,b
@ 4,60,7,130 box
@ 7,60,15,130 box
@ 5.5,62 say "Empresa"
@ 5.5,90 say "Activo"
@ 5.5,103 say "Pasivo"
@ 5.5,120 say "Capital"
@ 4,85,15,100 box
@ 4,115,15,130 box
for x = 1 to 5
store 0.00 to activo,pasivo,capital
store space(22) to empresa
@ 7+x,61 get empresa
@ 7+x,85.5 get activo pict "Q 999,999.99 "
@ 7+x,101.5 get pasivo pict "Q 999,999.99 "
read
capital=activo - pasivo
@ 7+x,116 say capital pict "Q 999,999,999.99"
tota = tota + activo
totp = totp + pasivo
totca = totca + capital
@ 17.5,60 say "Totales" font "arial black",15
@ 18,80 say tota pict "Q 999,999,999.99 "
@ 18,98 say totp pict "Q 999,999,999.99 "
@ 18,115 say totca pict "Q 999,999,999.99 "
endfor
wait window “enter para salir”
return
67
Expertos en Compu FOXPRO
* Nombre: Foxpro022.prg
* Autor: Julio Penagos
* Objetivo: Series numéricos con el ciclo for.
store 0 to a,n,x
clear
for x= 1 to 10
A=A*x+n
@ 5+x,25 say A
n=x
endfor
wait
return
68
Expertos en Compu FOXPRO
Ejercicios
Para los siguientes programas utilizar el ciclo for, los comandos box,
bitmap, fill to color, replicate. Dependiendo del enunciado del programa.
69
Expertos en Compu FOXPRO
70
Expertos en Compu FOXPRO
Do While - Enddo
Este comando ejecuta un ciclo repetitivo un número de veces indefinido por el
programador. Ejecuta un conjunto de instrucciones hasta que el bucle no cumpla con la
condición, continuando con la siguiente instrucción hasta llegar al comando Enddo.
71
Expertos en Compu FOXPRO
72
Expertos en Compu FOXPRO
@ 18,98 say totp pict "999,999,999.99 "
@ 18,115 say totca pict "999,999,999.99 "
endfor
case op = 2
do “foxpro022.prg”
case op = 3
exit
endcase
Enddo
return
Comandos de FoxPro
Aceptar 0
Aceptar y Cancelar 1
Anular,Reintentar, Omitir 2
Si,No,Cancelar 3
Si,No 4
Reintentar,Cancelar 5
Despliegue de Iconos
Icono #
Icono de información 64
Icono signo de Admiración 48
Icono signo de Interrogación 32
Icono señal de Alto 16
73
Expertos en Compu FOXPRO
Botón Activado #
Primer Botón 0
Segundo Botón 256
Tercer Botón 512
74
Expertos en Compu FOXPRO
m=0
x=0
clear
Do while x <> 7
x=messagebox("Aprobará el curso ",4+32+0,"Pregunta Básica")
if x=6
@ 15,15 say "Felicitaciones, su respuesta es correcta" font "arial",20
read
else
@ 15,15 say "No se desanime, todavía le queda una oportunidad" font "arial",20
read
endif
clear
enddo
Ejercicios
75
Expertos en Compu FOXPRO
76
Expertos en Compu FOXPRO
DEFINICIONES
CREACIÓN DE TABLAS
CONEXIÓN DE TABLAS Y PROGRAMAS
Base de Datos
77
Expertos en Compu FOXPRO
ºUna tabla está formada por campos y registros, lo que permiten hacer
uso de Base de Datos.
Ejemplo:
CAMPOS
ALUMNO GRADO SECCIÓN
78
Expertos en Compu FOXPRO
79
Expertos en Compu FOXPRO
80
Expertos en Compu FOXPRO
81
Expertos en Compu FOXPRO
82
Expertos en Compu FOXPRO
Comando Descripción
83
Expertos en Compu FOXPRO
EJEMPLO 25.
* Nombre: foxpro025.prg
* Autor: Julio Penagos
* Objetivo: El uso de una tabla.
USE "BASE1.DBF"
clear
set color to n/w*
@ 2,5 say "El Chinito, S.A." font "vivaldi",25 style "BI" color gr*/rg
@ 5,6 say "Ingrese Nombre: " font"advert",14 style "u" color b/g+
@ 7,6 say "Ingrese No. Cedula: " font"advert",14 style "u" color b/g+
@ 9,6 say "Ingrese Direccion: " font"advert",14 style "u" color b/g+
@ 11,6 say "Ingrese Telefono: " font"advert",14 style "u" color b/g+
@ 5,45 get nom font "times nex roman",15 pict "@!"
@ 7,45 get ced font "times nex roman",15 pict "A9-999999 "
@ 9,45 get dir font "times nex roman",15 pict "@X"
@ 11,45 get tel font "times nex roman",15 pict "9999999 "
read
APPEND BLANK
REPLACE N WITH NOM
REPLACE C WITH CED
REPLACE D WITH DIR
REPLACE T WITH TEL
84
Expertos en Compu FOXPRO
Ejercicios
CUESTIONARIO
Contesta correctamente las siguientes preguntas utilizando
lapicero de tinta color negro o azul.
¿Qué es un registro?
¿Qué es un campo?
85
Expertos en Compu FOXPRO
Graba una tabla de los que ganaron y en otra tabla los que
perdieron de acuerdo al cálculo que se realice. Pregunta si está
seguro de salir del programa o si desea otro ingreso.
86