Ler o registro seguinte em um acesso seqüencial.
FCONTINUE (<exp.C>, <vet.C1>, <vet.C2>)
|
<exp.C> |
representa o nome do arquivo do banco de dados em uso. |
|
<vet.C1> |
representa o nome de um vetor-cadeia com o nome dos itens que serão lidos. Deve ter tamanho mínimo de 12 caracteres. |
|
<vet.C2> |
representa o nome de um vetor-cadeia que receberá o valor dos itens lidos. Deve ter tamanho mínimo do maior item do registro. |
Preenche um vetor (<vet.C2>) com o valor dos itens lidos no arquivo determinado por <exp.C>. O registro lido é o seguinte pela chave de ordenação do arquivo (FKEYORDER ()).
Itens de arquivos que mantenham alguma ligação com o arquivo especificado (junção automática) também podem ser lidos, bastando para isso, declarar seus nomes em <vet.C1> e obter seus valores em <vet.C2>.
Retorna 0 (zero) se a leitura for bem sucedida , -1 quando chegou ao fim do arquivo (EOF () = .T.) ou um número referente ao erro de leitura (DBERR ()).
Utilizada na construção de programas ou procedimentos com independência de dados e aplicação.
Dispensa abertura de arquivo (USE), necessitando apenas, que exista um banco de dados em uso.
Converte automaticamente o valor dos itens para cadeias.
Deve haver coerência entre os elementos de <vet.C1> e <vet.C2> para que a leitura se dê corretamente, isto é, o número do elemento de <vet.C1>, que tem o nome do item a ser lido, deve corresponder ao valor do elemento de mesmo número em <vet.C2>. Esta relação é de 1 para 1. Similar ao comando CONTINUE.
O exemplo a seguir mostra-nos a utilização desta função.
DATABASE bdemp1 33 a 2
DECLARE vet_reg[3] = SPACE(12)
DECLARE vet_buf[3] = SPACE(10)
vet_reg[1] = "id2_func"
vet_reg[2] = "par_depe"
vet_reg[3] = "dat_depe"
arquivo = "tab_depe"
ret = FLOCATE (arquivo,vet_reg,vet_buf) && Inicia uma leitura seqüencial
DO WHILE ret = 0
** Exibe valores dos campos
? " Grau de parentesco ", vet_buf[2]
? " Data de nascimento ", vet_buf[3]
ret = FCONTINUE (arquivo,vet_reg,vet_buf) && Continua a leitura seqüencial até ret#0
ENDDO
CONTINUE, FDBMESS(), FLCONTINUE(), FLOCATE(), FRECNO() e FRECCOUNT().