Submodulo III : Elaborar sistemas de información mediante un
lenguaje de programación visual
Comandos de visual FoxPro
Create: Crea una nueva tabla de Visual FoxPro.
Close data base: cierra una base de datos.
List: Muestra continuamente información de tabla o de entorno.
Cancel: Finaliza la ejecución del archivo de programa actual de Visual FoxPro.
Append: Agrega uno o más registros nuevos al final de una tabla.
Close All: cierra la base de datos activa y todas sus tablas.
Clear: Libera de la memoria el elemento o los elementos especificados.
Store: Almacena datos en una variable, en una matriz o en un elemento de matriz.
Use: Abre una tabla y sus archivos de índice asociados, o una vista SQL.
Index: Crea un archivo de índice para mostrar registros de tabla y tener acceso a los mismos en un orden lógico.
Sort: Ordena los registros de la tabla seleccionada actualmente y envía los registros ordenados a una tabla nueva.
Browse: Abre la ventana Examinar y muestra los registros de la tabla actual o seleccionada.
CREATE (Comando)
Crea una nueva tabla de Visual FoxPro.
Especifica el nombre de la tabla que desea crear.
Presenta el cuadro de diálogo Crear, que le pide el nombre para la tabla que se va a crear.
Especifica el nombre de la tabla que desea crear.
Presenta el cuadro de diálogo Crear, que le pide el nombre para la tabla que se va a crear.
CLOSE (Comandos)
Cierra todas las bases de datos, tablas e índices abiertos en la sesión de datos actual y en todas las sesiones de datos inactivas y selecciona el área de trabajo 1. CLOSE ALL también cierra los archivos abiertos con las funciones de archivo de bajo nivel FCREATE ( ) y FOPEN ( ). CLOSE ALL no cierra un archivo abierto con SET PRINT.
CLOSE ALL también cierra lo siguiente:
Diseñador de formularios
Administrador de proyectos
Diseñador de etiquetas
Diseñador de informes
Diseñador de consultas
CLOSE ALL no cierra lo siguiente:
Administrador de proyectos
Diseñador de etiquetas
Diseñador de informes
Diseñador de consultas
CLOSE ALL no cierra lo siguiente:
La ventana Comandos
La ventana Depuración
Ayuda
La ventana Seguimiento
CLOSE DATABASES [ALL]
Cierra la base de datos actual de la sesión de datos actual, así como sus tablas. Si no hay ninguna base de datos activa, se cierran todas las tablas libres, los índices y los archivos de formato abiertos en todas las áreas de trabajo y se selecciona el área de trabajo 1.
ALL
Especifica que, en la sesión de datos actual y en todas las sesiones de datos inactivas, se cierre lo siguiente:
· Todas las bases de datos abiertas y sus tablas.
· Todas las tablas libres abiertas.
· Todos los índices y archivos de formato de todas las áreas de trabajo.
La ventana Depuración
Ayuda
La ventana Seguimiento
CLOSE DATABASES [ALL]
Cierra la base de datos actual de la sesión de datos actual, así como sus tablas. Si no hay ninguna base de datos activa, se cierran todas las tablas libres, los índices y los archivos de formato abiertos en todas las áreas de trabajo y se selecciona el área de trabajo 1.
ALL
Especifica que, en la sesión de datos actual y en todas las sesiones de datos inactivas, se cierre lo siguiente:
· Todas las bases de datos abiertas y sus tablas.
· Todas las tablas libres abiertas.
· Todos los índices y archivos de formato de todas las áreas de trabajo.
LIST (Comandos)
El alcance predeterminado de LIST es ALL (todos los
registros).
LIST no le avisa después de llenar con información la
ventana principal de Microsoft Visual FoxPro o una ventana definida por el
usuario.
LIST no muestra los registros marcados para su eliminación
cuando SET DELETED esté establecido en ON.
Modify structure: Muestra el Diseñador de tablas, que permite modificar la estructura de una tabla.
ejemplo: DISPLAY STRUCTURE [IN nWorkArea | cTableAlias]
[TO PRINTER [PROMPT] | TO FILE FileName] [NOCONSOLE]
Modify command: Abre una ventana de edición de texto y le permite modificar o crear un archivo de programa.
ejemplo: MODIFY COMMAND [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]
[RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME]
[SAVE]
Delete: Marca los registros que se van a eliminar.
ejemplo: DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias] [NOOPTIMIZE]
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.
zap: Elimina todos los registros de la tabla actual y deja sólo la estructura de la tabla
ejemplo: ZAP [IN nWorkArea | cTableAlias]
pack: Borra definitivamente todos los registros marcados para eliminar de la tabla actual y reduce el tamaño de un archivo memo asociado a la tabla.
ejemplo:PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]
locate: Busca secuencialmente en la tabla el primer registro que coincida con la expresión lógica especificada.
ejemplo:LOCATE [FOR lExpression1] [Scope] [WHILE] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
go top:Sitúa el puntero de registro en el primer registro de la tabla.
go bottom: Sitúa el puntero de registro en el último registro de la tabla.
Modify structure: Muestra el Diseñador de tablas, que permite modificar la estructura de una tabla.
ejemplo: DISPLAY STRUCTURE [IN nWorkArea | cTableAlias]
[TO PRINTER [PROMPT] | TO FILE FileName] [NOCONSOLE]
Modify command: Abre una ventana de edición de texto y le permite modificar o crear un archivo de programa.
ejemplo: MODIFY COMMAND [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]
[RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
[IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME]
[SAVE]
Delete: Marca los registros que se van a eliminar.
ejemplo: DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias] [NOOPTIMIZE]
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.
zap: Elimina todos los registros de la tabla actual y deja sólo la estructura de la tabla
ejemplo: ZAP [IN nWorkArea | cTableAlias]
pack: Borra definitivamente todos los registros marcados para eliminar de la tabla actual y reduce el tamaño de un archivo memo asociado a la tabla.
ejemplo:PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]
locate: Busca secuencialmente en la tabla el primer registro que coincida con la expresión lógica especificada.
ejemplo:LOCATE [FOR lExpression1] [Scope] [WHILE] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
go top:Sitúa el puntero de registro en el primer registro de la tabla.
go bottom: Sitúa el puntero de registro en el último registro de la tabla.
1.- En este primer ejercicio vamos a escribir un programa
que lea tres números y determine el numero mayor el numero central y el
numero menor. Debemos asumir que los tres números son siempre distintos.
Close ALL
Clear
?"PROGRAMADOR: Christian J. Heredia M."
?""
Input "INTRODUCA EL VALOR DE A" TO nA
Input "INTRODUSCA EL VALOR DE B" TO nB
Input "INTRODUSCA EL VALOR DE C" TO nC
IF nA > nB Then
nMay = nA
nMen = nB
Else
nMay = nB
nMen = nA
Endif
IF nC > nMay Then
nCen = nMay
nMay = nC
Else
IF nC > nMen Then
nCen = nC
Else
nCen = nMen
nMen = nC
endif
Endif
? "MAYOR =" + STR(nMay)
? "CENTRAL =" + STR(nCen)
? "MENOR =" + STR(nMen)
Clear
?"PROGRAMADOR: Christian J. Heredia M."
?""
Input "INTRODUCA EL VALOR DE A" TO nA
Input "INTRODUSCA EL VALOR DE B" TO nB
Input "INTRODUSCA EL VALOR DE C" TO nC
IF nA > nB Then
nMay = nA
nMen = nB
Else
nMay = nB
nMen = nA
Endif
IF nC > nMay Then
nCen = nMay
nMay = nC
Else
IF nC > nMen Then
nCen = nC
Else
nCen = nMen
nMen = nC
endif
Endif
? "MAYOR =" + STR(nMay)
? "CENTRAL =" + STR(nCen)
? "MENOR =" + STR(nMen)
Un restaurante ofrece un descuento del 10%para consumos
mayores $30.00 y $50.00; un descuento del 20% para consumos mayores de $50.00;
para todos los demás no se aplica ningún tipo de descuento.
El ejercicio consiste en elaborar un programa que permite determinar
el importe a pagar por consumidor .
close all
clear
?"PROGRAMADOR: Christian j. Heredia M."
?""
do while .T.
input "consumo:" to nconsumo
if type ("nconsumo") = "N"
exit
endif
enddo
do case
case nconsumo >=30 and nconsumo <=50
nimporte = nconsumo * 0.9
case nconsumo >50
nimporte = nconsumo * 0.8
otherwise
nimporte = nconsumo
endcase
? "importe a pagar :" + str(nimporte)
3.- El ejercicio consiste en escribir un programa que lea
"n" enteros y calcule la suma total, la media aritmética,
el máximo y el mínimo de los datos.
Close all
Clear
?"PROGRAMADOR: Christian J. Heredia M."
?""
input "ingrese cantidad de numeros" to nN
declare avector (nN)
for nI = 1 to nN
input "numero [" + str(nI) +"]?" to
avector (nI)
next
nmax = avector [1]
nmin = avector [1]
nsuma =0
for nI = 1 to nN
nsuma = nsuma + avector [nI]
if avector [nI] > nmax then
nmax = avector(nI)
endif
if avector [nI] > nmin then
nmin = avector(nI)
endif
next
nmedia = nsuma /nN
?"suma = " + str(nsuma)
?"media = " + str(nmedia,10,2)
?"maximo = " + str(nmax)
?"minimo = " + str(nmin)
4.- A continuación vamos a escribir una función que reciba
como argumento de entrada una cadena de caracteres y la devuelva en forma
inversa, Por ejemplo si ingresa la cadena CORAZÓN deberá retornar NOZAROC.
close all
clear
?"PROGRAMADOR: Christian J. Heredia M."
?""
accept "ingrese una cadena?" to ccadena
? "cadena invertida =" + cadinv(ccadena)
function cadinv
parameters ccadena
nN = len (alltrim(ccadena))
declare ctemporal (nN)
for nI = 1 to nN
ctemporal (nI) = substr(ccadena,nI,1)
next
cinvertida =""
for nJ= nN TO 1 STEP -1
cinvertida = cinvertida + ctemporal(nJ)
next J
return cinvertida