comandos clipper

Anuncio
Pagina 1 de 54
Guia de Comandos de Clipper
Guia de Comandos de Clipper
TITULO:
TEXTO:
?/??
?/??
---Muestra por pantalla o impresora (dependiendo de SET DEVICE) el ìcontenido de una o más
expresiones separadas por un espacio.
Sintaxis :
?/?? <lista de expresiones>
Las expresiones pueden ser cualquier tipo de datos,incluso memo.
? -> realiza un avance de línea
?? -> no realiza dicho avance
Librería : CLIPPER.LIB
Ejemplo : cCadena1 := "Esto es"
cCadena2 := "un Ejemplo"
? cCadena1, cCadena2
TITULO:
TEXTO:
@...BOX
@...BOX
------Dibuja una caja en la posición indicada, con los caracteres especificados.
Sintaxis...:
@ <nArriba>,<nIzquierda>,<nAbajo>,<nDerecha> BOX <cCadenaCuadro>
[ COLOR <cCadenaColor> ]
Librería...: CLIPPER.LIB
Fichero .ch: BOX.CH
Ejemplo....: @ 5,10,15,70 BOX B_DOUBLE_SINGLE
TITULO:
TEXTO:
@...CLEAR
@...CLEAR
--------Borra la porción de pantalla indicada. Si no se especifica la
cláusula TO, se toman las corrdenadas de MaxRow() y MaxCol()9.
Sintaxis..:
@ <nArriba>,<nIzquierda> CLEAR [TO <nAbajo>,<nDerecha>]
Librería..: CLIPPER.LIB
Ejemplo...:
1)
@ 5,5 CLEAR TO 15,20
2)
@ 5,5 CLEAR
1º Año Analista de Sistemas – CAEDI 2002
Pagina 2 de 54
Guia de Comandos de Clipper
TITULO:
@...GET
TEXTO:
@...GET
------Ver: - Comando @...SAY...GET
- Objeto Get
- Máscaras PICTURE
TITULO:
TEXTO:
@...PROMPT
@...PROMPT
---------Dibuja una opción de menú, y opcionalmente le asocia un
mensaje.
Sintaxis..:
@ <nFila>,<nColumna> PROMPT <cOpcion> [MESSAGE <cMensaje>]
Librería..: CLIPPER.LIB
Ejemplo...:
SET MESSAGE TO 24 CENTER // Mensajes centrados línea 24
SET WRAP ON
// Circularidad menú
CLEAR
@ 5,3 TO 11,15
@ 6,4 PROMPT " Altas.... " MESSAGE "Altas clientes"
@ 7,4 PROMPT " Bajas.... " MESSAGE "Bajas clientes"
@ 8,4 PROMPT " Modificar " MESSAGE "Modificar ...."
@ 9,4 PROMPT " Consulta. " MESSAGE "Consulta clientes"
@10,4 PROMPT " Listado.. " MESSAGE "Listado clientes"
MENU TO nOpcion
DO CASE
CASE nOpcion = 0
QUIT
CASE nOpcion = 1
AltasClientes()
CASE nOpcion = 2
BajasClientes()
CASE nOpcion = 3
ModifClientes()
CASE nOpcion = 4
ConsuClientes()
CASE nOpcion = 5
ListaClientes()
ENDCASE
TITULO:
TEXTO:
@...SAY...GET
@...SAY...GET
------------Permite visualizar e introducir datos en las coordenadas indicadas.
Sintaxis..:
@ <nFila>,<nColumna> [SAY <cTexto> [ PICTURE <cMascara>] ]
[ COLOR <cCadenaColor> ]
[ GET <xVariable/xCampo> [ PICTURE <cMascara> ] ]
[ COLOR <cCadenaColor> ]
[ WHEN <lPreCondicion> ]
[ RANGE <nRangoInferior>,<nRangoSuperior> ]
[ VALID <lPostCondicion> ]
1º Año Analista de Sistemas – CAEDI 2002
Pagina 3 de 54
Guia de Comandos de Clipper
Notas.....:
Dependiendo de SET DEVICE TO SCREEN/PRINT, puede enviar
las cadenas de SAY a pantalla o a impresora; los GETs no.
La cláusula GET edita el contenido de una variable o un campo,
en las coordenadas especificadas de pantalla, después tendrá
que capturar todos los GET's con READ.
La cláusula PICTURE define una máscara para la entrada de
datos:
- Funciones PICTURE : De aplicación completa empiezan con
el carácter @.
- Plantillas .......: Formatean los caracteres posición a
posición.
FUNCIONES PICTURE
----------------@A -> Visualiza sólo caracteres alfabéticos.
@B -> " números justificados por la izquierda.
@C -> " CR después de nºs positivos.
@D -> " fechas, según formato SET DATE.
@E -> " fechas en formato británico, y
números en formato europeo.
@K -> Borra GET's si la primera tecla no es tecla de
cursor.
@R -> Inserta caracteres que no son de plantilla.
@Snº-> Scroll horizontal de un GET.
@X -> Visualiza DB después de números negativos.
@Z -> " cero en forma de espacios.
@( -> Encierra entre paréntesis números negativos con
espacios a la izquierda.
@) -> Idem pero sin espacios a la izquierda.
@! -> Convierte caracteres alfabéticos a mayúsculas.
PLANTILLAS PICTURE
-----------------A -> Visualiza sólo caracteres alfabéticos.
N -> "
"
"
"
y números.
X -> " cualquier carácter.
9 -> " dígitos.
# -> " dígitos, signos y espacios para cualquier
L -> Visualiza caracteres lógicos.
Y -> Sólo permite Y o N (YES/NO).
! -> Visualiza un caracter alfabético a mayúsculas.
$ -> " el signo dólar a la izquierda de un
número en lugar de un espacio.
* -> Idem anterior pero con el asterisco.
. -> Especifica la posición de un punto decimal.
, -> "
" de una coma.
ì
dato.
Librería..: CLIPPER.LIB
@ 08,07 SAY "Código curso " GET CODCURSO PICTURE "99"
@ 09,07 SAY "Nombre curso " GET NOMCURSO
@ 10,07 SAY "Fecha inicio " GET INICURSO PICTURE "@D"
@ 11,07 SAY "Fecha fin .. " GET FINCURSO PICTURE "@D"
READ
TITULO:
@...TO
1º Año Analista de Sistemas – CAEDI 2002
Pagina 4 de 54
Guia de Comandos de Clipper
TEXTO:
@...TO
-----Dibuja una caja con línea simple o doble.
Sintaxis..:
@ <nArriba>,<nIzquierda> TO <nAbajo>,<nDerecha> [ DOUBLE ]
[ COLOR <cCadenaColor> ]
Librería..: CLIPPER.LIB
Ejemplo...:
@ 10,10 TO 20,20
// Línea simple
@ 15,05 TO 22,50 DOUBLE
// Línea doble
TITULO:
TEXTO:
ACCEPT
ACCEPT
-----Acepta la entrada de teclado para una variable de memoria. ìSi la única tecla pulsada es RETURN
la variable tendrá el
valor nulo ("").
Sintaxis..: ACCEPT [<cTexto>] TO <cVariable>
Librería..: CLIPPER.LIB
Ejemplo...: ACCEPT "Indique su nombre: " TO cNombre
TITULO:
TEXTO:
APPEND BLANK
APPEND BLANK
-----------Añade un nuevo registro a la Base de Datos en uso.
Sintaxis..: APPEND BLANK
Librería..: CLIPPER.LIB
Ejemplo...:
// -------------------------------------------------- ìProcedimiento : AltasCursos
// -------------------------------------------------FUNCTION AltasCursos()
USE Cursos INDEX Cursos
CLS
dbGoTop()
DO WHILE LastKey() != 27
APPEND BLANK
@ 4,5 TO 11,73
@ 7,7 SAY "Número " + lTrim( Str( RecNo() ) )
@ 8,7 SAY "Código " GET CODCURSO PICTURE "99"
@ 9,7 SAY "Curso " GET NOMCURSO
READ
IF LastKey() = 27
DELETE Record RecNo() // = dbDelete()
PACK
ENDIF
ENDDO
dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Pagina 5 de 54
Guia de Comandos de Clipper
RETURN NIL
// --------------------------------------------------
TITULO:
TEXTO:
APPEND FROM
APPEND FROM
----------Importa registros desde Ficheros (.DBF) y ASCII.
Sintaxis..:
APPEND FROM <xcFichero> [ FIELDS <cListaCampos> ] [<ambito>]
[ WHILE <lCondición> ] [ FOR <lCondicion> ]
[ SDF | DELIMITED [ WITH BLANK | <xcDelimitador> ] ]
<xcFichero> - Nombre del fichero. Puede una variable o macro,
sin &, pero encerrada entre parentésis, que es lo
mismo.
ì
<cListaCampos> - Lista de campos a agregar. Por defecto son
todos.
FOR/WHILE <condición> - Indican las condiciones que han de
cumplir los registros para ser agregados.
SDF
- Identifca ficheros ASCII con registros y campos
de longitud fija.
DELIMITED - Ficheros ASCII con separación de campos con
comillas.
Los campos y registros tienen longitud variable.
ì
comas, y entre
DELIMITED WITH BLANK - Campos separados por un espacio
DELIMITED WITH <xcDelimitador> - Podemos especificar delimitador.
Librería..: CLIPPER.LIB
Ejemplos..: USE Clientes
APPEND FROM Ventas FOR Field->PEDIDO > 500000
// Añade a Clientes.dbf todos los campos de
// Ventas.dbf en los que PEDIDO (campo común) ì
// sea mayor que 500000 pts.
TITULO:
TEXTO:
AVERAGE
AVERAGE
------Calcula la media de las expresiones numéricas contenidas en
el área de trabajo actual.
Sintaxis..:
AVERAGE [<nListaValores>] TO <nVariables> [ <ambito> ]
[ WHILE[ <lCondicion> ] [ FOR <lCondicion> ]
<nListaValores> - Lista de campos cuya media se va a calcular.
<nVariables> - Lista de variables que almacenarán los
resultados.
<ambito>
FOR/WHILE
- Restricción de lso registros a procesar.
- Condiciones a cumplir.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 6 de 54
Guia de Comandos de Clipper
Librería..: CLIPPER.LIB
Ejemplo...: USE Facturas
AVERAGE Field->IMPORTE TO nImporte FOR "A.S.A."
// Promedio de las facturas emitidas a la
// la empresa A.S.A.
TITULO:
TEXTO:
BEGIN SEQUENCE
BEGIN SEQUENCE...END
-------------------Define una estructura de control. Una de sus funciones es el ìmanejo de errores.
Sintaxis..: BEGIN SEQUENCE
<sentencias>
[BREAK]
<sentencias>
END [SEQUENCE]
BREAK - Permite salir de la secuencia, yendo a la ins trucción posterior a END.
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CALL
CALL
---Ejecuta un procedimiento en lenguaje C o Ensamblador.
Sintaxis..:
CALL <cProcedimiento> [ WITH <Lista Parametros> ]
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CANCEL
CANCEL
-----Cancela la ejecución de un programa, cierra todos los
archivos abiertos y devuelve el control al sistema
operativo.
Realiza la misma función que QUIT, o que el RETURN del
programa principal.
Sintaxis..: CANCEL
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLEAR ALL
CLEAR ALL
--------Cierra todos los ficheros de Bases de Datos abiertas,
los ficheros índice, los de formato y los memo relacionados, y anula los GET's pendientes de leer.
Sintaxis..: CLEAR ALL
1º Año Analista de Sistemas – CAEDI 2002
Pagina 7 de 54
Guia de Comandos de Clipper
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLEAR GETS
CLEAR GETS
---------Anula todos los GET's pendientes de lectura.
Sintaxis..: CLEAR GETS
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLEAR MEMORY
CLEAR MEMORY
-----------Libera todas las variables de memoria, tanto públicas
como privadas. Si realizamos un TYPE() para averiguar
el valor de las variables después de un CLEAR MEMORY,
estas son no definidas.
Sintaxis..: CLEAR MEMORY
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLEAR SCREEN
CLEAR SCREEN
============
Borra la pantalla y sitúa el cursor en la posición inicial.
Sintaxis..: CLEAR [ SCREEN ] | CLS
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLEAR TYPEAHEAD
CLEAR TYPEAHEAD
--------------Limpia la memoria intermedia del teclado.
Sintaxis..: CLEAR TYPEAHEAD
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CLOSE
CLOSE
----Cierra todos los archivos de Bases de Datos e índice
del área de trabajo, el archivo alternativo, el de
formato abierto y los de procedimientos.
Sintaxis..:
CLOSE [ALL/ALTERNATE/DATABASES/FORMAT/INDEX]
CLOSE ALL
: Cierra todos
CLOSE ALTERNATE : Cierra el alternativo, señalado con
1º Año Analista de Sistemas – CAEDI 2002
Pagina 8 de 54
Guia de Comandos de Clipper
SET ALTERNATE TO <fichero>.
CLOSE DATABASES : Cierra bases de datos e índices.
CLOSE FORMAT : Cierra los de formato.
CLOSE INDEX : Cierra índices.
Hay otros comandos que también cierran archivos que
son:
QUIT
CANCEL
RETURN (del procedimeinto general)
CLEAR ALL
USE (sin argumento)
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
COMMIT
COMMIT
-----Graba en disco todas las memorias intermedias del
Clipper.
Es de vital importáncia para evitar las perdidas de
información por cortes de fluído eléctrico.
Sintaxis..: COMMIT
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
CONTINUE
CONTINUE
-------Reanuda la búsqueda emprendida con LOCATE.
Sintaxis..: CONTINUE
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
dbGoTop()
LOCATE FOR Field->COMANDO = "CONTINUE"
DO WHILE .NOT. Eof()
QOut( Field->DESCRIPCIO )
CONTINUE
ENDDO
dbCloseArea()
TITULO:
TEXTO:
COPY
COPY TO
------Copia toda las Base de Datos en curso o solo una parte
a un nuevo fichero.
Sintaxis..:
COPY TO <archivo> [<ámbito> [FIELDS <lista campos>]
[FOR <condición>] [WHILE <condición>] [SDF/DELIMITED/
DELIMITED WITH <delimitador>]
<archivo> - Es el nombre del nuevo archivo.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 9 de 54
Guia de Comandos de Clipper
<ámbito> - Determina la porción del archivo a copiar,
por defecto es ALL (todo).
FIELDS <lista campos> - Son los campos a copiar a la
nueva base de datos.
FOR/WHILE <condición> - Especifican la condición a
cumplir.
SDF - Especifica que el archivo de salida será con
formato ASCII, con campos de longitud fija.
DELIMITED - Formato para el archivo de salida ASCII,
con campos de longitud varible y separados por
comas. Si se desea pueden separase con espacios
(BLANK), o con cualquier otro delimitador.
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
COPY TO Help.txt SDF
dbCloseArea()
TITULO:
TEXTO:
COPY FILE
COPY FILE
--------Duplica un archivo de cualquier tipo.
Sintaxis..:
COPY FILE <archivo1> TO <archivo2>
<archivo1> - Es el nombre y la extensión del archivo
origen.
<archivo2> - Es el nombre y la extensión del archivo
destino.
Librería..: CLIPPER.LIB
Ejemplo...: COPY Help.prg TO Ayuda.prg
TITULO:
TEXTO:
COPY STRUCTURE
COPY STRUCTURE
-------------Copia la estructura de la Base de Datos en curso en
otra de vacía.
Sintaxis..:
COPY STRUCTURE [FIELDS <lista de campos>] TO <archivo>
FIELDS <lista de campos> - Son los campos a copiar, por
defecto son todos.
<archivo> - Es la base de datos de destino, la extensión
por defecto es DBF.
Librería..: CLIPPER.LIB
1º Año Analista de Sistemas – CAEDI 2002
Pagina 10 de 54
Guia de Comandos de Clipper
Ejemplo...:
USE Clientes
COPY STRUCTURE FIELDS NOMBRE, DIR, POB TO Etiqueta
dbCloseArea()
TITULO:
TEXTO:
COPY STRUCTURE EXTENDED
COPY STRUCTURE EXTENDED
=======================
Copia definiciones de campo en una Base de Datos.
Sintaxis..: COPY STRUCTURE EXTENDED TO <cDbf>
<cDbf> - Es el nombre de la Base de Datos (*.dbf).
Puede ser en forma de cadena o variable.
Librería..: CLIPPER.LIB
Ejemplo...: USE Ventas NEW
COPY STRUCTURE EXTENDED TO Vacio
USE Vacio NEW
LIST Field_name, Field_type, Field_len, Field_dec
dbCloseAll()
TITULO:
TEXTO:
COUNT
COUNT
----Cuenta el número de registros del área de trabajo activa
que cumplen una determianda condición.
Sintaxis..:
COUNT [<ámbito>] [FOR <condición>] [WHILE <condición>]
TO <variable>
<ámbito> - Es el porción del archivo de Base de Datos
que se va a contar, por defecto es ALL (todo).
FOR/WHILE <condición> - Especifican las condiciones a
cumplir.
<variable> - Es la que recibe el resultado de COUNT.
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
COUNT FOR Field->CODIGO = "08240" TO nCuenta
dbCloseArea()
TITULO:
TEXTO:
CREATE
CREATE
-----Crea un archivo de Base de Datos de Estructura ampliada
vacía.
Sintaxis..: CREATE <archivo>
1º Año Analista de Sistemas – CAEDI 2002
Pagina 11 de 54
Guia de Comandos de Clipper
La estructura ampliada esta compuesta por los campos:
* Field_name = nombre del campo
* Field_type = tipo de campo
* Field_len = longitud del campo
* Field_dec = nº de decimales
Se usa junto con CREATE FROM para crear nuevas Bases de ìDatos.
Librería..: CLIPPER.LIB
Ejemplo...:
// -------------------------------------------------// Fucnión: CreaCursos
// Ejemplo completo de creación de Bases de Datos
// CREATE y CREATE FROM
// -------------------------------------------------FUNCTION CreaCursos()
LOCAL GetList := {}
CLS
@ 24,0 SAY "* Creando fichero cursos *"
// Creando estructura ampliada vacía
CREATE Cursos
USE Cursos
dbAppend()
REPLACE Field_name WITH "CODCURSO"
REPLACE Field_type WITH "N"
REPLACE Field_len WITH 2
READ
dbAppend()
REPLACE Field_name WITH "CURSO"
REPLACE Field_type WITH "C"
REPLACE Field_len WITH 30
READ
// Creando nueva Base de Datos e Indexado
CREATE Cursos FROM Cursos
INDEX ON CODCURSO TO Cursos
dbCloseArea()
RETURN NIL
// --------------------------------------------------
TITULO:
TEXTO:
CREATE FROM
CREATE FROM
----------Crea una nueva Base de Datos a partir de otro de ìestructura ampliada vacía.
Sintaxis..:
CREATE <archivo1> FROM <archivo2>
<archivo1> - Es el nuevo archivo.
<archivo2> - Es el de estructura ampliada.
Librería..: CLIPPER.LIB
Ejemplo ..: Ver CREATE.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 12 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
DECLARE
DECLARE
------Crea uno o más arrays de variables de memoria.
Sintaxis..:
DECLARE <array1> [<nº elem1>] [,<array2> [<nº elem2>]]
.... [,<arrayn> [<nº elemn>]]
<array> - Nombre de los arrays a crear.
<nº elementos> - De 1 a 4096 elementos, si sobrepasamos de los límites ( < 1 o > 4096), entonces
toman los valores por defecto, 1 o 4096, según el caso.
Para asignar valores a un elemento, podemos hacerlo
con el signo =, pero si es a un array completo use
AFILL().
Pueden declararse como públicas o privadas.
Librería..: CLIPPER.LIB
Ejemplo...: DECLARE acPuntos[ 4 ]
acPuntos[ 1 ] = "NORTE"
acPuntos[ 2 ] = "SUR"
acPuntos[ 3 ] = "ESTE"
acPuntos[ 4 ] = "OESTE"
TITULO:
TEXTO:
DELETE
DELETE
-----Marca registros para borrarlos de la Base de datos en uso.
Sintaxis..:
DELETE [<ámbito>] [RECORD <nº registro>] [FOR <condición>]
[WHILE <condición>]
<ámbito> - Porción de archivo a manipular, por defecto
es todo (ALL).
RECORD <nº registro> - Indica el registro a marcar.
FOR/WHILE <condición>- Indican las condiciones a
cumplir para el marcado.
Para borrarlos definitivamente y reorganizar el archivo
hemos de utilizar el comando PACK.
Si desea borrar todo el archivo y conservar la
estructura use ZAP, en lugar de: DELETE ALL y PACK.
Librería..: CLIPPER.LIB
Ejemplo...:
// Uso de DELETE y PACK en bajas de registros
// Si confirmamos marca y elimina el registro actual
@ 20,7 SAY "¿ Quiere borrar (S/N) ? " GET cConfirma
1º Año Analista de Sistemas – CAEDI 2002
Pagina 13 de 54
Guia de Comandos de Clipper
READ
IF cConfirma = "S" .OR. cConfirma = "s"
Delete Record RecNo()
PACK
ENDIF
TITULO:
TEXTO:
DELETE FILE
DELETE FILE
===========
Borra un fichero del disco.
Sintaxis..: DELETE FILE | ERASE <cFichero>
<cFichero> - Es el nombre del fichero a borrar.
Puede ser una cadena o una variable.
Librería..: CLIPPER.LIB
Ejemplo...: Ver comando ERASE
TITULO:
TEXTO:
DIR
DIR
--Visualiza una lista de archivos desde la lista
indicada.
ìFuncionamiento idéntico al DIR del DOS.
Sintaxis..:
DIR [<unidad>:] [<ruta>\] [<estructura>]/(<expC>)
<estructura> - permite el uso de comodines (* y ?).
Librería..: CLIPPER.LIB
Ejemplo...: Dir *.dbf
TITULO:
TEXTO:
DISPLAY
DISPLAY
------Visualiza el contenido de los registros que cumplan
una serie de condiciones, por pantalla por impresora
(TO PRINT), o a un archivo de texto (TO FILE).
Sintaxis..:
DISPLAY [OFF] [<ámbito>] <lista campos>
[FOR <condición>] [WHILE <condición>] [TO PRINT]
[TO FILE <archivo>]
OFF
- Suprime la visualización del número de
registro.
<ámbito> - Porción de archivo a visualizar.
Por defecto es todo.
<lista campos> - Son los campos del archivo de Base de
Datos a visualizar.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 14 de 54
Guia de Comandos de Clipper
FOR/WHILE <condición> - Especifican las condiciones a
cumplir.
TO PRINT - Envía la salida a la impresora.
TO FILE - Envía la salida a un Fichero de Texto, si
no se especifica la extensión, por defecto
agrega (.TXT).
Librería..: CLIPPER.LIB
Ejemplo...: // Envíamos a un fichero de texto, todos
// los campos memo de este programa
USE Help
DISPLAY ALL Ejemplo TO FILE Help.txt
dbCloseArea()
TITULO:
TEXTO:
DO
DO
-Ejecuta un procedimiento escrito en Clipper, C o
ensamblador, pasándole parámetros (hasta 128)
con WITH.
Sintaxis..:
DO <procedimiento> [WITH <lista de parámetros>]
Librería..: CLIPPER.LIB
Ejemplo...:
PROCEDURE ListaCursos
IF !IsPrinter()
do MsgImpresora
ENDIF
// órdenes ...
RETURN .T.
// -------------------------------------------------// Procedimiento: MsgImpresora
// Descripción..: Muestra un mensaje de conexión de
//
impresora.
// -------------------------------------------------PROCEDURE MsgImpresora
CLS
@ 9, 28 TO 12, 51
@ 10,30 SAY "Conecte la impresora"
@ 11,32 SAY "y pulse una tecla"
InKey(0)
RETURN .T.
// --------------------------------------------------
TITULO:
TEXTO:
DO CASE
DO CASE
------Estructura selectiva de bifurcación condicional.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 15 de 54
Guia de Comandos de Clipper
Sintaxis..: DO CASE
CASE <condición>
<órdenes>...
[CASE <condición>]
<órdenes>...
[OTHERWISE]
<órdenes>...
ENDCASE
La estructura DO CASE bifurca la ejecución a las
órdenes que siguen a una condición verdadera de CASE,
la ejecución continúa hasta encontrar la próxima
cláusula CASE, OTHERWISE o ENDCASE.
Librería..: CLIPPER.LIB
Ejemplo...:
(Ver @...PROMPT, hay un Ejemplo completo)
TITULO:
TEXTO:
DO WHILE
DO WHILE
-------Bucle que se realiza mientrás no se cumpla una
condición verdadera (.T.).
Sintaxis..:
DO WHILE <condición>
<órdenes>
[EXIT]
<órdenes>
[LOOP]
<órdenes>
ENDDO
<condición> - Es la condición evaluada por DO WHILE.
EXIT
LOOP
- Provoca la salida del bucle.
- Bifurca al comienzo del bucle, sin
acabar de completar la secuencia de
instrucciones.
Librería..: CLIPPER.LIB
Ejemplo...:
SET DEVICE TO PRINT
USE Help INDEX Help
DO WHILE !Eof()
QOut( Field->COMANDO )
dbSkip()
ENDDO
dbCloseArea()
EJECT
SET DEVICE TO SCREEN
TITULO:
TEXTO:
EJECT
EJECT
-----
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
Pagina 16 de 54
Realiza un salto de página en la impresora, y pone a
cero los valores de la fila y la columna de la
impresora.
Use SETPRC() si necesita poner a cero los valores
internos de fila y columna de la impresora sin enviar
un salto de página.
Sintaxis..: EJECT
Librería..: CLIPPER.LIB
Ejemplo...:
(Ver SET DEVICE, se incluye un Ejemplo completo)
TITULO:
TEXTO:
ERASE
ERASE
----Borra un fichero del disco.
Sintaxis..: ERASE | DELETE FILE <archivo.ext>
Librería..: CLIPPER.LIB
Summer'87 : Disponible
Ejemplo...: IF File( "TEMP.DBF" )
ERASE TEMP.DBF
ENDIF
TITULO:
TEXTO:
EXIT
EXIT
====
Provoca la salida de un bucle.
Sintaxis..: EXIT
Ejemplo...:
LOCAL nTecla := 0
DO WHILE .T.
// ...
nTecla := InKey( 0 )
IF nTecla = K_ESC
EXIT
ENDIF
ENDDO
TITULO:
TEXTO:
EXTERNAL
EXTERNAL
-------Define como externos procedimientos o funciones para
el linkador. También se ha de usar para las funciones
y procedimientos definidos por el usuario y SET KEY,
1º Año Analista de Sistemas – CAEDI 2002
Pagina 17 de 54
Guia de Comandos de Clipper
si estos se llaman con una macro o se colocan en
segmentaciones. Se utiliza sobre todo para funciones
en C y/o ensamblador.
Sintaxis..:
EXTERNAL <lista funciones y/o procedimientos>
Librería..: CLIPPER.LIB
Ejemplo...:
/* ------------------------------------------------ */
/* DetectVideo() : Detecta el modo de video.
*/
/* Ejemplo de función en C (Turbo C++) para Clipper.*/
/* Compilación...: tcc -c -ml programa.c
*/
/* -c = crea el objeto .OBJ / ml = modelo largo mem.*/
/* ------------------------------------------------ */
#include "nandef.h"
#include "extend.h"
#include <dos.h>
/* Include Clipper */
/* "
"
*/
/* " Turbo C++ */
CLIPPER DetectVideo()
{
union REGS inregs, outregs;
inregs.h.ah = 0xF;
/* Func.:OFH - Int 10 BIOS*/
int86( 0x10, &inregs, &outregs );
_retni(outregs.h.al);
}
// Ejemplo de su uso desde Clipper
// Hay que compilar las Librerías Clipper con la
// CL.LIB de Turbo C++ (Borland)
EXTERNAL DetectVideo
nVideo := DetectVideo()
IF nVideo = 7
// Modo monocromo
SET COLOR TO "N/W"
ELSE
SET COLOR TO "GR+/B"
ENDIF
TITULO:
TEXTO:
FIND
FIND
---Busca una cadena en una clave índice. La cadena se ha
de indicar entre comillas, y si utilizamos variables
se ha de especificar con una macro.
Sintaxis..: FIND <cadena>
Librería..: CLIPPER.LIB
Ejemplo...: USE Help INDEX Help
FIND "CLOSE"
IF Found()
QOut( Help->DESCRIPCIO )
ENDIF
dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
TITULO:
TEXTO:
Pagina 18 de 54
FOR...NEXT
FOR ... NEXT
-----------Ejecuta un bucle un determinado número de veces.
Sintaxis..:
FOR <variable> = <nº 1> TO <nº 2> [STEP <nº 3>]
<órdenes>
[EXIT]
<órdenes>
[LOOP]
NEXT
<variable> - Controla el bucle
<nº 1>
- Es el límite inferior del intervalo.
<nº 2>
- Es el límite superior del intervalo.
STEP
EXIT
- Fija incremento de la variable, si no se
especifica es uno.
- Provoca la salida del bucle.
LOOP
- Devuelve el control a FOR...NEXT.
Librería..: CLIPPER.LIB
Ejemplo...:
// ------------------------------------------------// Procedimiento : Fondo
// Descripción...: Llena la pantalla con ¦ .
// ------------------------------------------------PROCEDURE Fondo
LOCAL i := 0
SET COLOR TO "BG/N"
FOR i = 0 TO 24
@ i, 0 SAY Replicate( Chr( 178 ), 80 )
NEXT
SET COLRO TO "GR+/B,N/G"
RETURN .T.
// -------------------------------------------------
TITULO:
TEXTO:
FUNCTION
FUNCTION
-------Declara una función definida por el usuario escrita
en Clipper.
Sintaxis..:
FUNCTION <nombre función>
<instrucciones>
RETURN <valor de respuesta>
1º Año Analista de Sistemas – CAEDI 2002
Pagina 19 de 54
Guia de Comandos de Clipper
<nombre de función> - Solo acepta los diez primeros
caracteres.
<valor de respuesta>- Es obligatorio la devolución de
un valor.
Para llamar a una función de usuario, proceda de la
siguiente forma:
FUNCTION( <lista de parámetros> )
Los parámteros se pasan por valor, exceptuando los
arrays, o si el parámetro es precedido por una arroba (@),
entonces es pasado por referencia.
Librería..: CLIPPER.LIB
Ejemplo...:
CLS
@ 24,0 SAY IsBisiesto( Date() )
// ...
// -------------------------------------------------// Función.....: ISBISIESTO
// Descripción : Comprueba si un año es bisiesto o no.
// Parámetros..: Una fecha.
// Devuelve....: Un valor lógico (.T./.F.=TRUE/FALSE)
// Explicación.: Hallamos año y comprobamos si el día
//
29-02, se corresponde con un nº de
//
día de la semana, si es cero no es
//
bisiesto. ì// -------------------------------------------------FUNCTION IsBisiesto( dFecha )
LOCAL lDevuelve := .F.
LOCAL nAny
:= Year( dFecha )
LOCAL cCadena := CtoD( "29-02-" + Str( nAny ) )
IF Dow( cCadena ) = 0
lDevuelve = .F.
ELSE
lDevuelve = .T.
ENDIF
RETURN( lDevuelve )
// --------------------------------------------------
TITULO:
TEXTO:
GO/GOTO
GO/GOTO
------Mueve el puntero de registros a un regsitro dentro del
área de trabajo activa.
Sintaxis..:
GO/GOTO <nº de registro>/BOTTOM/TOP
<nº de registro> - Movemos el puntero a dicho registro
incluso si esta marcado para eliminarlo.
BOTTOM - Movemos el puntero al último registro.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 20 de 54
Guia de Comandos de Clipper
TOP
- Movemos el puntero al primer registro.
Librería..: CLIPPER.LIB
Ejemplo...:
LOCAL i
:= 0
LOCAL nUltimo := 0
LOCAL acComandos := {}
USE Help
GO BOTTOM
nUltimo := RecNo()
acComandos := Array( nUltimo )
GO TOP
FOR i = 1 TO nUltimo
acComandos[ i ] := Help->COMANDO
dbSkip
NEXT
// ...
dbCloseArea()
TITULO:
TEXTO:
IF
IF
-Bifurcación condicional según la evaluación de
condiciones.
Sintaxis..:
IF <condición>
<declaraciones>...
[ELSEIF <condición>]
<declaraciones>...
[ELSE]
<declaraciones>...
ENDIF
Si la condición se evalúa como verdadera (.T.), se
ejecutan todas las órdenes siguientes hasta que se
encuentra un ELSEIF, ELSE o ENDIF.
ELSEIF, ejecuta las órdenes cuando se cumpla la condición,
en cambio, ELSE ejecuta sus órdenes cuando no se cumpla
ninguna de las condiciones anteriores.
Librería..: CLIPPER.LIB
Ejemplo ..: nNumero := 10
IF nNumero > 10
QOut( "Número mayor que 10" )
ELSEIF nNumero = 10
QOut( "Numero igual a 10" )
ELSE
QOut( "Número menor que 10" )
ENDIF
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
TITULO:
TEXTO:
Pagina 21 de 54
INDEX
INDEX
----Indexa una Base de Datos por el campo indicado.
Sintaxis..:
INDEX ON <campo1> [, <campo2>...] TO <archivo>
<campo> - Es el campo clave para indexar.
<archivo> - Es el nombre del archivo índice a crear.
La extensión es (.NTX), excepto si linkamos
con NDX.OBJ para conseguir índices compatibles con Dbase III+, de extensión (.NDX).
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
INDEX ON Field->Nombre TO Nombre
// ...
dbCloseArea()
TITULO:
TEXTO:
INPUT
INPUT
----Acepta la entrada de datos por teclado, evaluando el
tipo de datos, y colocandolo en una variable de memoria. Si sólo oprimimos RETURN, terminamos la entrada
pero no creamos la variable de memoria.
Sintaxis..:
INPUT [<mensaje>] TO [<variable de memoria>]
Librería..: CLIPPER.LIB
Ejemplo...: Input "¿ Como te llamas ?" TO cNombre
TITULO:
TEXTO:
JOIN
JOIN
---Une dos Bases de Datos en otra a través de un campo
clave.
Sintaxis..:
JOIN WITH <alias> TO <archivo> FOR <condición>
[FIELDS <lista de campos>]
<alias> - Es el seudonimo del área de trabajo que
unirem os a la área en curso.
<archivo> - Es el nombre del archivo de destino.
FOR
- Especifica la condición que han de cumplir
los registros.
FIELDS <lista campos> - Indica los campos de ambas
áreas de trabajo que se incluíran en el
1º Año Analista de Sistemas – CAEDI 2002
Pagina 22 de 54
Guia de Comandos de Clipper
nuevo archivo de Base de Datos.
Librería..: CLIPPER.LIB
Ejemplo...:
SELECT 1
USE Clientes INDEX Clientes ALIAS CLI
SELECT 2
USE Pedidos INDEX Pedidos ALIAS PED
JOIN WITH CLI TO Nuevo FOR CLI->NUMPEDIDO = PED->NUMPEDIDO
USE Nuevo NEW
Browse()
dbCloseAll()
TITULO:
TEXTO:
KEYBOARD
KEYBOARD
-------Envía al buffer de teclado los caracteres
especificados.
Sintaxis..: KEYBOARD <caracteres>
Librería..: CLIPPER.LIB
Ejemplo...: // Envía dos retornos de carro
KEYBOARD Chr(13) + Chr(13)
TITULO:
TEXTO:
LABEL FORM
LABEL FORM
---------Visualiza, imprime o desvía hacia un fichero de texto
el formato de etiquetas elegido.
Sintaxis..:
LABEL FORM <archivo1> [<ámbito>] [FOR <condición>]
[WHILE <condición>] [SAMPLE] [TO PRINT]
[TO FILE <archivo2>]
<archivo1> - Es el archivo que contiene el formato de
etiqueta, su extensión es (.LBL).
<ámbito> - Es la porción del archivo a manipular.
Por defecto es todo (ALL).
FOR/WHILE - Especifican las condiciones a cumplir.
SAMPLE - Visualiza o imprime una etiqueta de
muestra (con asteriscos) para su comprobación o posicionamiento del papel de la
impresora.
TO PRINT - Imprime.
TO FILE - Desvía la información de salida a un
fichero de texto, de extensión (.TXT),
por defecto.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 23 de 54
Guia de Comandos de Clipper
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes
LABEL FORM Clientes.lbl TO PRINT CODIGO = "08080"
dbCloseArea()
TITULO:
TEXTO:
LIST
LIST
---Visualiza, imprime o desvía hacia un fichero de texto
uno o varios registros según las condiciones
especificadas.
Sintaxis..:
LIST [OFF] [<ámbito>] <lista de campos>
[FOR <condición>] [ WHILE <condición>] [TO PRINT][TO FILE ì<archivo>]
OFF
- Suprime la visualización de los
números de registro.
<lista de campos>- Son los campos a visualizar.
FOR/WHILE
TO PRINT
- Especifican las condiciones.
- Imprime.
TO FILE <archivo>- Desvía a un fichero de texto, cuya
extensión por defecto es (.TXT).
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes
LIST nombre, direccion, poblacion TO PRINT
dbCloseArea()
TITULO:
TEXTO:
LOCAL
LOCAL
=====
Declara e inicializa variables y matrices locales.
Sintaxis..: LOCAL <identificador> [[ := <inicializador>,...]
<identificador>, es el nombre de la variable o matriz
que se declara como LOCAL.
<inicializador>, es la asignación opcional de un valor.
Ejemplo...: LOCAL nTecla := 0
1º Año Analista de Sistemas – CAEDI 2002
Pagina 24 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
LOCATE
LOCATE
-----Búsqueda secuencial de registros que cumplan una
condición determinada. Funciona en combinación con
CONTINUE.
Sintaxis..:
LOCATE [<ámbito>] FOR <condición> [WHILE <condición>]
<ámbito> - Es la porción de archivo a manipular.
Por defecto es todo (ALL).
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes
LOCATE FOR Field->POBLACION = "MADRID"
IF Found()
DO WHILE .NOT. Eof()
QOut( nombre, direccion, poblacion )
CONTINUE
ENDDO
ELSE
QOut( "No existe ninguno" )
ENDIF
dbCloseArea()
TITULO:
TEXTO:
MEMVAR
MEMVAR
======
Declara nombres de variables privadas o públicas,
dependiendo del lugar del programa en que se
declaran, si es en el módulo principal, serán
Públicas o sino serán Privadas, es decir, visibles
sólo por la función o procedimiento en que se
declara y todos los inferiores a este.
Sintaxis..: MEMVAR <lista variables>
Ejemplo...: MEMVAR pPRINTER, pPRNLEN
1º Año Analista de Sistemas – CAEDI 2002
Pagina 25 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
MENU TO
MENU TO
------Ejecuta un menú de línea y/o popup. Pueden anidarse entre
ellos, y pueden modificarse las teclas activas.
Sintaxis..: MENU TO <variable>
<variable> - Es donde se almacenara el resultado de la
selección del menú.
Teclas activas de MENU TO:
------------------------Flecha arriba, flecha izquierda -> PROMPT anterior
Flecha abajo, flecha derecha -> PROMPT siguiente
Inicio
-> Primer PROMPT
Fin
-> Ultimo PROMPT
Página arriba/abajo, Return -> Selección = nº
Escape
-> Salir = 0
Primera letra
-> Selección = nº
Librería..: CLIPPER.LIB
Ejemplo...: (Ver @...PROMPT)
TITULO:
TEXTO:
NOTE/*/&&
NOTE | * | && | /* ... */ | //
-----------------------------Indica las líneas o las partes de ella que son comentarios. No se admite (;) como carácter de continuación.
Sintaxis..: NOTE/* [<texto>]/&& [<texto>]
Librería..: CLIPPER.LIB
Ejemplo...: NOTE Esto es un comentario
* Esto también
CLS
&& Y esto
// Otro comentario
/*
Varias líneas de
comentarios
*/
TITULO:
TEXTO:
PACK
PACK
---Elimina los registros marcados para borrar de la Base
de Datos, borra los índices en uso, y vuelve a reindexar,
eliminando el espacio físico ocupado por los registros
eliminados.
Sintaxis..: PACK
Librería..: CLIPPER.LIB
Ejemplo...: USE clientes
QOut( LastRec() )
Delete Record 80
// = 100
1º Año Analista de Sistemas – CAEDI 2002
Pagina 26 de 54
Guia de Comandos de Clipper
PACK
QOut( LastRec() )
dbCloseArea()
TITULO:
TEXTO:
// = 99
PARAMETERS
PARAMETERS
---------Identifica las variables de memoria de un procedimiento
que recibirán valores.
Sintaxis..: PARAMETERS <lista de variables>
Los parámetros se pueden pasar:
- Por valor: Pasamos directamente el valor a la variable.
- Por referencia: No pasamos el valor sino un puntero
a la posición del parámetro en curso.
Reglas:
* Las variables y arrays se pasan por referencia. A los
procedimientos. Los elementos de los arrays, variables
entre paréntesis y campos se pasan por valor.
* Los parámetros se pasan por valor a las funciones, pero
podemos forzar su paso por referencia anteponiendo el signo
arroba (@). Los arrays también se pasan por referencia, y
sus elementos por valor.
Librería..: CLIPPER.LIB
Ejemplo...:
CLS
DO Window WITH 5,23,11,35
@ 10,24 SAY "Pulse tecla"
InKey(0)
RETURN NIL
// ------------------------------------------------// Procedimiento : Window
// Descripción...: Dibuja y rellena una ventana.
// Parámetros....: Coordenadas esquinas superior izda.
//
e inferior derecha.
// -------------------------------------------------PROCEDURE Window
PARAMETERS nFila1, nCol1, Nfila2, nCol2
LOCAL i := 0
FOR i = nFila1 TO nFila2
@ i, nCol1 SAY Space( nCol2 - nCol1 )
NEXT
@ nFila1, nCol1 TO nFila2, nCol2
RETURN NIL
// --------------------------------------------------
1º Año Analista de Sistemas – CAEDI 2002
Pagina 27 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
PRIVATE
PRIVATE
------Declara variables de tipología LOCAL, aunque con matizaciones,
ya que son visibles por el procedimiento o función actual, y
por los inferiores a estos.
Sintaxis..: PRIVATE <lista de variables>
<lista de variables> - Pueden ser de cualquier tipo, y
han de separase con comas.
Librería..: CLIPPER.LIB
Ejemplo...: PRIVATE aCadena[10], cCadena1
TITULO:
TEXTO:
PROCEDURE
PROCEDURE
--------Indica el principio de un procedimiento.
Sintaxis..:
PROCEDURE <nombre procedimiento>
<órdenes>
[RETURN]
<nombre procedimiento> - Debe de empezar con una letra
y solo evalúan los 10 primeros caracteres.
RETURN - Es aconsejable su uso para determinar el fin
de un procedimiento, aunque no necesario, ya
que detecta el fin al encontrar otro procedure o
una marca de fin de archivo.
Librería..: CLIPPER.LIB
Ejemplo...:
CLS
DO Fondo
InKey(0)
RETURN NIL
// -------------------------------------------------// Procedimiento : Fondo
// Descripción...: Llena la pantalla con ¦
// -------------------------------------------------PROCEDURE Fondo
LOCAL i := 0
FOR i = 0 TO 24
@ i, 0 SAY Replicate( Chr( 178), 80 )
NEXT
RETURN NIL
// --------------------------------------------------
1º Año Analista de Sistemas – CAEDI 2002
Pagina 28 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
PUBLIC
PUBLIC
-----Declara variables como globales, es decir, que pueden
utilizarse en todo el programa.
Sintaxis..: PUBLIC <lista de variables>
<lista de variables> - Pueden ser de cualquier tipo,
han de separase con comas.
Librería..: CLIPPER.LIB
Ejemplo...:
PUBLIC COL_MENU
// Variable pública
COL_MENU = "W+/B"
// Colores iniciales
SET COLOR TO &COL_MENU // Indicamos colores
* <órdenes>
COL_MENU = "W/G"
// Nuevo color
SET COLOR TO &COL_MENU
TITULO:
TEXTO:
QUIT
QUIT
---Salida del programa y devolución del control al
Sistema Operativo.
Sintaxis..: QUIT
Librería..: CLIPPER.LIB
Ejemplo...:
cConfirma := "N"
@ 24,0 SAY "¿ Quiere salir (S/N) ?" GET cConfirma PICTURE "!" ;
VALID( cConfirma $ "SN" )
READ
IF cConfirma = "S" .OR. cConfirma = "s"
CLS
QUIT
ENDIF
1º Año Analista de Sistemas – CAEDI 2002
Pagina 29 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
READ
READ
---Lee las variables de los GET's pendientes de leer.
Sintaxis..: READ [SAVE]
La cláusula SAVE permite volver a editar y leer los
GET's, si no se especifica una vez leídos se borran.
Teclas de dirección de pantalla completa:
Tecla
Acción
------------------------- ---------------------------Flecha izda./Ctrl-S
Carácter izquierdo.
Flecha dcha./Ctrl-D
Carácter derecho.
Ctrl-Flecha izda.
Palabra izquierda.
Ctrl-A
Ctrl-Flecha dcha.
Palabra derecha.
Ctrl-F
Flecha arriba/Ctrl-E
GET anterior.
Flecha abajo/Ctrl-X
Próximo GET.
Retorno/Ctrl-M
Principio
Principio del GET.
Fin
Ultimo carácter del GET.
Ctrl-Principio
Principio del primer GET.
Ctrl-Fin
Principio del último GET.
Teclas de edición de pantalla completa:
Tecla
Acción
------------------------- ---------------------------Del/Ctrl-G
Elimina el carácter sobre
el que esta el cursor.
Espacio retroceso/Ctrl-H Borra carácter a la izda.
Ctrl-T
Elimina palabra a la dcha.
Ctrl-Y
Borra desde el cursor al
final del GET.
Ctrl-U
Restaura el GET en curso a
su valor original.
Ins/Ctrl-V
Modo de inserción/no inser.
Teclas de escape de pantalla completa:
Tecla
Acción
------------------------- ---------------------------Ctrl-W/Ctrl-C
Termina READ guardando GET
en curso.
Página arriba/abajo
Termina READ del último GET.
Return
Ctrl-M/Esc
Termina READ sin guardar el
GET en curso.
Librería..: CLIPPER.LIB
Ejemplo...:
// Instrucciones
cConfirma := "N"
@ 24,0 SAY "¿ Quiere borrar (S/N) ? " GET cConfirma PICTURE "!" ;
VALID( cConfirma $ "SN" )
READ
IF cConfirma = "S" .OR. cConfirma = "s"
Delete Record RecNo()
PACK
1º Año Analista de Sistemas – CAEDI 2002
Pagina 30 de 54
Guia de Comandos de Clipper
ENDIF
TITULO:
TEXTO:
RECALL
RECALL
-----Elimina las marcas de borrado de registros puestas
por el comando DELETE.
Sintaxis..:
RECALL [<ámbito>] [FOR <condición>] [WHILE<condición>]
<ámbito> - Porción del archivo a manipular, por
defecto es todo (ALL).
FOR/WHILE - Especifican las condiciones a cumplir.
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
DELETE RECORD 10
RECALL
dbCloseArea()
TITULO:
TEXTO:
REINDEX
REINDEX
------Reindexa la Base de Datos en uso, según el índice activo.
Sintaxis..: REINDEX
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
RELEASE
RELEASE
------Elimina las variables de memoria.
Sintaxis..:
RELEASE <lista de variables>/[ALL [LIKE/EXCEPT<estructura>]]
<lista de variables> - Son las que hay que elim inar.
<estructura> - Es una máscara de comodín para incluir
o excluir de la eliminación.
ALL - Solo eliminamos las variables del procedimiento
en curso, pero no de los superiores.
Librería..: CLIPPER.LIB
1º Año Analista de Sistemas – CAEDI 2002
Pagina 31 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
RENAME
RENAME
-----Renombra (cambia el nombre) ficheros. Antes de
renombrar un fichero en uso habrá que cerrarlo.
También hay que incluir la extensión (si tiene),
y si una Base de Datos a renombrar tienen un fichero ì(.DBT) asociado también se deberá de
cambiar el nombre.
Sintaxis..: RENAME <archivo1> TO <archivo2>
<archivo1> - Contiene el nombre que se ha de cambiar.
<archivo2> - Contiene el nuevo nombre.
Librería..: CLIPPER.LIB
Ejemplo...: RENAME Help.dbf TO Comandos.dbf
TITULO:
TEXTO:
REPLACE
REPLACE
------Cambia el contenido de los campos por el de las expresiones especificadas.
Sintaxis..:
REPLACE [<ámbito>] [<alias>->] <campo1> WITH <expr1>
[,<campo2> WITH <expr2> ...] [FOR <condición>]
[WHILE<condición>]
<ámbito> - Porción de archivo a manipular, por defecto
es todo (ALL).
<alias> - Reemplaza campos de otras áreas de trabajo
precedidos por su alias.
alias -> campo
<expr> - Expresión por la cual reemplazaremos el
campo.
FOR/WHILE- Especifican las condiciones a cumplir por
los registros.
Librería..: CLIPPER.LIB
Ejemplo...: SELECT 1
USE Alumnos ALIAS ALUM
SELECT 0
USE Recibo ALIAS REC
dbAppend()
REPLACE REC->REBALUM WITH ALUM->NOMALUM
READ
// ---dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Pagina 32 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
REPORT FORM
REPORT FROM
----------Muestra un informe por pantalla o impresora.
Sintaxis..:
REPORT FROM <archivo1> [<ámbito>] [FOR <condición>]
[WHILE <condición>] [TO PRINT]
[TO FILE <archivo2>] [SUMMARY] [PLAIN]
[HEADING<encabezado>] [NO EJECT]
<archivo1> - Es el nombre del archivo de formato, de
extensión (.frm), si no se especifica.
<ámbito> - Porción de archivo a manipular, por
defecto es todo (ALL).
FOR/WHILE - Condiciones a cumplir por los registros.
TO PRINT - Reenvía la salida a la impresora.
TO FILE <archivo2> - Reenvía la salida a un archivo de
texto (.txt).
SUMMARY - Visualiza un grupo, subgrupo y número
total de líneas.
PLAIN
- Suprime la visualización de la fecha,
el número y la paginación.
HEADING <encabezado> - Visualiza un encabezado en la
primera línea de cada página.
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes INDEX Clientes
REPORT FROM Clientes.frm TO PRINT
dbCloseArea()
TITULO:
TEXTO:
RESTORE
RESTORE
------Restaura las varibles de memoria de un archivo (.MEM)
en disco.
Sintaxis..:
RESTORE FROM <archivo> [ADDITIVE]
<archivo> - Es el archivo (.MEM) que cargamos desde
disco.
ADDITIVE - Agrega las variables cargadas al grupo de
variables existentes. Si los nombres son
iguales se sobreescriben a no ser que
esten ocultas.
Librería..: CLIPPER.LIB
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
Pagina 33 de 54
Ejemplo...: SAVE ALL LIKE COL* TO Config
// <instrucciones>
RESTORE FROM Config
TITULO:
TEXTO:
RESTORE SCREEN
RESTORE SCREEN
-------------Restaura una pantalla previamente salvada.
Sintaxis..: RESTORE SCREEN [FROM <variable>]
Librería..: CLIPPER.LIB
Ejemplo...: SAVE SCREEN TO cBuffer
// <instrucciones>
RESTORE SCREEN FROM cBuffer
TITULO:
TEXTO:
RETURN
RETURN
-----Termina un programa o procedimiento devolviendo el
control al procedimiento de llamada o al sistema
operativo.
Sintaxis..:
RETURN [<valor de respuesta de una función>]
Ejemplo...:
PROCEDURE <nombre procedimiento>
/*
<instrucciones>
*/
RETURN
FUNCTION <nombre función>
/*
<instrucciones>
*/
RETURN <valor de respuesta>
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
RUN/!
RUN/!
----Ejecuta un comando o programa DOS dentro de un
programa compilado.
Sintaxis..: RUN/! <orden/programa DOS>
Librería..: CLIPPER.LIB
Ejemplo...:
CLS
? "Escriba EXIT para volver al programa"
1º Año Analista de Sistemas – CAEDI 2002
Pagina 34 de 54
Guia de Comandos de Clipper
RUN COMMAND
TITULO:
TEXTO:
SAVE
SAVE
---Graba las variables de memoria indicadas en un archivo
de memoria (.MEM).
Sintaxis..:
SAVE <archivo> [ALL [LIKE/EXCEPT <estructura> ]]
<archivo> - Es el nombre del archivo donde se almacenarán.
La extensión por defecto es (.MEM).
<estructura> - Es la máscara de comodín para especificar
las variables de memoria a grabar.
Librería..: CLIPPER.LIB
Ejemplos..: COL_MENU = "W+/B"
COL_FONDO = "BG/N"
SAVE ALL LIKE COL* TO Config
TITULO:
TEXTO:
SAVE SCREEN
SAVE SCREEN
----------Guarda en una variable de memoria la pantalla actual.
La variable ha de ser de tipo carácter y ocupa 4000
bytes.
Sintaxis..: SAVE SCREEN [ TO <variable> ]
Librería..: CLIPPER.LIB
Ejemplo...: SAVE SCREEN TO cBuffer
TITULO:
TEXTO:
SEEK
SEEK
---Busca un dato en una clave índice.
Sintaxis..: SEEK <cualquier tipo de dato>
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes INDEX Nombres
cBusca := Space( 30 )
@ 24,00 SAY "Indique nombre a buscar: " GET cBusca
READ
Seek Trim( cBusca )
IF Found()
QOut( Clientes ->NOMBRE )
ENDIF
dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Pagina 35 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SELECT
SELECT
-----Selecciona una área de trabajo para nuestros archivos.
Sintaxis..: SELECT <área de trabajo>/<alias>
<área de trabajo> - Es un número entre 0 y 254.
La primera área de trabajo es cero.
<alias> - Es el seudónimo del área de trabajo.
Librería..: CLIPPER.LIB
Ejemplo...: SELECT 0
USE Clientes INDEX Clientes ALIAS CLI
SELECT 1
USE Facturas ALIAS FACT
SELECT CLI
// ...
dbCloseAll()
TITULO:
TEXTO:
SET ALTERNATE
SET ALTERNATE
------------Dirige las órdenes que no sean @...SAY...GET a un
fichero de texto. Por defecto esta en OFF.
Sintaxis..: SET ALTERNATE TO [<fichero>]
SET ALTERNATE ON/OFF
Librería..: CLIPPER.LIB
Ejemplo...: SET ALTERNATE TO document
SET ALTERNATE ON
// ...
SET ALTERNATE OFF
CLOSE ALTERNATE
TITULO:
TEXTO:
SET BELL
SET BELL
-------Activa/desactiva el sonido del timbre cuando llegamos
al final de un campo. Por defecto esta en OFF.
También podemos utilizar: ?? Chr(7)
Sintaxis..: SET BELL ON/OFF/<expr>
Librería..: CLIPPER.LIB
1º Año Analista de Sistemas – CAEDI 2002
Pagina 36 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET CENTURY
SET CENTURY
----------Activa/desactiva el uso de cuatro dígitos para los
años. Por defecto esta en OFF. La única ventaja de
ponerlo en ON estriba en poder manejar fechas que no
sean del siglo XX.
Sintaxis..: SET CENTURY ON/OFF/<expr>
Librería..: CLIPPER.LIB
Ejemplo...: SET CENTURY OFF
QOut( Date() ) // 15-03-92
SET CENTURY ON
QOut( Date() ) // 15-03-1992
TITULO:
TEXTO:
SET COLOR
SET COLOR
--------Define los colores de pantalla.
Sintaxis..:
SET COLOR/COLOUR TO [<normal> [,<realzada>] [,<borde>]
[,<fondo>] [,<sin escoger>]]/(<cadena>)
<normal>
: Color texto y fondo para los @...SAY.
<realzada> : Color texto y fondo para los get's.
<borde>
: Determina el color de los bordes.
<fondo>
: No compatible.
<sin escoger> : Permite que el GET en curso se vea
realzado.
<cadena>
: Podemos pasar los colores en forma de
cadena utilizando (&).
cCadena = "N/G"
set color to &cCadena
SET COLOR TO
Restablece los valores por defecto que son:
W/N,N/W,,,N/W
TABLA DE COLORES
---------------Color
Número
Letra
---------------- ------------------ ---------------NEGRO
0
N
AZUL
1
B
VERDE
2
G
CIAN
3
BG
ROJO
4
R
MAGENTA
5
RB
CASTAÑO
6
GR
BLANCO
7
W
Además pueden tener los siguientes atributos:
+ -> color alta densidad
* -> parpadeo (BLINK)
Librería..: CLIPPER.LIB
Ejemplo...: SET COLOR TO "W+/B,N/G"
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
Pagina 37 de 54
// O también:
cColor := "W+/B,N/G"
SET COLOR TO &cColor
TITULO:
TEXTO:
SET CONFIRM
SET CONFIRM
----------Activa/desactiva la confirmación de una tecla para los
GET's cuando estan llenos. Por defecto esta en OFF.
Sintaxis..: SET CONFIRM ON/OFF
Las siguientes teclas terminan las cláusulas GET's:
* Ctrl-Inicio
* Ctrl-Fin
* Flecha arriba
* Flecha abajo
* Ctrl-C, página arriba
* Ctrl-W, página abajo
* Esc
* Return
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET CONSOLE
SET CONSOLE
----------Visualiza las órdenes por pantalla o no.
Por defecto esta en ON.
Sintaxis..: SET CONSOLE ON/OFF
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
SET CONSOLE OFF
LIST nombre, dir, pob TO PRINT
SET CONSOLE ON
dbCloseArea()
TITULO:
TEXTO:
SET CURSOR
SET CURSOR
---------Activa/desactiva el cursor de la pantalla. No afecta a
la entrada de datos ya que lo único que hacemos es
ocultarlo. Por defecto esta en ON.
Sintaxis..: SET CURSOR ON/OFF
Librería..: CLIPPER.LIB
Ejemplo...: SET CURSOR OFF
do Pantalla // Pantalla logotipo
InKey(0)
SET CURSOR ON
1º Año Analista de Sistemas – CAEDI 2002
Pagina 38 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET DATE
SET DATE
-------Determina el formato de la fecha a visualizar y a
utilizar.
Sintaxis..:
SET DATE TO AMERICAN | ANSI | BRITISH | FRENCH
GERMAN | ITALIAN
El parámetro por defecto es AMERICAN, yo utilizó el
ITALIAN.
Formatos de SET DATE:
Parámetro
------------------AMERICAN
ANSI
BRITISH
FRENCH
GERMAN
ITALIAN
Formato
--------------------mm/dd/yy
yy.mm.dd
dd/mm/yy
dd/mm/yy
dd.mm.yy
dd-mm-yy
Librería..: CLIPPER.LIB
Ejemplo...: SET DATE TO ITALIAN
QOut( Date() )
// dd-mm-aa
TITULO:
TEXTO:
SET DECIMALS
SET DECIMALS
-----------Configura el número de decimales de funciones y
cálculos numéricos.
Sintaxis..: SET DECIMALS <nº de decimales>
Librería..: CLIPPER.LIB
Ejemplo...: SET DECIMALS TO 2
QOut( 3/2 )
// = 1.50
1º Año Analista de Sistemas – CAEDI 2002
Pagina 39 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET DEFAULT
SET DEFAULT
----------Determina la unidad y directorio de trabajo del
programa.
Sintaxis..:
SET DEFAULT TO <unidad> [:<ruta>]/[<cadena>]
Para establecer una ruta de búsqueda para acceso de
archivos use SET PATH. Ya que SET DEFAULT se usa para
los archivos de nueva creación.
SET DEFAULT TO, sin argumento, pasa al último
directorio usado por la unidad designada.
Librería..: CLIPPER.LIB
Ejemplo...: SET DEFAULT TO c:\clipper\programs
? File( "Clientes.dbf" ) // = .T.
TITULO:
TEXTO:
SET DELETED
SET DELETED
----------Activa/desactiva la visualización de los registros
marcados para borrar. Por defecto esta en OFF.
Cuando esta en ON se ignoran los registros marcados,
aunque podemos verlos si hacemos un GOTO.
Sintaxis..: SET DELETED ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET DELIMITERS
SET DELIMITERS
-------------Define los caracteres de limitación de los GET's.
Sintaxis..:
SET DELIMITERS ON/OFF
SET DELIMITERS TO [<cadena con los delimitadores>/DEFAULT]
Librería..: CLIPPER.LIB
Ejemplo...:
SET DELIMITERS TO "[]"
SET DELIMITERS ON
cNombre := Space( 20 )
@ 5,5 SAY "Nombre : " GET cNombre
READ
// Resultado = Nombre: [
]
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
TITULO:
TEXTO:
Pagina 40 de 54
SET DEVICE
SET DEVICE
---------Redirecciona las salidas por pantalla o por impresora.
Por defecto es por pantalla.
Sintaxis..: SET DEVICE TO SCREEN/PRINTER
Librería..: CLIPPER.LIB
Ejemplo...:
// -------------------------------------------------// Procedimiento: ListaCursos
// Descripción..: Ejemplo completo de impresión
// -------------------------------------------------PROCEDURE ListaCursos
LOCAL nPagina := 1
LOCAL nFila := 5
IF !IsPrinter()
// Impresora no conectada
do MsgImpresora // Mensaje que conecte
InKey(0)
ENDIF
SET DEVICE TO PRINT
USE Cursos INDEX Cursos
dbGoTop()
@ 0,0 SAY Chr(15) // Impresión comprimida
// Cabecera
@ 1,0 SAY "LISTADO CURSOS"
@ 1,115 SAY "Página : " + lTrim(Str(nPagina))
@ 2,115 SAY "Fecha..: " + DtoC(Date())
@ 3,0 SAY "Nº"
@ 3,10 SAY "Nombre Curso"
@ 3,90 SAY "Precio"
@ 4,0 SAY Replicate( Chr(196), 132 )
// Fin cabecera
// Ancho 132 es el máximo para impresoras de
// 80 columnas en modo comprimido
DO WHILE !Eof()
@ nFila, 0 SAY RecNo() PICTURE "9999"
@ nFila,10 SAY Cursos ->NOMCURSO
@ nfila,90 say Cursos ->PRECIO
nFila++
IF nFila >= 50
EJECT
// Salto de página
nPagina++
// Repetición de la cabecera
// etc.
nFila := 5
ENDIF
dbSkip()
// Incrementamos registro
ENDDO
dbCloseArea()
EJECT
@ 0,0 SAY Chr(18) // Desactivamos comprimido
SET DEVICE TO SCREEN
1º Año Analista de Sistemas – CAEDI 2002
Pagina 41 de 54
Guia de Comandos de Clipper
RETURN
// --------------------------------------------------
TITULO:
TEXTO:
SET EPOCH
SET EPOCH
=========
Controla la interpretación de fechas que no tienen
dígitos para el siglo.
Sintaxis..: SET EPOCH TO <nAño>
Librería..: CLIPPER.LIB
Ejemplo...: SET EPOCH TO 1995
? CTOD( "01/01/05" ) // = 01/01/2005
TITULO:
TEXTO:
SET ESCAPE
SET ESCAPE
---------Permite interrumpir un programa con ALT-C o con
READ-Esc. Si lo interrumpimos nos muestra un mensaje
de confirmación. Por defecto esta en ON.
Sintaxis..: SET ESCAPE ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET EXACT
SET EXACT
--------Determina como se compararán dos series de caracteres.
Por defecto esta en OFF.
Sintaxis..: SET EXACT ON/OFF
Cuando esta en OFF se siguen las siguientes reglas:
1) Las cadenas primero se consideran equivalentes
(.T.).
2) Luego se comparan las cadenas de acuerdo con la
posición de los caracteres, hasta que la longitud
de la serie situada a la derecha del operador se
agota o la comparación da (.F.).
Librería..: CLIPPER.LIB
Ejemplo...: SET EXACT OFF
? "123" = "12345"
// = .F.
? "12345" = "123"
// = .T.
? "123" = ""
// = .T.
? ""
= "123"
// = .F.
SET EXACT ON
? "123" = "123 "
? " 123" = "123"
// = .T.
// = .F.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 42 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET EXCLUSIVE
SET EXCLUSIVE
------------Permite el uso exclusivo o no Bases de Datos,
índices y campos memos, en redes locales.
Por defecto esta en ON.
Sintaxis..: SET EXCLUSIVE ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET FILTER
SET FILTER
---------Posibilita el filtrado de Bases de Datos
mediante la correspondiente condición.
Sintaxis..: SET FILTER TO [ <condición> ]
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
SET FILTER TO Clientes->CPOSTAL = "08240"
dbGotop()
LIST NOMBRE, DIRECCION, CPOSTAL
SET FILTER TO // Desactiva filtro
dbCloseArea()
TITULO:
TEXTO:
SET FIXED
SET FIXED
--------Determina si las salidas decimales serán según
SET DECIMALS. Por defecto esta en OFF.
Sintaxis..: SET FIXED ON/OFF
Cuando SET FIXED esta en OFF, los decimales se determinan según la operación a realizar:
Operación
Decimales visualizados
------------------- ---------------------------------Suma/resta
Opera con el mayor nº de decimales
Multiplicación
Suma de operandos decimales
División
SET DECIMALS
Exponenciación
SET DECIMALS
EXP(),LOG(),SQRT() SET DECIMALS
VAL()
El mismo como operando
Librería..: CLIPPER.LIB
Ejemplo...: SET DECIMALS TO 2
SET FIXED OFF
? 12.3456 + 10.12
// = 22.4656
? 10.1234 / 10.12
// = 1.00
1º Año Analista de Sistemas – CAEDI 2002
Pagina 43 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET FORMAT
SET FORMAT TO
------------Abre un fichero de formato para entradas/salidas.
Sintaxis..: SET FORMAT TO <procedimiento>
<procedimiento> - Puede ser un fichero (.PRG) o(.FMT).
Librería..: CLIPPER.LIB
Ejemplo...:
USE Cursos INDEX Cursos
SET FORMAT TO PantCursos
DO WHILE LastKey() != 27
dbAppend()
ENDDO
dbCloseArea()
RETURN
// -------------------------------------------------// Procedimiento : PantCursos
// -------------------------------------------------PROCEDURE PantCursos
CLS
@ 8,7 SAY "Código Curso....." GET Field->CODCURSO
@10,7 SAY "Nombre curso....." GET Field->NOMCURSO
RETURN
// --------------------------------------------------
TITULO:
TEXTO:
SET FUNCTION
SET FUNCTION
-----------Asigna cadenas de caracteres a teclas de función.
Sintaxis..:
SET FUNCTION <nº tecla función> TO <cadena>
Número tecla función Tecla función
-------------------- --------------------------1 - 10
F1 a F10
11 - 20
Shift-F1 a Shift-F10
21 - 30
Ctrl-F1 a Ctrl-F10
31 - 40
Alt-F1 a Alt-F10
Librería..: CLIPPER.LIB
Ejemplo...: SET FUNCTION 10 TO "Pulse tecla para..."
1º Año Analista de Sistemas – CAEDI 2002
Pagina 44 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET INDEX
SET INDEX
--------Abre los archivos de índices especificados y activa el
primero de la lista.
Sintaxis..: SET INDEX TO <lista de archivos>
<lista de archivos> - Puede ser hasta 15 archivos
(.NTX o .NDX), separados por comas. Se puede
incluir la letra de unidad y ruta, e incluso ì
utilizar macros (&).
CLOSE INDEX o SET INDEX TO, cierran todos los archivos
índice.
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
SET INDEX TO Nombre, Poblacion
// ...
dbCloseArea()
TITULO:
TEXTO:
SET INTENSITY
SET INTENSITY
------------Activa/desactiva la sobreiluminación de las cláusulas
GET's. Por defecto esta en ON, si esta en OFF, los
GET's y los SAY's son del mismo color.
Sintaxis..: SET INTENSITY ON/OFF
TITULO:
TEXTO:
SET KEY
SET KEY
------Asigna a una tecla la ejecución de un procedimiento.
Sintaxis..:
SET KEY <valor INKEY() de la tecla> TO[<procedimiento>]
Librería..: CLIPPER.LIB
Ejemplo...: SET KEY 28 TO Ayuda
TITULO:
TEXTO:
// F1=Ayuda
SET MARGIN
SET MARGIN
---------Determina el margen izquierdo para las salidas
impresas, incluyendo REPORT y LABEL FORM.
Por defecto el margen es cero.
Sintaxis..:
SET MARGIN TO <posición columna margen izquierdo>
Librería..: CLIPPER.LIB
Ejemplo...: SET MARGIN TO 5
1º Año Analista de Sistemas – CAEDI 2002
Pagina 45 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SET MESSAGE
SET MESSAGE
----------Indica la fila en que aparecerán los mensajes y si
estos estarán centrados.
Sintaxis..:
SET MESSAGE TO [<nº fila> [CENTER/CENTRE]]
SET MESSAGE TO, suprime la visualización de los
mensajes.
Librería..: CLIPPER.LIB
Ejemplo...:
(ver @...PROMPT, se muestra un menú completo)
TITULO:
TEXTO:
SET ORDER
SET ORDER
--------Determina el índice que permanecerá activo.
Sintaxis..: SET ORDER TO [ <nº índice> ]
<nº índice> - Puede estar comprendido entre 0 y 15.
SET ORDER TO 0 - Desactiva todos los ficheros índices.
Librería..: CLIPPER.LIB
Ejemplo...: USE Clientes
SET INDEX TO Nombre, Poblacion
// ...
SET ORDER TO 0
// Lista según archivo .DBF
SET ORDER TO 1
// Lista según NOMBRE.NTX
dbCloseArea()
TITULO:
TEXTO:
SET PATH
SET PATH
-------Especifica la ruta de búsqueda de archivos de Clipper.
Sintaxis..: SET PATH TO [ <lista de rutas> ]
<lista de rutas> - Identifica las rutas donde Clipper
buscará los archivos si no se encuentran
en el directorio en curso. Se han de incluir todas las secuencias de rutas a
buscar separadas por comas o por puntos y
comas.
SET PATH TO - Deja la lista de rutas, y Clipper solo
busca en el directorio actual.
Librería..: CLIPPER.LIB
Ejemplo...: SET PATH TO c:\clipper\programs,;
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
Pagina 46 de 54
c:\clipper\ficheros
TITULO:
TEXTO:
SET PRINT
SET PRINT
--------Activa/desactiva la salida hacia la impresora.
Por defecto esta en OFF.
Sintaxis..: SET PRINT ON/OFF
Librería..: CLIPPER.LIB
Ejemplo...:
USE Help INDEX Help
SET PRINT ON
// Salida impresa
SET CONSOLE OFF
// Suprime salida por pantalla
DO WHILE !Eof()
QOut( Help->COMANDO )
dbSkip()
ENDDO
EJECT
SET PRINT OFF
// Desactiva salida impresora
SET CONSOLE ON
// Activa salida por pantalla
dbCloseArea()
TITULO:
TEXTO:
SET PRINTER
SET PRINTER
----------Determina la impresora de la red local que
utilizaremos.
Sintaxis..:
SET PRINTER TO [ <impresora>/<archivo> ]
<archivo> - Envía todas las salidas de la impresora
incluyendo las instrucciones @...SAY al
archivo especificado, si no se especifica
extensión, se añade (.PRN).
SET PRINTER TO - Cierra el spool del archivo de
impresión.
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET PROCEDURE
SET PROCEDURE
------------Compila los archivos y procedimientos especificados .
Sintaxis..: SET PROCEDURE TO [ <archivo> ]
<archivo> - Si se omite la extensión, se asume que es
(.PRG).
Librería..: CLIPPER.LIB
Ejemplo...: SET PROCEDURE TO Clientes.PRG
1º Año Analista de Sistemas – CAEDI 2002
Pagina 47 de 54
Guia de Comandos de Clipper
SET PROCEDURE TO Proveed
SET PROCEDURE TO Material
TITULO:
TEXTO:
SET RELATION
SET RELATION
-----------Relaciona dos áreas de trabajo a través de un campo
clave. Muy útil para la realización de programas de
facturación.
Sintaxis..:
SET RELATION [ADDITIVE] TO [ <campo1> | RECNO() |
nº registro1 INTO <alias1>]
[,TO <campo2> | RECNO() | nº registro2
INTO <alias2>] ì...
ADDITIVE - Aumenta las relaciones a las relaciones ya
activas en el área de trabajo actual.
<campo> - Es el campo clave común a los archivos.
RECNO() - Relación por el número de registro actual.
<nº registro> - Relación por el nº de registro
especificado.
<alias> - Identificador del área de trabajo.
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes INDEX Nombre ALIAS FACT1 NEW
USE Facturas ALIAS FACT2 NEW
SET RELATION TO Nombre INTO Fact1
//...
dbCloseAll()
TITULO:
TEXTO:
SET SCOREBOARD
SET SCOREBOARD
-------------Desactiva la visualización de mensajes por parte de
Clipper en los READ's y en MEMOEDIT(). Por defecto
esta en ON.
Sintaxis..: SET SCOREBOARD ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET SOFTSEEK
SET SOFTSEEK
-----------Al fallar la búsqueda con SEEK, busca el siguiente
valor clave más alto. Por defecto esta en OFF.
1º Año Analista de Sistemas – CAEDI 2002
Pagina 48 de 54
Guia de Comandos de Clipper
Sintaxis..: SET SOFTSEEK ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET TYPEAHEAD
SET TYPEAHEAD
------------Fija el tamaño de la memoria intermedia del teclado.
Sintaxis..: SET TYPEAHEAD TO <número>
<número> - Puede estar comprendido entre 0 y 32768.
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET UNIQUE
SET UNIQUE
---------Evita la duplicación de claves al crear un nuevo
índice, si esta en ON. por defecto esta en OFF.
Sintaxis..: SET UNIQUE ON/OFF
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
SET WRAP
SET WRAP
-------Activa/desactiva la circularidad de un menú, es decir,
que cuando llegamos a la opción final, volvemos a la
opción inicial o no. Por defecto esta en OFF.
Sintaxis..: SET WRAP ON/OFF
Librería..: CLIPPER.LIB
Ejemplo...:
(ver @...PROMPT, donde se muestra un menú completo)
TITULO:
TEXTO:
SKIP
SKIP
---Mueve el puntero de registros del área activa.
Sintaxis..:
SKIP <nº de registros a saltar> [ALIAS <área activa>]
ALIAS - Mueve el puntero de registro en el área de trabajo
designada en vez de la que esta en curso.
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
DO WHILE .NOT. Eof()
QOut( Field->COMANDO )
dbSkip()
1º Año Analista de Sistemas – CAEDI 2002
Pagina 49 de 54
Guia de Comandos de Clipper
ENDDO
dbCloseArea()
TITULO:
TEXTO:
SORT
SORT
---Ordena una Base de Datos por uno o varios campos.
Sintaxis..:
SORT [<ámbito>] ON <campo1> [/A][/C][/D] [, <campo n>
[/A][/C][/D] TO <archivo> [FOR <condición>]
[WHILE <condición>]
<ámbito> - Porción de archivo a ordenar, por defecto
es todo (ALL).
<campo1>...<campo n> - Son los campos clave para la
ordenación.
/A
- Clasificación en orden ascendente.
/D
- Clasificación en orden descendente.
/C
- No hace distinción entre mayúsculas o
minúsculas.
<archivo>- Es el nombre del archivo destino, la extensión por defecto es (.DBF).
FOR/WHILE <condición> - Especifican las condiciones de
los registros a ordenar.
Los caracteres se clasifican por su valor ASCII, los
números se clasifican en orden numérico, las fechas en
orden cronológico y los campos lógicos no se pueden
ordenar.
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
SORT TO Help87 ON COMANDO /A
dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Guia de Comandos de Clipper
TITULO:
TEXTO:
Pagina 50 de 54
STATIC
STATIC
======
Declara e inicializa variables y matrices estáticas.
Una variable estática, es aquella que tiene un tiempo
de vida igual al del programa, pero que solo es
visible desde el procedimiento o función en que se
declara.
Una vez inicializada, va conservando su valor.
Sintaxis..:
STATIC <identificador> [[ := <inicializador> ], ... ]
Ejemplo...:
// De esta forma podemos saber el nº de veces
// que utilizamos una función de usuario.
FUNCTION Main()
? x()
? x()
// 1
// 2
RETURN NIL
FUNCTION x()
STATIC nVeces := 0
nVeces++
RETURN( nVeces )
TITULO:
TEXTO:
STORE
STORE
----Inicializa variables y asigna valores (en desuso).
Sintaxis..:
STORE <valor> TO <lista de variables>
Librería..: CLIPPER.LIB
Ejemplo...: STORE 0 TO nNumero1, nNumero2
1º Año Analista de Sistemas – CAEDI 2002
Pagina 51 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
SUM
SUM
--Suma los campos numéricos de una serie de registros.
Sintaxis..:
SUM [<ámbito>] <lista de valores numéricos a sumar>
TO <lista de variables> [FOR <condición>]
[WHILE <condición>]
<ámbito> - Porción de archivo a sumar, por defecto es
todo (ALL).
<lista de variables> - Son las que recibirán los valores
de SUM.
FOR/WHILE <condición> - Especifican las condiciones que
han de cumplir los registros.
Librería..: CLIPPER.LIB
Ejemplo...: USE Ventas
SUM Ventas->IMPORTE TO nSuma
dbCloseArea()
TITULO:
TEXTO:
TEXT
TEXT
---Muestra un texto por pantalla, por impresora o lo graba
en disco.
Sintaxis..:
TEXT [TO PRINT] [TO FILE <archivo>]
<texto>...
ENDTEXT
TO PRINT - Dirige la salida a impresora.
TO FILE - Dirige la salida a un archivo, la extensión
por defecto es (.TXT).
Librería..: CLIPPER.LIB
Ejemplo...: TEXT
Para obtener más información,
consulte su manual técnico.
ENDTEXT
1º Año Analista de Sistemas – CAEDI 2002
Pagina 52 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
TOTAL
TOTAL
----Halla los totales de campos numéricos de una Base de Datos.
Sintaxis..:
TOTAL ON [<ámbito>] [FIELDS <lista campos>] TO <archivo> [FOR ì
<condición>]
<condición>] [WHILE
<ámbito> - Es la porción del archivo a totalizar, por
defecto es todo (ALL).
FIELDS <lista campos> - Especifica la lista de campos
a totalizar.
TO <archivo> - Es el archivo destino, donde se copiarán
los resultados, por defecto la extensión es (.DBF).
FOR/WHILE <condición> - Especifican las condiciones a
cumplir.
Librería..: CLIPPER.LIB
Ejemplo...:
USE Clientes
TOTAL ON Fields IMPORTE TO Ventas
dbCloseArea()
TITULO:
TEXTO:
TYPE
TYPE
---Visualiza, imprime o graba un Fichero de texto.
Sintaxis..:
TYPE <archivo1> [TO PRINT] [TO FILE <archivo2>]
<archivo1> - Es el nombre y extensión del archivo a
visualizar.
TO PRINT - Imprime el archivo.
TO FILE <archivo2> - Nuevo nombre que le daremos al
grabarlo en disco, la extensión por
defecto es (.TXT).
Librería..: CLIPPER.LIB
Ejemplo...: TYPE Help.prg TO PRINT
1º Año Analista de Sistemas – CAEDI 2002
Pagina 53 de 54
Guia de Comandos de Clipper
TITULO:
TEXTO:
UNLOCK
UNLOCK
-----Desactiva el bloqueo de los ficheros o registros bloqueados
por el último usuario.
Sintaxis..: UNLOCK [ALL]
ALL - Quita todos los bloqueos en curso de todas las
áreas de trabajo.
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
UPDATE
UPDATE
-----Actualiza la Base de Datos activa con datos de otra ìBase de Datos.
Sintaxis..:
UPDATE ON <campo> FROM <nombre alias>
REPLACE <campo1> WITH <dato1> [,<campo2> WITH <dato2>]
... [RANDOM]
<campo> - Es el campo clave del área de origen, el otro
archivo también ha de estar ordenado por el
mismo campo.
<nombre alias> - Alias dado al área de trabajo de origen.
REPLACE <campo1> WITH <dato1> ... - Reemplaza los
campos del área de en curso con nuevos valores.
RANDOM - Lee completamente la Base de Datos de origen
sin importar su orden.
Librería..: CLIPPER.LIB
TITULO:
TEXTO:
USE
USE
--Abre una Base de Datos, activa sus índices y adjudica
su alias.
Sintaxis..:
USE [<cDbf> [INDEX <cNtx> [,<cNtx n>]
[EXCLUSIVE] [ALIAS <cAlias>]
<cDbf> - Es el archivo de base de datos.
INDEX <cNtx> ... <cNtx n> - Son los archivos índices.
EXCLUSIVE - Abre los archivos para uso exclusivo del
usuario en redes locales.
ALIAS <nombre alias> - Es el nombre con el que nos
referimos a los archivos.
Librería..: CLIPPER.LIB
1º Año Analista de Sistemas – CAEDI 2002
Pagina 54 de 54
Guia de Comandos de Clipper
Ejemplo...: USE Help INDEX Help ALIAS Ayuda
// ...
dbCloseArea()
TITULO:
TEXTO:
WAIT
WAIT
---Detiene la ejecución del programa y espera la pulsación
de una tecla, que se guarda en una variable.
Sintaxis..: WAIT [<cadena>][TO <variable>]
Librería..: CLIPPER.LIB
Ejemplo...:
TITULO:
TEXTO:
1)
WAIT TO cOpcion
IF cOpcion = "S" .OR. cOpcion = "s"
QUIT
ENDIF
2)
WAIT "¿ Quiere salir (S/N) ?" TO cOpcion
IF cOpcion = "S" .OR. cOpcion = "s"
QUIT
ENDIF
ZAP
ZAP
--Borra todos los registros de una Base de Datos. Hace lo ìmismo que DELETE ALL más PACK,
pero es mucho más rápida.
Sintaxis..: ZAP
Librería..: CLIPPER.LIB
Ejemplo...: USE Help
ZAP
dbCloseArea()
1º Año Analista de Sistemas – CAEDI 2002
Descargar
Colecciones de estudio