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