Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

FSTART()

Propósito

Iniciar leitura seqüencial a partir de um registro.

Sintaxe

FSTART (<exp.C1>, <exp.C2>, <vet.C1>, <vet.C2>)

Argumentos

<exp.C1>

representa o nome do arquivo do banco de dados em uso.

<exp.C2>

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.

Utilização

Inicia um processo de leitura seqüencial a partir de um determinado registro. Inicia a leitura a partir do registro que tenha o valor da chave de ordenação maior ou igual a expressão passada como argumento.

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 0 (zero) 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 caracter.

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 elementos de mesmo número em <vet.C2>. Esta relação é de 1 para 1.

Similar ao comando LOCATE START.

Exemplos

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"

** Inicia uma leitura seqüencial.

** Le o primeiro registro que tiver valor de

** id2_func maior ou igual a 123

ret = FSTART (arquivo,"123", vet_reg, vet_buf)

DO WHILE ret = 0

  ** Exibe valores dos campos

  ? " Grau de parentesco ", vet_buf[2]

  ? " Data de nascimento ", vet_buf[3]

  ?

* Continua a leitura seqüencial ate o fim do arquivo ** (ret # 0)

  ret = FCONTINUE (arquivo,vet_reg,vet_buf)

ENDDO

Consulte

LOCATE, FKEYORDER() e FLSTART().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!