Cuando se asigna el nombre al archivo, el Dbase lo incorpora al directorio y le asigna la extensión .DBF
La estructura de una base de datos consta de la definición de cada uno de los campos que compone el registro. Al dar la orden CREATE aparece un formato en el cual se escribe cada campo y su naturaleza. Ejemplo:
.CREATE NOMINA < enter>
Los tipos de datos o campos son:
Caracter
Numérico
Fecha
Logico
Memo
Guardar los cambios con
^ + W
ó
^ + FIN
En esta pantalla es donde podemos emp
Empezar a capturar los registros en la base de datos nomina.dbf al terminar, no se olvide de guardar los cambios con ^w ó ^fin.
Cuando deseamos trabajar con una base de datos que ya ha sido creada previamente, es necesario abrirla o activarla, y si después necesitamos trabajar con otra, hay que cerrar la primera y abrir la segunda, esto se hace con la orden USE, y su formato es el siguiente:
.USE NOM_BASE < enter> (————– Para abrir
.USE < enter> (————– Para cerrar
Con la orden APPEND es posible adicionar más registros en una base de datos previamente cerrada.
Modificar una estructura de base de datos.
Para hacer cambios en la estructura se da la orden MODIFY STRUCTURE y su formato es:
.USE BASE < enter>
.MODI STRU < enter>
Una vez hechos los cambios se guarda nuevamente con ^w ó ^Fin.
Nota:
Antes de salir del Dbase hay que guardar todo con:
.USE
.CLOSE ALL
.CLEAR ALL
.CLOSE DATABASES
.QUIT (salir de Dbase)
Abrir mas de una base de datos.
A veces es necesario abrir mas de una base de datos, para ello se usa la siguiente orden:
.SELECT 1 < enter>
.USE NOM_1 < enter>
.SELECT 2 < enter>
.USE NOM_2 < enter>
..
Renombrar archivos.
Para cambiar el nombre de un archivo se usa la orden RENAME, y su formato es el siguiente:
.RENAME NOM_VJO TO NOM_NVO < enter>
Modificar el contenido de un registro.
Para hacer cambios en los datos de un registro específico se usa EDIT RECORD, y su formato es el siguiente:
.USE NOM_BASE < enter>
.EDIT RECO #REG < enter>
Donde #REG es el número de registro a modificar.
Listar contenidos.
Para listar se usa la orden LIST y se puede combinar de diferentes maneras:
LIST lista todos los registros del archivo.
LIST CAMPO, CAMPO lista con selección de campo.
LIST CAMPO FOR CONDICIÓN lista los registros seleccionados.
LIST OFF suprime el # de registro durante el listado.
LIST STATUS lista el estado del sistema.
LIST STRUC lista la estructura de la base de datos.
LIST FILE lista todos los archivos con extensión *.DBF
LIST FILE LIKE *.* lista todos los archivos .
DIR *.* lista todos los archivos.
DISPALY despliega en pantalla el registro donde se
encuentra el apuntador.
Extensiones del Dbase.
EXT | DESCRIPCION | ||||||||
.DBF | Archivo de base de datos. | ||||||||
.PRG | |||||||||
.FMT | Archivo de formato de pantalla. | ||||||||
.FRM | Archivo de formulario para generar reporte. | ||||||||
.NDX | Archivo de índice. Contiene las claves y el # de registro. | ||||||||
.TXT | Archivo de texto. | ||||||||
.BAK | Archivo histórico o de respaldo. | ||||||||
.CAT | Archivo de catálogo. |
Localizar Informacion.
La base de datos contiene un apuntador el cual se encuentra en el primer registro al abrir una base de datos.
Para mover el apuntador a un registro deseado y localizarlo, existen dos formas de hacerlo:
1. La orden SKIP que se usa de tres maneras:
SKIP < enter> (———- Avanza un registro en la base de datos.
SKIP + (#) < enter> (———- Avanza varios registros.
SKIP – (#) < enter> (———- Retrocede varios registros.
2. La orden GOTO que se usa de tres maneras:
GOTO # < enter> (——— Para localizar un registro específico.
GOTO TOP < enter> (——— Se ubica en el primer registro.
GOTO BOTTOM < enter> (——— Se ubica en el último registro.
Dar de baja y borrar registros.
Existen dos formas para borrar archivos:
1: Borrado Lógico. Implica insertar un asterisco (*) al registro, esto se logra con el comando DELETE RECORD #reg. Ejemplo:
.DELETE RECORD 8 < enter> (—- Borra el registro número ocho
2: Borrado Físico. Implica borrar el registro que tenga un asterisco (*), es decir de manera lógica. Para ello utilizamos el comando PACK y su sintaxis es la siguiente:
.PACK < enter>
Buscar Registro por el contenido de un campo.
Nota:El registro que ha sido borrado lógicamente puede ser recuperado mediante el comando RECALL RECORD #. Ejemplo:
.RECALL RECORD 8 < enter> (—– Recupera el registro número ocho
El registro que ha sido borrado físicamente, ya no podrá ser recuperado.
Los registros también pueden ser localizados buscando el contenido que existe en un campo específico. La orden que se usa es LOCATE FOR CONDICION. Ejemplo:
.LOCATE FOR NUM_CTA = 36721 < enter>
.LOCATE FOR NOM_CTE = "RAUL ROBLES" < enter>
Borrar un archivo del directorio.
Para borrar un archivo incorporado al directorio del Dbase se usa la orden DELETE FILE. Ejemplo:
.DELETE FILE NOM_ARCH < enter>
Clasificar los registros de un archivo.
Para clasificar los archivos de un registro usamos la orden SORT y su formato es:
.SORT ON (CAMPO_CTRL) TO (NOM_ARCH_NVO) < enter>
Ejemplo:
.USE NOMINA
.SORT ON NOM_EMP TO NOMINA2
.USE
.USE NOMINA2
.LIST
.USE
.!DEL NOMINA.DBF
Copiar todo o parte del archivo.
La orden que se usa para hacer una copia de un archivo de datos es COPY. Para usarla, debemos activar el archivo a copiar. Esta orden copia estructura y registros, su formato es:
.COPY TO NOM_NVO < enter>
A veces es conveniente copiar solo unos campos del archivo, para ello se usa la orden:
.COPY TO NOM_NVO FIELDS CAMPO,CAMPO, ETC…
En ocasiones sólo se necesita copiar algunos registros que cumplan ciertos requisitos de solo algunos campos. Para ello usamos la orden:
.COPY TO NOM_NVO FIELDS CAMPO,CAMPO FOR CONDICIÓN
Si se desea copiar únicamente la estructura pero no los registros, se debe usar la orden:
.COPY STRUCTURE TO NOM_NVO
Si deseamos copiar un archivo en otro respetando los registros que ya tenía utilizamos la orden:
.APPEND FROM (NOM_ARCH)
Creación de un archivo de indice.
Para poder trabajar de forma indexada el Dbase crea un archivo de índice basado en un archivo de datos.
En el archivo de índice existirán apuntadores que señalarán en que dirección de la base de datos se localiza. Este archivo de índice aparece separado de la base de datos y tiene una extensión .NDX
Para crear un archivo de índice, primero debe de determinarse cual campo del registro servirá de control para generar el índice. Éste campo de control constituirá la llave para la búsqueda de los registros.
Si el campo de control es de naturaleza numérica los registros se ordenarán de forma ascendente, del uno al infinito, y si es alfabético, de la A a la Z.
Para indexar un archivo se debe activar la base, su formato es:
.INDEX ON CAMPO_CTRL. TO NOM_NVO < enter>
Ejemplo:
.USE NOMINA < enter>
.INDEX ON NOMINA NUM_EMP TO NOMINA < enter>
.USE < enter>
.CLOSE ALL < enter>
.USE NOM_ARCH < enter>
.SET INDEX TO NOM_ARCH < enter>
.SET INDEX < enter>
Busqueda de datos en archivos indexados.
Para hacer búsqueda en archivos indexados se usan dos órdenes:
1. FIND. Su formato es:
.FIND (cadena de caracteres)
2. SEEK. Su formato es:
.SEEK (expresión)
Para poder utilizar estas órdenes deben estar activadas la base de datos y el archivo de índice. Ejemplos:
.USE BANCO
.SET INDEX TO BANCO
.FIND 37965
.SEEK NUM_CTA = 37965
.FIND "VICTORIA SUAREZ"
.SEEK NUM_CTA = "VICTORIA SUAREZ"
Inicializar variables de memoria y realizar calculos aritmeticos.
La orden STORE sirve para inicializar variables de memoria si el valor es alfanumérico deberá ir entre comillas y no así en caso de datos numéricos. Ejemplo:
.STORE 2001 TO AÑO < enter>
.STORE "MARIA" TO NOMBRE < enter>
Esta orden también se usa para operaciones aritméticas. Ejemplo:
.STORE VENTA – DESCTO TO PAGO_TOTAL
.STORE SDO_DIA * DTQ TO SDO_QUINC_BTO
Un programa es una secuencia de instrucciones que ejecuta una computadora para procesar datos. Cuando las órdenes del Dbase se usan en forma individual éstas se ejecutan en modo directo. Cuando todas las órdenes que se van a dar se escriben en secuencia para que las ejecute decimos que es un programa y las instrucciones se usan en modo indirecto.
El Dbase tiene una orientación estructurada permitiendo agrupar las instrucciones del programa en módulos, cada módulo debe ser elaborado para ejecutar cualquier procedimiento específico y poder decidir en que momento se va a trabajar. Cada módulo en sí es un programa pequeño ligado a uno a otro, generalmente existe un programa principal o de enlace y uno o más módulos. Al usar técnicas estructuradas, cada módulo puede ser manejado en forma independiente.
Los programas del Dbase pueden ser almacenados en archivo de disco y se ejecutan usando son transferidos a la memoria. Estos archivos se denominan archivos de comandos y tienen una extensión . PRG . Sus instrucciones deben ser capturadas mediante un editor de textos llamado MODIFY COMMAND y su formato es:
.MODI COMM (NOM_PRG) < enter>
Para poder ejecutar el programa se usa:
.DO NOM_PRG < enter>
Conmutadores SET ON/OFF.
Los conmutadores SET ON/OFF activan y desactivan ciertas funciones del administrador de base de datos.
Cuando cargamos el Dbase e iniciamos algún tipo de operación, algunos conmutadores se activan y desactivan. Para obtener información precisa sobre el estado de los conmutadores se utiliza:
.LIST STATUS < enter>
El operador puede cambiar el estado de esos conmutadores, sin embargo, cuando se cancela el Dbase, estos retornan a su estado defecto (DEFAULT).
.SET CONMUTADOR ON/OFF < enter>
SET ALTERNATE on/OFF
ON: begins recording output in the target text file.
OFF: stops recording and leaves the target text file open.
SET BELL ON / off
Activa el "beep" que el Dbase utiliza frecuentemente.
Desactiva el "beep".
SET CARRY on / OFF
ON: Permite arrastrar el contenido del último registro tecleado a uno nuevo.
OFF: Desactiva el arrastre del último registro.
SET CENTURY on / OFF
ON: Afecta al formato de los campos o expresiones de tipo fecha presentando el año de la misma con cuatro dígitos.
OFF: Presenta la fecha con el año en dos dígitos
SET CONFIRM on / OFF
ON: En modo edición, obliga a pulsar la tecla cuando el campo que estamos rellenando se completa.
OFF: El cursor pasa automáticamente al campo siguiente al completarse el campo actual.
SET CONSOLE ON / off
ON: Cuando las órdenes tipo LIST, REPORT, LABEL, etc. Se envían a la impresora, su ejecución se visualiza simultáneamente en la pantalla.
OFF: El envío de ejecución se envía solamente a la pantalla.
SET DEBUG on / OFF
ON: Envía la ejecución de la orden a la impresora cuando está activada la orden SET ECHO.
OFF: El envío de ejecución se envía solamente a la pantalla.
SET DELETED on / OFF
ON: Permite que se visualicen los registros marcados para borrar.
OFF: Los registros marcados para borrar aparentemente desaparecen de la base de datos para facilitar su consulta.
SET DOHISTORY on / OFF
ON: Captura órdenes ejecutadas de un archivo de programa en HISTORY.
OFF: No realiza la captura.
SET ECHO on / OFF
ON: Visualiza las órdenes cuando se procesan (generalmente se usa en modo programación).
OFF: No se visualizan las órdenes.
SET ENCRYPT on / OFF
ON: Codifica todos los archivos que fueron creados.
OFF: No codifica los arribos creados.
SET ESCAPE ON / off
ON: Permite que la ejecución de un programa se interrumpa pulsando la tecla .
OFF: Desactiva la tecla de durante la ejecución de programas.
SET EXACT on / OFF
ON: Requiere que las cadenas o expresiones en búsquedas o comparaciones sean exactamente iguales.
OFF: Permite que las cadenas de búsqueda no sean exactamente iguales.
SET FIXED on / OFF
ON: Muestra siempre en pantalla para números o expresiones numéricas los decimales especificados con SET DECIMAL TO.
OFF: Muestra en pantalla los decimales que cada número o expresión poseen.
SET HEADINGS ON / off
ON: Muestra los nombres de los campos de la base de datos en la cabecera de las órdenes LIST y DIPLAY, tanto en pantalla como en impresora.
OFF: No muestra los nombres de los campos en las cabeceras de los listados de pantalla o impresora.
SET HELP ON / off
ON: Aparece la pregunta, "¿Desea información de ayuda s/n?" como respuesta a un error de sintaxis en la ejecución de una orden. Una respuesta afirmativa a esta pregunta nos introduce en el entorno de ayuda.
OFF: No realiza la pregunta anterior a un error de sintaxis.
SET INTENSITY ON / off
ON: Muestra en vídeo inverso el tamaño de los campos a completar por el usuario en las órdenes de edición a pantalla completa (EDIT).
OFF: Desactiva el vídeo inverso en pantallas de edición.
SET MENU ON / off
ON: Muestra menús de ayuda en la parte superior de la pantalla en diferentes órdenes (EDIT, BROWSE, CRATE, etc.).
OFF: No aparecen menús de ayuda en la parte superior de la pantalla.
SET SAFETY ON / off
ON: Realiza una pregunta de confirmación como respuesta a órdenes de destrucción de archivos.
OFF: No realiza la pregunta de confirmación de destrucción de archivos.
SET SCOREBOARD ON / off
ON: Muestra mensajes de estado en la línea superior de la pantalla cuando la línea de estado está desactivada (SET STATUS OFF).
OFF: No muestra los mensajes en la línea superior.
SET STATUS ON / off
ON: Activa y presenta la última línea de la pantalla como línea de estado, indicando en ella datos como: unidad de trabajo, nombres de archivo en uso, estado de la tecla de intersección, marca lógica de borrado de registro, etc.
OFF: No presenta la última línea de la pantalla como línea de estado.
SET STEP on / OFF
ON: Detiene la ejecución de un programa escrito en dBASE III + orden a orden, generalmente para depurar su funcionamiento.
OFF: No detiene la ejecución de los programas.
SET TALK on / OFF
ON: Envía a la pantalla el resultado de la ejecución de cada orden. También se suele utilizar para depurar programas.
OFF: No envía a la pantalla el resultado de la ejecución de las órdenes.
SET TITLE ON / off
ON: Indica el título de un archivo cuando un catálogo está en uso.
OFF: No indica el título de los archivos cuando un catálogo está en uso.
SET UNIQUE on / OFF
ON: Incluye en los archivos índice solamente el primer registro de los que tengan el mismo valor en la clave de indexación.
OFF: Incluye en los archivos índice todos los registros de la base.
Instrucciones interactivas de programacion.
Para establecer comentarios en un programa se utiliza:
1. *
2. NOTE
Ejemplos:
*PROGRAMA PARA ALTA NOTE PROGRAMA PARA ALTA
*LLAMADO: ALTAS.PRG NOTE LLAMADO: ALTAS.PRG
*AUTOR: OSCAR BANDA NOTE AUTOR OSCAR BANDA
Borrar pantalla e inicializar memoria.
Para borrar pantalla se usa CLEAR; se puede utilizar con coordenadas para borrar ciertas líneas desde una posición específica. Ejemplo:
.CLEAR (———– Borra Pantalla
.@2,3 CLEAR (———— Borra a partir del renglón dos columna tres
.@8,1 CLEAR TO 20,70 (——- Borra a partir del renglón ocho columna
uno hasta el renglón veinte columna
setenta
Detener temporalmente el programa.
Para hacer una pausa en la ejecución de un programa se usa la orden WAIT y esta provoca hacer una espera para que el usuario pulse una tecla para continuar el proceso. Ejemplo:
*PROGRAMA PARA ALTA DE REGISTRO
*LLAMADO: ALTAS.PRG
CLEAR
TEXT
ESTE PROGRAMA DE ALTA A REGISTROS
PULSE PARA INICIAR…
ENDTEXT
SET CONSOLE OFF
WAIT
SET CONSOLE ON
Cerrar Archivos.
La orden CLOSE cierra todo tipo de archivos.
CLOSE DATABASES ——( Cierra archivos de datos (*.DBF)
CLOSE INDEX ——( Cierra archivos de índice (*.NDX)
CLOSE FORMAT ——( Cierra archivos de formato (*.FMT)
CLOSE ALL & CLEAR ALL ( Cierra todos los archivos y limpia memoria.
Introducir valores y almacenarlos en una variable.
La orden INPUT permite introducir valores numéricos en un programa, la orden ACCEPT introduce datos alfanuméricos, ambos valores pueden ser de uno o más caracteres, sus formatos son:
INPUT TO VARIABLE
INPUT "MASCARILLA" TO VARIABLE
ACCEPT TO VARIABLE
ACCEPT "MASCARILLA" TO VARIABLE
Ejemplo:
INPUT TO EDAD
INPUT "DAME TU EDAD" TO EDAD
ACCEPT TO NOMBRE
ACCEPT "DAME TU NOMBRE" TO NOMBRE
Instrucciones de selección y repetición.
1. Comparar Expresiones
Las órdenes IF – ENDIF se usan para comparar expresiones y determinar si es falso o verdadero. En caso de ser verdadero se ejecutan las órdenes que aparecen después del IF y sigue el proceso de las instrucciones que van después del ENDIF, en caso de ser falsa la comparación, el control se transfiere a las órdenes que van después del ENDIF. También se puede usar ELSE.
Ejemplo:
ACCEPT "ES EL QUE QUIERES BORRAR DEFINITIVAMENTE (S/N): " TO RESP
IF RESP = "S"
DELETE
PACK
ENDIF
CLEAR
2. Comandos de repeticion.
Dentro de un programa se puede generar la repetición de un bloque de órdenes, mientras una determinada condición se cumpla. Al proceso de repetir varias veces un bloque de órdenes se le llama ciclo, bucle, lazo o loop.
Las órdenes para crear un lazo o ciclo son:
DO WHILE – ENDO, dentro de esta orden se puede utilizar una variable lógica llamada .T. (true, verdadera).
3. Ordenes de seleccion multiple .
Las órdenes DOCASE – ENDCASE son de gran utilidad para seleccionar una opción entre varias. La orden DOCASE debe utilizar la palabra CASE para especificar las opciones. Suele ser utilizada para ejecutar ciertos programas con la orden < DO >. Dentro de este puede ser utilizada la orden OTHERWISE (de otro modo o de lo contrario), con el fin de que si ninguno de estos casos se cumplen, se efectuarán las órdenes que están dentro del OTHERWISE.
Creacion de un formato de pantalla.
El cursor es un indicador que muestra al operador una posición en la pantalla, este se puede programar para que se ubiquen una determinada posición en la pantalla llamada coordenada. La instrucción para indicar la coordenada es la arroba ( @ ) seguida de la línea y columna.
La orden SAY se usa junto con la coordenada para desplegar variables de memoria.
Para las variables se puede utilizar una mascarilla la cual se asigna por el tipo y tamaño de la variable. Su formato es:
@LIN, COL SAY "MENSAJE"
@LIN, COL SAY VARIABLE PICT "MASCARILLA"
Ejemplo:
@10,20 SAY "VENTA: $"
@10,43 SAY VENTA PICT "99,999.99"
Aceptacion de datos con formato de pantalla.
Se usa para introducir valores a variables de memoria, éstas variables se deben inicializar antes de usarse. Es importante aclarar que para que las órdenes GET puedan entrar en acción deberá existir una orden READ; esta provoca que el Dbase active en secuencia las órdenes GET. Ejemplo:
NOMBRE = " "
EDAD = 0
@10,20 SAY "NOMBRE CLIENTE: "
@10,43 GET NOMBRE PICT "@!"
@12,20 SAY "EDAD: "
@12,43 GET EDAD PICT "99"
READ
La orden RETURN .
La orden RETURN se usa para regresar al sistema de órdenes, o si se encuentra en este, regresa al punto de petición.
1. Crear un sistema con la siguiente información:
1 – 5 (0) NUM_CTRL
6 – 25 NOM_ALUMN
26 – 45 DIRECCION
46 – 54 TELEFONO
55 – 56 (0) EDAD
57 – 64 FECHA_NACI
Estructura para base de datos: C:BD180204.DBF
Número de registros: 23
Fecha de última actualización: 06/12/01
Campo Nombre Campo Tipo Anchura Dec
1 NUM_CTRL Numérico 5
2 NOM_ALUMNO Caracter 20
3 DIRECCION Caracter 20
4 EDAD Numérico 2
5 TELEFONO Numérico 9
6 FECHA_NAC Fecha 8
** Total ** 65
*PROGRFAMA PARA FORMATO DE PANTALLA
*LLAMADO: BD180204.FMT
*AUTOR: OSCAR BANDA FECHA: 06/10/01
@0,21 TO 23,60 DOUB
@2,25 SAY " ** C. B. T. I. s. Nº 4 **"
@4,25 SAY " >"
@7,27 SAY "ALTAS………………….A"
@9,27 SAY "BAJAS………………….B"
@11,27 SAY "CAMBIOS………………..C"
@13,27 SAY "CONSULTAS………………D"
@15,27 SAY "LISTADO………………..E"
@17,27 SAY "REPORTE………………..F"
@19,27 SAY "TERMINA………………..G"
@21,27 SAY "SELECCIONE UNA OPCION: [ ]"
@21,54 GET OPC PICT "!"
* PROGRAMA DE ENLACE O PRINCIPAL
*LLAMADO: BD180204.PRG
*AUTOR: OSCAR BANDA FECHA: 06/11/01
SET TALK OFF
SET SCOR OFF
DO WHILE .T.
CLEAR
SET FORMAT TO BD180204.FMT
OPC = " "
READ
SET FORMAT TO
DO CASE
CASE OPC="A"
DO BD18024A
CASE OPC="B"
DO BD18024B
CASE OPC="C"
DO BD18024C
CASE OPC="D"
DO BD18024D
CASE OPC="E"
CLEAR
USE BD180204
LIST OFF
ACCEPT " PULSE PARA CONTINUAR…" TO Y
USE
CASE OPC = "F"
DO BD18024E
CASE OPC = "G"
CLEAR
RETURN
OTHERWISE
CLEAR @10,20 SAY "ESA OPCIÓN NO EXISTE"
@12,20 SAY "PULSE < ENTER> PARA CONTINUAR…"
SET CONS OFF
ENDCASE
ENDDO
*PROGRAMA PARA ALTAS DE REGISTROS
*LLAMADO: BD18024A
*AUTOR: OSCAR BANDA FECHA: 13/NOV/01
SET TALK OFF
CLEAR
@8,20 TO 14,60 DOUB
@10,24 SAY "PROGRAMA PARA INTRODUCIR REGISTROS"
@12,24 SAY " PULSE < ENTER> PARA INICIAR…"
SET CONS OFF
WAIT
SET CONS ON
USE BD180204
APPEND
USE
RETURN
*PROGRAMA PARA BORRAR REGISTROS
*LLAMADO BD18024B
*AUTOR: OSCAR BANDA FECHA:13/NOV/01
SET TALK OFF
CLEAR
@8,18 TO 14,62 DOUB
@11,26 SAY "PULSE < ENTER> PARA INICIAR…"
SET CONS OFF
WAIT
SET CONS ON
USE BD180204
CLEAR
NC=0
@10,16 TO 12,66 DOUB
@11,18 SAY "DAME EL NUM. DE CTRL. QUE QUIERE BORRAR: "
@11,60 GET NC PICT "99999"
READ
LOCATE FOR NUM_CTRL = NC
IF NUM_CTRL = NC
CLEAR
DISP
ELSE
CLEAR
@10,18 TO 16,61 DOUB
@12,22 SAY " YA BUSQUÉ ESE NÚMERO Y NO EXISTE"
@14,22 SAY " PULSE < ENTER> PARA CONTINUAR"
SET CONS OFF
WAIT
SET CONS ON
USE
RETURN
ENDIF
ACCEPT "ES EL QUE QUIERES BORRAR DEFINITIVAMENTE (S/N): " TO RESP
IF RESP = "S"
DELE
PACK
ENDIF
USE
RETURN
*PROGRAMA PARA CAMBIOS A REGISTROS
*LLAMADO: BD18024C
*AUTOR: OSCAR BANDA FECHA: 13/NOV/01
SET TALK OFF
CLEAR
@8,18 TO 14,62
@10,23 SAY "PROGRAMA PARA MODIFICAR REGISTROS"
@12,23 SAY " PULSE < ENTER> PARA INICIAR…"
SET CONS OFF
WAIT
SET CONS ON
USE BD180204
CLEAR
NC=0
@10,14 TO 12,66 DOUB
@11,16 SAY "DAME EL NUM. CTRL. QUE DESEA MODIFICAR"
@11,60 GET NC PICT "99999"
READ
LOCATE FOR NUM_CTRL = NC
IF NUM_CTRL = NC
CLEAR
DISPLAY
ELSE
CLEAR
@10,18 TO 16,61 DOUB
@12,22 SAY " YA BUSQUÉ ESE NÚMERO Y NO EXISTE"
@14,22 SAY " PULSE < ENTER> PARA CONTINUAR…"
SET CONS OFF
WAIT
SET CONS ON
USE
RETURN
ENDIF
ACCEPT "ES EL QUIERES MODIFICAR (S/N): "TO RESP
IF RESP = "S"
EDIT
ENDIF
USE
RETURN
*PROGRAMA PARA CONSULTA DE REGISTROS
*LLAMADO: BD18024D
*AUTOR: OSCAR BANDA FECHA: 23/11/01
SET TALK OFF
CLEAR
@8,18 TO 14,62 DOUB
@10,23 SAY "PROGRAMA PARA CONSULTA DE REGISTROS"
@12,23 SAY " PULSE < ENTER> PARA INICIAR…"
SET CONS OFF
WAIT
SET CONS ON
USE BD180204
CLEAR
NC=0
@10,14 TO 12,66 DOUB
@11,16 SAY "DAME EL NUM_CTRL QUE QUIERES CONSULTAR: "
@11,60 GET NC PICT "99999"
READ
LOCATE FOR NUM_CTRL = NC
IF NUM_CTRL = NC
CLEAR
@0,18 TO 24,64 DOUB
@2,28 SAY " ** C.B.T.i.s. No 4 **"
@4,28 SAY " < < CONSULTAS > >"
@7,20 SAY " NUMERO DE CONTROL: "
@7,43 SAY NUM_CTRL PICT "99999"
@9,20 SAY " NOMBRE DE ALUMNO: "
@9,43 SAY NOM_ALUMNO PICT "!!!!!!!!!!!!!!!!!!!!"
@11,20 SAY " DIRECCION: "
@11,43 SAY DIRECCION PICT "!!!!!!!!!!!!!!!!!!!!"
@13,20 SAY " TELEFONO: "
@13,43 SAY TELEFONO PICT "999999999"
@15,20 SAY " EDAD: "
@15,43 SAY EDAD PICT "99"
@17,20 SAY " FECHA DE NACIMIENTO: "
@17,43 SAY FECHA_NAC PICT "!!!!!!!!"
@21,20 SAY " PULSE < ENTER> PARA CONTINUAR…"
SET CONS OFF
WAIT
SET CONS ON
ELSE
CLEAR
@10,18 TO 16,61 DOUB
@12,22 SAY "YA BUSQUE ESE NUMERO Y NO EXISTE…"
@14,22 SAY " PULSE < ENTER> PARA CONTINUAR…"
SET CONS OFF
WAIT
SET CONS ON
ENDIF
USE
RETURN
*PROGRAMA PARA CREAR REPORTE
*LLAMADO: BD18024E.PRG
*AUTOR: OSCAR BANDA FECHA: 23/11/01
SET TALK OFF
CLEAR
@8,18 TO 14,62 DOUB
@10,23 SAY " PROGRAMA PARA GENERAR REPORTE"
@12,23 SAY " PULSE < ENTER> PARA INICIAR…"
SET CONS OFF
WAIT
SET CONS ON
CLEAR
@10,6 TO 15,60 DOUB
@12,10 SAY "CUANDO ESTE LISTA LA IMPRESORA"
@13,10 SAY " PULSE LA TECLA < RETURN>"
SET CONS OFF
SET DEVICE TO PRINT
CLEAR
@1,30 SAY "** C.B.T.i.s. No 4 **"
@3,30 SAY "< REPORTE DE ALUMNOS >"
@5,1 SAY "NUM. NOMBRE DIRECCIÓN"
@5,57 SAY "TELEFONO EDAD FECHA"
@6,1 SAY "CTRL. ALUMNO"
@6,74 SAY "NACIM."
USE BD180204
LIN=8
DO WHILE .NOT. EOF( )
@LIN,1 SAY NUM_CTRL PICT "99999"
@LIN,9 SAY NOM_ALUMNO PICT "@!"
@LIN,32 SAY DIRECCION PICT "@!"
@LIN,56 SAY TELEFONO PICT "@!"
@LIN,68 SAY EDAD PICT "99"
@LIN,73 SAY FECHA_NAC PICT "@!"
SET CONS OFF
WAIT
UN=LIN+1
SKIP
ENDDO
EJECT
SET DEVICE TO SCREEN
@LIN,25 SAY "PULSE < ENTER> PARA CONTINUAR…"
SET CONS OFF
WAIT
SET CONS ON
USE
RETURN
Autor:
Oscar Humberto Alvarado Banda
Página anterior | Volver al principio del trabajo | Página siguiente |