BOF ( )

 Determina si se ha encontrado o no el inicio del fichero

Sintaxis

     BOF() –> lLímite

Devuelve

BOF() devuelve verdadero (.T.) si se ha intentado saltar antes del primer registro lógico de un fichero; en caso contrario, devuelve falso (.F.). Si no hay un fichero de base de datos abierto en el área de trabajo actual, BOF() devuelve falso (.F.). Si el fichero de base de datos actual no contiene registros, BOF() devuelve verdadero (.T.).

Descripción

BOF() es una función de base de datos que sirve para comprobar una condición de límite cuando el usuario desplaza el puntero de registro por el fichero utilizando el mandato SKIP. Un ejemplo sencillo de utilización sería una lista de registros en orden descendente que tuviera un fichero de índice en orden ascendente. Un ejemplo más complejo sería una rutina que desplazara páginas, en el fichero actual hacia delante o hacia atrás según la tecla que el usuario hubiera pulsado. Al desplazarse hacia atrás, es necesario utilizar BOF() para comprobar la condición de principio de fichero antes de utilizar el mandato SKIP para desplazar el puntero de registro y redibujar la pantalla.

Una vez que BOF() toma el valor verdadero (.T.), mantiene este valor hasta que se realice otro intento de desplazar el puntero de registro.

Por defecto, BOF() opera en el área de trabajo seleccionada. Para utilizarla en un área de trabajo no seleccionada, es necesario especificarla con una expresión de alias (consulte el ejemplo siguiente).

El mandato SKIP es el único mandato de movimiento de registros que puede hacer que BOF() tome el valor verdadero (.T.).

Ejemplos

     ¦  Este ejemplo utiliza la función BOF() intentando desplazar el cursor antes del primer registro:

        USE Ventas NEW

        ? RECNO(), BOF()               // Resultado: 1 .F.

        SKIP -1

        ? RECNO(), BOF()               // Resultado: 1 .T.

     ¦  El ejemplo siguiente utiliza expresiones de alias para comprobar el valor de BOF() en áreas de trabajo no seleccionadas:

        USE Ventas NEW

        USE Cliente NEW

        USE Facturas NEW

        ? Ventas->(BOF()), Cliente->(BOF())

 Ficheros:  La biblioteca asociada es DPXBASE.CH.