
Iniciar uma leitura invertida de um conjunto de registros que tenham o mesmo valor de uma chave.
FLSEEK (<exp.C1>, <exp.C2>, <exp.C3>, <vet.C1>, <vet.C2>)
|
<exp.C1> |
representa o nome de arquivo do banco de dados em uso. |
|
<exp.C2> |
representa o nome da chave a pesquisar. |
|
<exp.C3> |
representa um valor para chave pesquisada. |
|
<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. |
Lê um grupo de registros de um arquivo que tenham o mesmo valor para uma chave.
Itens de arquivos que mantenham alguma ligação com o arquivo especificado também podem ser lidos, bastando para isso, declarar seus nomes em <vet.C1> e obter seus valores em <vet.C2>.
Retorna zero (0) se a leitura for bem sucedida, -1 se nenhum registro atendeu a pesquisa (EOF () = .T. e FOUND () = .F.) 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 caractere.
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 um para um.
Similar ao comando SEEK.
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"
** Le todos os registros que tenham de id2_func igual a ** ** 123 começando pelo ultimo.
ret = FLSEEK(arquivo,"id2_func","123",vet_reg,vet_buf)
** Exibirá a quantidade de registros na cadeia.
? FCHAIN (arquivo)
SEEK, REVERSE, FSEEK(), FLSKIP() e FSEEK().
