FOpen [AS]

FOpen  [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 22/07/2021

Descrição

Abre um arquivo binário. É uma função de tratamento de arquivo de baixo nível que abre um arquivo binário existente para que possa ser lido e escrito, dependendo do argumento no parâmetro <nModo>.

 

Sintaxe

FOpen( <cArq>, <nModo>, <uParam3>, <lChangeCase> )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cArq
Caracter Indica o nome do arquivo que será aberto que inclui o path, caso haja um
  X  
02 nModo Numérico Indica o modo de acesso DOS solicitado que indicará como o arquivo aberto deve ser acessado. O acesso é uma das categorias relacionadas na tabela A e as retrições de compartilhamento estão na tabela B. O modo padrão é 0 (zero), aberto para leitura, com compartilhamento por compatibilidade. Ao definirmos o modo de acesso, deve-se somar um elemento da tabela A com a B      
03 uParam3 Indefinido Compatibilidade      
04 lChangeCase Boolean Indica se, verdadeiro (.T.), a busca do nome do arquivo deve ser em letra minúscula; caso contrário, falso (.F.), a busca será realizada conforme foi escrito  .T.    

 

Retorno

Retorno Tipo Descrição
nRet Numérico
Retorna o handle de arquivo aberto, na faixa de 0 a 65.535. Caso ocorra um erro, o retorno será -1.

 

Exemplo

#INCLUDE "TOTVS.CH"
#INCLUDE 'FILEIO.CH'

User Function FOpen()
Local nHandle := fopen('\TEST.TXT' , FO_READWRITE + FO_SHARED )

If nHandle == -1
 MsgStop('Erro de abertura : FERROR ' + Str(fError(), 4), 'UniversoADVPL' )
Else
 MsgInfo('Arquivo aberto com sucesso.', 'UniversoADVPL')
 fclose(nHandle) // Fecha arquivo
Endif

 
Return( Nil )

Resultado
fopen_-_resultado_01                                       

 

 

Informações adicionais

Toda vez que houver um erro na abertura do arquivo, a função FError() pode ser utilizada para retornar o código de erro do sistema operacional. Por exemplo, caso o arquivo não exista, a função FOpen() retornará -1 e FError() retornará 2 para indicar que o arquivo não foi encontrado

Caso o arquivo especificado seja aberto, o valor retornado é o handle (manipulador) do sistema operacional para o arquivo. Este valor é semelhante a um alias no sistema de banco de dados e é exigido para identificar o arquivo aberto para as outras funções de tratamento de arquivo. Portanto, é importante sempre atribuir o valor que foi retornado a uma variável para uso posterior

 

 

NMODO – TABELA A – MODOS DE ACESSO A ARQUIVOS BINÁRIOS

0 FO_READ
Aberto para leitura (padrão).
1 FO_WRITE
Aberto para gravação
2 FO_READWRITE
Aberto para leitura e gravação

 

 

NMODO – TABELA B – MODOS DE ACESSO DE COMPARTILHAMENTO A ARQUIVOS BINÁRIOS

0 FO_COMPAT
Modo de compatibilidade (padrão)
16 FO_EXCLUSIVE
Acesso total exclusivo
32 FO_DENYWRITE
Acesso bloqueado a gravação de outros processos ao arquivo
48 FO_DENYREAD
Acesso bloqueado a leitura de outros processos ao arquivo
64 FO_DENYNONE
Acesso compartilhado. Permite a leitura e gravação por outros processos ao arquivo
64 FO_SHARED
Igual à FO_DENYNONE

 

 

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários