Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
FCREATE( <expressão caracter> [ , <expressão numérica> ] )
Propósito
Cria um novo arquivo binário ou trunca um arquivo existente, deixando-o com zero bytes. Na criação do novo arquivo, fornece o número de manipulação deste, variando entre 0 e 65.535.
Argumentos
< expressão caracter >
Define o nome do novo arquivo binário a ser criado. Caso o arquivo já exista, o seu tamanho será truncado para zero.
< expressão numérica >
Define um atributo quanto ao tipo de arquivo binário a ser criado e as operações que serão permitidas. Se omitido, será considerado zero. Os atributos possíveis são relacionados na tabela abaixo:
Valor | Fileio.ch | Atributo | Descrição |
0 | FC_NORMAL | Normal | Permite a leitura e a gravação do arquivo. |
1 | FC_READONLY | Apenas leitura | Permite apenas a leitura do arquivo. A tentativa de gravá-lo fornece uma condição de erro. |
2 | FC_HIDDEN | Oculto | O nome do arquivo não é apresentado na pasta. |
4 | FC_SYSTEM | Sistema | O nome do arquivo não é apresentado na pasta. |
Utilização
Caso o arquivo especificado não exista, será criado e aberto para gravação de dados. Se o arquivo especificado já existir e puder ser aberto para gravação, será truncado para um tamanho zero. Se o arquivo já existir e não puder ser aberto para gravação, a função FCREATE() fornece o valor indicativo de erro -1 e a função FERROR() fornece o número do erro ocorrido.
Quando a função FCREATE() cria um novo arquivo binário, este é normalmente aberto no modo compartilhado e de leitura e gravação. O atributo especificado pela expressão numérica é aplicado ao novo arquivo apenas quando ele é fechado, permitindo a gravação de dados no novo arquivo criado, mesmo que ele seja apenas de leitura (read-only).
Um número de manipulação de arquivo sempre é requerido para identificar um determinado arquivo binário a ser processado pelas outras funções de manipulação de arquivos binários. Por esse motivo, o valor fornecido pela função CREATE() deve ser armazenado em uma variável, para que o arquivo criado possa ser posteriormente acessado pelas outras funções. Esse valor corresponde ao número de manipulação de arquivos binários e pode variar entre zero e 65.535.
Exemplos
A seguir um exemplo simples que cria um arquivo chamado Testfile e o abre para que seja lido e escrito:
#include "Protheus.ch"
LOCAL nHandle := FCREATE("Testfile", FC_NORMAL)
IF nHandle == -1
MsgAlert("O Arquivo não foi criado:" + STR(FERROR()))
BREAK
ELSE
FWRITE(nHandle, "Isto é uma mensagem")
FCLOSE(nHandle)
ENDIF