SKIP
 Move o ponteiro de registro para uma nova posiçao
------------------------------------------------------------------------------

 Sintaxe

     SKIP [<nRegistros>] [ALIAS <idAlias> | <nAreaTrabalho>]

 Argumentos

     <nRegistros> é uma expressao numérica que especifica o número de
     registros para mover o ponteiro a partir da posiçao corrente.  Um valor
     positivo especifica deslocamento do ponteiro para frente e valores
     negativos significam deslocamento do ponteiro para trás.

     ALIAS <idAlias>|<nAreaTrabalho> especifica o nome alias como
     literal ou a área de trabalho como expressao numérica.

     SKIP especificado sem argumentos move o ponteiro 1 registro para
     frente.

 Descriçao

     SKIP move o ponteiro para uma nova posiçao relativa à posiçao corrente
     na área corrente e dentro do filtro corrente, caso exista um.  SKIP é
     geralmente usado para operaçoes com relatórios, que necessitam mover o
     ponteiro para o próximo registro.

     Se o alias for especificado, o ponteiro pode ser movido em outra área
     sem selecioná-la.  SKIP pode mover o ponteiro para frente ou para
     trás.  Caso nao exista índice ativo, SKIP move o ponteiro relativo à
     posiçao corrente no arquivo destino.  Se existe um índice ativo, SKIP
     move o ponteiro relativo à posiçao corrente no índice ao invés do
     arquivo de dados.

     SKIP a frente em posiçoes além do fim de arquivo com o ponteiro em
     LASTREC() + 1 e EOF() sempre retornam verdadeiro (.T.).  Mover o
     ponteiro para antes do BOF() retona verdadeiro (.T.).

     Em rede, qualquer movimentaçao de ponteiro, inclusive SKIP, irá tornar
     as modificaçoes na área corrente visíveis a outras aplicaçoes se o
     arquivo corrente está SHARED e as alteraçoes foram feitas durante um
     RLOCK().  Se, entretanto, as modificaçoes forem feitas durante um
     FLOCK(), a visibilidade nao é garantida até a liberaçao do travamento,
     um COMMIT, ou o fechamento do arquivo.  Para forçar uma atualizaçao a
     ser visível sem mudar a posiçao corrente, use SKIP 0.  Leia o capítulo
     sobre programaçao em rede no livro Programando e Utilitários para
     maiores informaçoes.

 Exemplos

       O exemplo seguinte usa SKIP com vários argumentos e mostra o
        resultado:

        USE Customers NEW
        SKIP
        ? RECNO()                              // Resulta: 2
        SKIP 10
        ? RECNO()                              // Resulta: 12
        SKIP -5
        ? RECNO()                              // Resulta: 7

       O exemplo seguinte move o ponteiro em áreas remotas:

        USE Customers NEW
        USE Invoices NEW
        SKIP ALIAS Customers

       Este exemplo imprime um relatório usando SKIP para mover o
        ponteiro sequencialmente através do arquivo:

        LOCAL nLine := 99
        USE Customers NEW
        SET PRINTER ON
        DO WHILE !EOF()
           IF nLine > 55
              EJECT
              nLine := 1
           ENDIF
           ? Customer, Address, City, State, Zip
           nLine++
           SKIP
        ENDDO
        SET PRINTER OFF
        CLOSE Customers

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

See Also: COMMIT GO LOCATE SEEK BOF() EOF() RECNO()