|
![]() |
Este ultimo tiempo, los computadores se han vuelto
imprescindibles por el gran volumen de información que pueden manejar y su capacidad de
realizar tareas tediosas sin cometer errores. |
Anteriormente se menciono el MANEJO DE DATOS a través de un lenguaje; primero
describiremos los tipo de datos manejados por DBASE III PLUS :
La estructura de los comandos es lo que se llama sintaxis. En DBASE se tiene la
siguiente generalización :
VERBO**ALCANCE**LISTA DE EXPRESION**CONDICION , donde :
Ahora analizaremos las etapas y los comandos que se usarían en forma mas frecuente en
el ciclo de vida de una base de dato.
.CREATE <nombre de archivo>
A continuación se nos presenta una especie de editor donde se especifican los campos,
los tipos y largo de los datos.
.MODIFY STRUCTURE
Permite modificar la estructura de la tabla y su aspecto es similar al de CREATE,
permitiendo mantener los datos ya ingresados cambiándolos al nuevo formato.
.USE [<tabla>]
Indica que todas las operaciones que se realicen se efectuaran en la tabla indicada.
Si no se agrega un nombre, se cerrara todo lo que esta en uso.
.CLOSE <opción>
Cierra diferentes elementos dependiendo de la opción:
.APPEND [BLANK]
Permite agregar datos al final de el archivo. Con la opción BLANK solo se agrega un
registro en blanco al final de el archivo.
.INSERT [BEFORE] [BLANK]
Lo mismo que el comando anterior con la diferencia de que agrega los registros en la
posición actual de el archivo, siempre después de el actual a menos que se especifique
lo contrario agregando al final BEFORE.
.EDIT [<alcance>] [FIELDS <lista de campos>]
Permite cambiar el contenido de uno o mas registros de una tabla.
.BROWSE
Permite lo mismo que el comando EDIT, salvo que despliega varios registros a la vez.
NOTA : Para editar un campo tipo memo se deben pulsar las teclas CTRL - Pg Dn y para
finalizar la edición se pulsa CTRL - Pg Up.
.DISPLAY [OFF] [ALL / NEXT n] [lista de campos]
.LIST [OFF] [ALL / NEXT n] [lista de campos]
Ambos despliegan el contenido de uno o mas registros, la diferencia esta en el ritmo de
despliegue en pantalla, dejaremos al lector usuario descubrir la diferencia.
Registro activo: registro en que se esta actualmente. Se puede cambiar a través de los
siguientes comandos:
.LOCATE [FOR <condición>] [WHILE <condición>]
Permite buscar registros que cumplan con algún patrón. La búsqueda es desde el
primer registro hasta el fin de el archivo deteniéndose en el primer registro que cumpla
con la característica indicada.
Para que la búsqueda continúe al siguiente se debe dar el comando:
.CONTINUE
.DELETE [<alcance>]
Borra en forma lógica uno o mas registros.
.PACK
Borra en forma física los registros borrados con DELETE.
.RECALL
Recobra los registros borrados por el comando DELETE.
.SORT TO <archivo> ON <campo>
Crea una tabla con la misma estructura pero sus registros están ordenados según el
orden ascendente que implica el campo especificado.
Hasta el momento se ha trabajado con tablas que son accedidas en un orden secuencial,
pero existe otra alternativa que es tener un archivo de índice para el manejo de
información; el cual nos permite manipular la tabla ordenada por uno mas campos para
llegar en forma rápida a registros específicos en tablas muy grandes.
.INDEX ON <llave> TO <archivo-índice>
Permite indexar la tabla creando otro archivo de extensión NDX. La llave es una
expresión numérica o alfanumérica en función de los campos.
.USE <archivo> INDEX <archivo-índice>
Se activa la tabla y su archivo de índices.
.REINDEX
Por si se llegare a ocupar la tabla sin su archivo de índices, se debe hacer lo
siguiente:
.USE <archivo> INDEX <archivo-índice>
.REINDEX
Se pueden ejecutar los mismos comandos de movimiento del punto 6 y se agregan los
siguientes exclusivos de tablas indexadas:
.FIND <llave literal>
Se posiciona en el primer registro de el archivo indexado que contiene la expresión en
el campo determinado por la llave.
.SEEK <expresión>
Encuentra y se posiciona en el primer registro que contiene la expresión en la llave.
.CREATE REPORT <nombre>
.MODIFY REPORT <nombre>
Permiten crear y modificar un reporte respectivamente.
.REPORT FORM <nombre> TO PRINT
Permite usar el reporte hecho anteriormente.
Para labels basta con cambiar la palabra REPORT por la de LABEL.
Un programa en dBASE es un conjunto de instrucciones que se ejecutan una a una sin
estar previamente compiladas, osea, dBASE es un lenguaje interpretado.
DO <nombre del programa>
MODIFY COMMAND <nombre del programa>
A continuación se dan una serie de comandos de interés :
&& y * : indican comentarios
Contorno de un programa :
SET TALK OFF
SET STATUS OFF
SET DATE ITALIAN
CLEAR ALL
SELECT <n1>
USE <nombre de la base> INDEX <archivo de índices>
SELECT <n2>
USE <base2> INDEX <indice2>
Ejemplo :
SELECT 1 && Este Select viene por defecto
USE Tabla INDEX apellido, edad
@ i, j [SAY "mensaje"] [GET <variable>]
El cursor se posiciona en el punto (i,j) y puede desplegar un mensaje a partir de esa
posición, obtener una variable, o ambas cosas. Lo ultimo puede realizarse previa
inicialización de la variable, que incluso puede ser un campo de la tabla.
Otras alternativas:
?? "mensaje" + <variable> + "Otro mensaje" + ...
? "idem" + <variable>
SET PRINT ON
SET TALK ON
Ejemplo 1 :
CLEAR
@2,1 SAY "Menu Principal"
@4,1 SAY "1 - Agregar"
@5,1 SAY "2 - Modificar Existente"
@6,1 SAY "3 - Imprimir"
OPCION = 1
WAIT "Escoja una opción" TO OPCION
Ejemplo 2 :
CLEAR
@2,1 SAY "Ingrese los datos"
@4,1 SAY "Apellido" GET APELLIDO
@5,1 SAY "Nombre" GET NOMBRE
@6,1 SAY "Ocupacion" GET OCUPACION
READ
.
.
.
@8,1 SAY "Fecha ingreso" GET FECHA
@9,1 SAY "Sueldo" GET SUELDO
READ
@i1,j1 [FILL] TO i2,j2 [DOUBLE]
@i1,j1 CLEAR TO i2,j2
Otro comando de edición es: TEXT
Con este comando se puede colocar cualquier texto, sin necesidad de ponerlo entre
comillas. Para finalizar este modo hay que escribir END TEXT.
A continuación se dará la sintaxis de los principales controles de flujo .
IF <condición> <Instrucciones> -ELSE <Instrucciones>] ENDIF
Ejemplos de condición :
SEXO = "M"
(YEAR(fecha) < 1970) .AND. (LIBRE)
.NOT.EOF()
DO WHILE <condición>
<Instrucciones>
[LOOP]
[EXIT]
ENDDO
DO CASE
CASE <condicion1>
==================
CASE <condicion2>
==================
.......
.......
[OTHERWISE]
.......
ENDCASE
DO CASE
CASE OPCION = 1 DO NUEVO
CASE OPCION = 2 EDIT
CASE OPCION = 3 DO IMPRIMIR
END CASE
NOTAS