Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
FOPEN( <expressão caracter> [ , <expressão numérica> ] )
Propósito
Abre um arquivo binário, fornecendo o respectivo número de manipulação do arquivo.
Argumentos
<expressão caracter>
Define o nome do arquivo que será aberto, incluindo a pasta e o drive, caso não sejam os correntes.
<expressão numérica>
Define o modo de abertura do arquivo, indicando como ele poderá ser acessado. Se este argumento não for especificado, será assumido o padrão zero. Os valores possíveis são:
Modo | Fileio.ch | Operação |
0 | FO_READ | Apenas leitura. |
1 | FO_WRITE | Apenas gravação. |
2 | FO_READWRITE | Leitura e gravação. |
Utilização
O número de manipulação do arquivo fornecido pela função FOPEN() varia entre zero e 65.535. Se ocorrer algum erro, a função retorna o valor -1.
Como esse número de manipulação do arquivo é necessário para identificá-lo junto às outras funções de manipulação de arquivos, o valor fornecido pela função FOPEN() deverá sempre ser armazenado em uma variável de memória, para utilização posterior.
Dicas
Sempre que ocorrer um erro de abertura de arquivo, a função FOPEN() fornecerá o valor -1. Neste caso, a função FERROR() poderá ser utilizada para determinar o tipo de erro ocorrido. Por exemplo, se FOPEN() fornecer o valor -1 e FERROR() fornecer o valor 2, significará que o arquivo especificado não foi encontrado. Consulte a função FERROR() para verificar a lista de erros.
O número de manipulação de arquivos, fornecido pelas funções FOPEN() e FCREATE(), equivale ao alias de um arquivo de dados.
Exemplos
Neste exemplo, a função FOPEN() é utilizada para abrir o arquivo Teste.txt no modo de leitura e gravação.
#include “Protheus.ch”
FUNCTION AbreArq()
LOCAL nArq := FOPEN(“Teste.txt”, FO_READWRITE)
IF FERROR() <> 0 .AND. nArq == -1
MsgAlert(“Erro de abertura. Código: “ + STR(FERROR()))
RETURN
ENDIF