BOF()
 Determina quando é encontrado o início do arquivo
------------------------------------------------------------------------------

 Sintaxe

     BOF() --> lLimite

 Retorno

     BOF() retorna verdadeiro (.T.) após uma tentativa de utilizar o comando
     SKIP para cima do primeiro registro lógico em um arquivo de banco de
     dados; do contrário, ele retorna falso (.F.).  Caso nao haja um arquivo
     de banco de dados aberto na área de trabalho corrente, BOF() retorna
     falso (.F.).  Se o arquivo de banco de dados nao possuir registros,
     BOF() retorna verdadeiro (.T.).

 Descriçao

     BOF() é uma funçao de tratamento de bancos de dados utilizada para
     verificar se atingiu-se o início do arquivo quando o ponteiro de
     registros é movido para trás com o comando SKIP.  Um exemplo simples de
     utilizaçao é uma lista de registros em ordem descendente com um arquivo
     de índice de ordem ascendente.  Um exemplo mais sofisticado é uma
     rotina de paginaçao de tela que vira uma página para frente ou para
     trás no arquivo de banco de dados corrente baseado na tecla que o
     usuário pressionar.  Quando o usuário tentar voltar uma página, você
     utilizaria BOF() para testar uma condiçao de início de arquivo antes de
     usar o comando SKIP para mover o ponteiro de registros e re-escrever a
     tela.

     Uma vez que a funçao BOF() retorne verdadeiro (.T.), ela reterá seu
     valor até que haja outra tentativa de mover o ponteiro de registros.

     O padrao é que esta funçao opere na área de trabalho correntemente
     selecionada.  Pode-se fazê-la operar em uma área de trabalho nao
     selecionada se esta for especificada dentro de uma expressao alias
     (veja o exemplo abaixo).

     O comando SKIP é o único comando de movimentaçao de registros que pode
     fazer BOF() retornar verdadeiro (.T.).

 Exemplos

       O exemplo a seguir demonstra a utilizaçao da funçao BOF() em
        uma tentativa de mover o ponteiro para antes do primeiro registro:

        USE Sales NEW
        ? RECNO(), BOF()                           // Resulta: 1 .F.
        SKIP -1
        ? RECNO(), BOF()                           // Resulta: 1 .T.

       Este exemplo utiliza exepressoes alias para questionar o
        valor de BOF() em áreas de trabalho nao selecionadas:

        USE Sales NEW
        USE Customer NEW
        USE Invoices NEW
        ? Sales->(BOF()), Customer->(BOF())

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: EOF() SKIP