Alterar a chave de um arquivo para leitura seqüencial.
FKEYORDER (<exp.C1>, <exp.C2>)
|
<exp.C1> |
representa o nome do arquivo do banco de dados em uso. |
|
<exp.C2> |
representa o nome da chave para leitura seqüencial. |
Altera a chave corrente para um leitura seqüencial executada pelas funções FLOCATE (), FCONTINUE (), FLLOCATE (), FLCONTINUE (), FSTART () e FLSTART (), para que os registros sejam acessados na ordem da chave especificada por <exp.C2>.
Para que a leitura seja feita pela ordem de inclusão dos registros, basta que <exp.C2> seja uma cadeia com valor "0".
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.
Similar ao comando SET ORDER TO.
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 = KEYORDER (arquivo, "par_depe") && A leitura será na ordem da chave par_depe
ret = FLOCATE (arquivo, vet_reg, vet_buf)
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 ate o fim do arquivo
ENDDO
SET ORDER, FLOCATE(), FLCONTINUE(), FSTART() e FLSTART().