Função: FCreate
Cria um arquivo vazio no disco, para operação de escrita em modo exclusivo, com o tamanho de 0 ( zero ) bytes.Se o arquivo especificado já existe no disco, o arquivo é aberto em modo exclusivo, e seu conteúdo é eliminado ( truncado em 0 bytes ).Caso a operação não seja completa com sucesso, a função retorna o handler -1, caso contrário é retornado o handler de acesso ao arquivo, para operações de escrita.
FCreate ( < cArquivo>, [ nAtributo], [ xParam3], [ lChangeCase] ) --> nRet
Nome | Tipo | Descrição | Obrigatório | Referência |
cArquivo | Caracter | Indica o nome do arquivo que será criado. Além disso, pode-se especificar um path absoluto ou relativo para criar arquivos no ambiente local (Smart Client) ou no servidor. | X | |
nAtributo | Numérico | Parâmetro mantido por compatibilidade, não é considerado na criação do arquivo. Deve ser informado o valor NIL ou 0 (zero), o arquivo sempre será criado com atributos default. | ||
xParam3 | Nulo | Compatibilidade. Deve ser informado o valor nulo ( NIL ) | ||
lChangeCase | Lógico | Caso seja verdadeiro (.T.) , o nome do arquivo informado será automaticamente convertido para letras minúsculas ; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão : .T. ( verdadeiro ) |
-
nRet(numerico)
- Retorna o handle do arquivo para ser usado nas demais funções de manutenção de arquivo. O handle será maior ou igual a zero. Caso não seja possível criar o arquivo, a função retornará o handle -1. Para obter mais detalhes da casua da ocorrência, utilize a função FError().
FCreate() é uma função de baixo nível que permite a manipulação direta dos arquivos textos como binários. Ao ser executada, cria um arquivo ou elimina o seu conteúdo e retorna o handle (manipulador) do arquivo para ser usado nas demais funções de manutenção de arquivo. Após ser utilizado, o arquivo deve ser fechado através da função FClose().
Quando é informado um path relativo (ex: "\temp\arquivo.txt") o arquivo será salvo no servidor; para que o mesmo seja salvo na máquina cliente (smartclient) é necessário informar um path absoluto (ex: "C:\home\user\arquivo.txt"). Em clientes UNIX, a letra de drive informada será ignorada, os caracteres '\' serão automaticamente convertidos em '/' e o arquivo citado no exemplo anterior seria então gravado em "/home/user/arquivo.txt".
Caso o arquivo já exista, o conteúdo do mesmo será eliminado e seu tamanho truncado para 0 (zero) bytes. Caso seja necessário alguma alteração no atributo do arquivo, utilizar a função chmod().
#include "Fileio.ch"...// criar arquivo texto vazio a partir do root path no servidornHandle := FCREATE("\Testfile.txt")If nHandle = -1 conout("Erro ao criar arquivo - ferror " + Str(Ferror()))Else // escreve a hora atual do servidor em string no arquivo FWrite(nHandle, Time() + CRLF) FClose(nHandle)EndIf