Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
FSEEK( <expressão numérica 1>, <expressão numérica 2> [ , <expressão numérica 3> ] )
Propósito
Move o ponteiro do arquivo binário para uma nova posição.
Argumentos
< expressão numérica 1>
Define o número de manipulação que identifica o arquivo binário a ser processado. Esse número é obtido pelas funções FOPEN() ou FCREATE().
< expressão numérica 2>
Define o número de bytes no qual o ponteiro de arquivos deve ser deslocado, a partir da posição atual definida pela expressão numérica 3. Este número poderá ser positivo ou negativo, dependendo da direção na qual o ponteiro deverá ser movido (para frente ou para trás).
< expressão numérica 3>
Define a origem do deslocamento do ponteiro de arquivos, antes de ser iniciada a execução da função FSEEK(). É indicada por um dos valores relacionados na tabela abaixo. A origem padrão assumida pelo AdvPL é zero. Ou seja, o início do arquivo.
Origem | Fileio.ch | Descrição |
0 | FS_SET | A partir do início do arquivo. |
1 | FS_RELATIVE | A partir da posição atual do ponteiro. |
2 | FS_END | A partir do fim do arquivo. |
Utilização
Todo arquivo binário possui um ponteiro associado. Este ponteiro é posicionado sobre cada um de seus bytes à medida que operações de abertura ( FOPEN() ), leitura ( FREAD() e FREADSTR() ), gravação ( FWRITE() ) ou posicionamento ( FSEEK() ) são efetuadas sobre eles.
Dicas
O ponteiro não pode ser deslocado além do início ou do fim do arquivo. Portanto, se a origem do deslocamento for o fim do arquivo, definido pela expressão numérica 2 igual à 2, a expressão numérica 1 deve resultar necessariamente num número negativo ou zero.
Exemplos
LOCAL cArq := FOPEN(“Teste.txt”) // Abre o arquivo
LOCAL nTamanho := FSEEK(cArq, 0, 2) // Determina o tamanho do arquivo
FSEEK(cArq, 0, 1) // Fornece a posição atual do ponteiro
FSEEK(cArq, 0, 0) // Retorna à posição inicial do ponteiro