ORDKEYDEL()
 Elimina una clave de un orden personalizado
------------------------------------------------------------------------------
 Sintaxis

     ORDKEYDEL([<cOrden> | <nPosición>],
        [<cFichIndice>],
        [<expValorClave>]) --> lExito

 Argumentos

     <cOrden> | <nPosición> es el nombre del orden o un número que
     representa su posición en la lista de órdenes. Es preferible utilizar
     un nombre en vez de una posición ya que con esta última puede existir
     confusión en ficheros índice con varios órdenes. Si se omite o se
     establece a NIL, se utiliza el orden de control por defecto.

     Si se especifica un orden incorrecto, se produce un error de
     ejecución.

     <cFichIndice> es el nombre de un fichero índice, incluyendo
     opcionalmente la unidad y el directorio (no es necesario especificar la
     extensión). Este argumento puede utilizarse junto con <cOrden> para
     deshacer la ambigüedad en situaciones en las que existen dos o más
     órdenes con el mismo nombre en ficheros índice distintos.

     Si el proceso actual no ha abierto <cFichIndice>, se produce un error
     de ejecución.

     <expValorClave> es el valor clave que se va a eliminar del registro
     actual. El tipo de datos debe coincidir con el del orden. Si no se
     especifica, se evalúa la expresión clave en el registro actual y se
     elimina del orden.

 Devuelve

     ORDKEYDEL() devuelve el valor verdadero (.T.) si la función se ejecuta
     satisfactoriamente; de lo contrario, devuelve el valor falso (.F.).

 Descripción

     ORDKEYDEL() elimina una clave de un orden personalizado, es decir,
     aquel que el controlador DBFCDX no actualiza de forma automática.
     Puede comprobarse si un orden es personalizado utilizando
     DBORDERINFO(DBOI_CUSTOM, ...). Inicialmente el orden está vacío. Para
     añadir y eliminar claves de forma manual hay que utilizar las funciones
     ORDKEYADD() y ORDKEYDEL().

     Nota: Un orden existente se puede convertir en un orden
     personalizado llamando a la función DBORDERINFO().

     ORDKEYDEL() evalúa la expresión clave (o <expValorClave>, si existe), y
     a continuación elimina la clave del registro actual del orden.

     ORDKEYDEL() no se ejecuta de forma satisfactoria si:

      El puntero del registro está situado en un registro no válido
        (por ejemplo, cuando EOF() devuelve el valor verdadero (.T.), cuando
        el puntero del registro está fuera del ámbito o cuando no se cumple
        la condición FOR)

      El orden especificado no es personalizado

      El orden especificado no existe

      No se ha especificado ningún orden y no existe orden de
        control

     Por defecto, esta función opera en el área de trabajo seleccionada. Si
     desea utilizarla en otra área de trabajo, debe especificarla con una
     expresión de alias.

 Ejemplos

      Este ejemplo crea un índice personalizado, añade uno de cada
        cincuenta registros y elimina uno de cada cien:

        USE Cliente VIA "DBFCDX"
        // Crea un índice personalizado vacío
        INDEX ON Apellidos TO Apellid CUSTOM

        // Añade uno de cada cincuenta registros
        FOR n := 1 TO RECCOUNT() STEP 50
           GOTO n
           ORDKEYADD()
        NEXT

        // Elimina uno de cada cien registros
        FOR n := 1 TO RECCOUNT() STEP 100
           GOTO n
           ORDKEYDEL()
        NEXT

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: ORDFOR() ORDKEYADD() ORDSCOPE()