Guia de Comandos de Clipper · PDF fileGuia de Comandos de Clipper 1º Año Analista...

54
Guia de Comandos de Clipper 1º Año Analista de Sistemas – CAEDI 2002 Pagina 1 de 54 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: @...BOX TEXTO: @...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: @...CLEAR TEXTO: @...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

Transcript of Guia de Comandos de Clipper · PDF fileGuia de Comandos de Clipper 1º Año Analista...

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 1 de 54

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: @...BOX TEXTO: @...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: @...CLEAR TEXTO: @...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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 2 de 54

TITULO: @...GET TEXTO: @...GET ------- Ver: - Comando @...SAY...GET - Objeto Get - Máscaras PICTURE

TITULO: @...PROMPT TEXTO: @...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: @...SAY...GET TEXTO: @...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> ]

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 3 de 54

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 ì dato. 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. 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 4 de 54

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: ACCEPT TEXTO: 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: APPEND BLANK TEXTO: 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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 5 de 54

RETURN NIL // --------------------------------------------------

TITULO: APPEND FROM TEXTO: 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 ì comas, y entre comillas. Los campos y registros tienen longitud variable. 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: AVERAGE TEXTO: 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> - Restricción de lso registros a procesar. FOR/WHILE - Condiciones a cumplir.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 6 de 54

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: BEGIN SEQUENCE TEXTO: 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: CALL TEXTO: CALL ---- Ejecuta un procedimiento en lenguaje C o Ensamblador. Sintaxis..: CALL <cProcedimiento> [ WITH <Lista Parametros> ] Librería..: CLIPPER.LIB

TITULO: CANCEL TEXTO: 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: CLEAR ALL TEXTO: CLEAR ALL --------- Cierra todos los ficheros de Bases de Datos abiertas, los ficheros índice, los de formato y los memo rela- cionados, y anula los GET's pendientes de leer. Sintaxis..: CLEAR ALL

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 7 de 54

Librería..: CLIPPER.LIB

TITULO: CLEAR GETS TEXTO: CLEAR GETS ---------- Anula todos los GET's pendientes de lectura. Sintaxis..: CLEAR GETS Librería..: CLIPPER.LIB

TITULO: CLEAR MEMORY TEXTO: 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: CLEAR SCREEN TEXTO: CLEAR SCREEN ============ Borra la pantalla y sitúa el cursor en la posición inicial. Sintaxis..: CLEAR [ SCREEN ] | CLS Librería..: CLIPPER.LIB

TITULO: CLEAR TYPEAHEAD TEXTO: CLEAR TYPEAHEAD --------------- Limpia la memoria intermedia del teclado. Sintaxis..: CLEAR TYPEAHEAD Librería..: CLIPPER.LIB

TITULO: CLOSE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 8 de 54

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: COMMIT TEXTO: 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: CONTINUE TEXTO: 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: COPY TEXTO: 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.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 9 de 54

<á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: COPY FILE TEXTO: 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: COPY STRUCTURE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 10 de 54

Ejemplo...: USE Clientes COPY STRUCTURE FIELDS NOMBRE, DIR, POB TO Etiqueta dbCloseArea()

TITULO: COPY STRUCTURE EXTENDED TEXTO: 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: COUNT TEXTO: 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: CREATE TEXTO: CREATE ------ Crea un archivo de Base de Datos de Estructura ampliada vacía. Sintaxis..: CREATE <archivo>

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 11 de 54

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: CREATE FROM TEXTO: 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.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 12 de 54

TITULO: DECLARE TEXTO: 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 sobrepasa- mos de los límites ( < 1 o > 4096), entonces toman los valores por defecto, 1 o 4096, se- gú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: DELETE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 13 de 54

READ IF cConfirma = "S" .OR. cConfirma = "s" Delete Record RecNo() PACK ENDIF

TITULO: DELETE FILE TEXTO: 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: DIR TEXTO: 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: DISPLAY TEXTO: 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.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 14 de 54

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: DO TEXTO: 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: DO CASE TEXTO: DO CASE ------- Estructura selectiva de bifurcación condicional.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 15 de 54

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: DO WHILE TEXTO: 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 - Provoca la salida del bucle. LOOP - 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: EJECT TEXTO: EJECT -----

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

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: ERASE TEXTO: 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: EXIT TEXTO: 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: EXTERNAL TEXTO: 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,

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 17 de 54

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 Clipper */ #include "extend.h" /* " " */ #include <dos.h> /* " 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: FIND TEXTO: 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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 18 de 54

TITULO: FOR...NEXT TEXTO: 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 - Fija incremento de la variable, si no se especifica es uno. EXIT - 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: FUNCTION TEXTO: FUNCTION -------- Declara una función definida por el usuario escrita en Clipper. Sintaxis..: FUNCTION <nombre función> <instrucciones> RETURN <valor de respuesta>

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 19 de 54

<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: GO/GOTO TEXTO: 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 elimi- narlo. BOTTOM - Movemos el puntero al último registro.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 20 de 54

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: IF TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 21 de 54

TITULO: INDEX TEXTO: 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 compati- bles con Dbase III+, de extensión (.NDX). Librería..: CLIPPER.LIB Ejemplo...: USE Clientes INDEX ON Field->Nombre TO Nombre // ... dbCloseArea()

TITULO: INPUT TEXTO: INPUT ----- Acepta la entrada de datos por teclado, evaluando el tipo de datos, y colocandolo en una variable de memo- ria. 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: JOIN TEXTO: 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 uniremos 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 22 de 54

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: KEYBOARD TEXTO: 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: LABEL FORM TEXTO: 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 compro- bació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.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 23 de 54

Librería..: CLIPPER.LIB Ejemplo...: USE Clientes LABEL FORM Clientes.lbl TO PRINT CODIGO = "08080" dbCloseArea()

TITULO: LIST TEXTO: 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 - Especifican las condiciones. TO PRINT - 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: LOCAL TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 24 de 54

TITULO: LOCATE TEXTO: 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: MEMVAR TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 25 de 54

TITULO: MENU TO TEXTO: 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: NOTE/*/&& TEXTO: NOTE | * | && | /* ... */ | // ------------------------------ Indica las líneas o las partes de ella que son comen- tarios. No se admite (;) como carácter de continua- ció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: PACK TEXTO: 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() ) // = 100 Delete Record 80

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 26 de 54

PACK QOut( LastRec() ) // = 99 dbCloseArea()

TITULO: PARAMETERS TEXTO: 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 // --------------------------------------------------

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 27 de 54

TITULO: PRIVATE TEXTO: 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: PROCEDURE TEXTO: 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 // --------------------------------------------------

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 28 de 54

TITULO: PUBLIC TEXTO: 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: QUIT TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 29 de 54

TITULO: READ TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 30 de 54

ENDIF

TITULO: RECALL TEXTO: 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: REINDEX TEXTO: REINDEX ------- Reindexa la Base de Datos en uso, según el índice activo. Sintaxis..: REINDEX Librería..: CLIPPER.LIB

TITULO: RELEASE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 31 de 54

TITULO: RENAME TEXTO: 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: REPLACE TEXTO: REPLACE ------- Cambia el contenido de los campos por el de las expre- siones 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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 32 de 54

TITULO: REPORT FORM TEXTO: 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: RESTORE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 33 de 54

Ejemplo...: SAVE ALL LIKE COL* TO Config // <instrucciones> RESTORE FROM Config

TITULO: RESTORE SCREEN TEXTO: 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: RETURN TEXTO: 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: RUN/! TEXTO: 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"

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 34 de 54

RUN COMMAND

TITULO: SAVE TEXTO: 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: SAVE SCREEN TEXTO: 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: SEEK TEXTO: 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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 35 de 54

TITULO: SELECT TEXTO: 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: SET ALTERNATE TEXTO: 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: SET BELL TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 36 de 54

TITULO: SET CENTURY TEXTO: 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: SET COLOR TEXTO: 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"

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 37 de 54

// O también: cColor := "W+/B,N/G" SET COLOR TO &cColor

TITULO: SET CONFIRM TEXTO: 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: SET CONSOLE TEXTO: 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: SET CURSOR TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 38 de 54

TITULO: SET DATE TEXTO: 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 Formato ------------------- --------------------- AMERICAN mm/dd/yy ANSI yy.mm.dd BRITISH dd/mm/yy FRENCH dd/mm/yy GERMAN dd.mm.yy ITALIAN dd-mm-yy Librería..: CLIPPER.LIB Ejemplo...: SET DATE TO ITALIAN QOut( Date() ) // dd-mm-aa

TITULO: SET DECIMALS TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 39 de 54

TITULO: SET DEFAULT TEXTO: 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: SET DELETED TEXTO: 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: SET DELIMITERS TEXTO: 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: [ ]

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 40 de 54

TITULO: SET DEVICE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 41 de 54

RETURN // --------------------------------------------------

TITULO: SET EPOCH TEXTO: 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: SET ESCAPE TEXTO: 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: SET EXACT TEXTO: 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 " // = .T. ? " 123" = "123" // = .F.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 42 de 54

TITULO: SET EXCLUSIVE TEXTO: 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: SET FILTER TEXTO: 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: SET FIXED TEXTO: 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 deter- minan 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 43 de 54

TITULO: SET FORMAT TEXTO: 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: SET FUNCTION TEXTO: 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..."

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 44 de 54

TITULO: SET INDEX TEXTO: 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: SET INTENSITY TEXTO: 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: SET KEY TEXTO: 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 // F1=Ayuda

TITULO: SET MARGIN TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 45 de 54

TITULO: SET MESSAGE TEXTO: 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: SET ORDER TEXTO: 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: SET PATH TEXTO: 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 in- cluir 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,;

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 46 de 54

c:\clipper\ficheros

TITULO: SET PRINT TEXTO: 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: SET PRINTER TEXTO: 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: SET PROCEDURE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 47 de 54

SET PROCEDURE TO Proveed SET PROCEDURE TO Material

TITULO: SET RELATION TEXTO: 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: SET SCOREBOARD TEXTO: 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: SET SOFTSEEK TEXTO: SET SOFTSEEK ------------ Al fallar la búsqueda con SEEK, busca el siguiente valor clave más alto. Por defecto esta en OFF.

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 48 de 54

Sintaxis..: SET SOFTSEEK ON/OFF Librería..: CLIPPER.LIB

TITULO: SET TYPEAHEAD TEXTO: 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: SET UNIQUE TEXTO: 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: SET WRAP TEXTO: 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: SKIP TEXTO: 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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 49 de 54

ENDDO dbCloseArea()

TITULO: SORT TEXTO: 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 exten- sió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()

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 50 de 54

TITULO: STATIC TEXTO: 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() // 1 ? x() // 2 RETURN NIL FUNCTION x() STATIC nVeces := 0 nVeces++ RETURN( nVeces )

TITULO: STORE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 51 de 54

TITULO: SUM TEXTO: 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: TEXT TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 52 de 54

TITULO: TOTAL TEXTO: 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>] [WHILE <condición>] <á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: TYPE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 53 de 54

TITULO: UNLOCK TEXTO: 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: UPDATE TEXTO: 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: USE TEXTO: 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

Guia de Comandos de Clipper

1º Año Analista de Sistemas – CAEDI 2002

Pagina 54 de 54

Ejemplo...: USE Help INDEX Help ALIAS Ayuda // ... dbCloseArea()

TITULO: WAIT TEXTO: 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...: 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

TITULO: ZAP TEXTO: 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()