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.
Sintaxe
FCreate( < cArquivo >, [ nAtributo ], [ xParam3 ], [ lChangeCase ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cArquivo | caractere | Indica o nome do arquivo que será criado. Pode-se especificar um path absoluto ou relativo para criar arquivos no ambiente local (SmartClient) ou no servidor. | X |
|
nAtributo | numérico | Compatibilidade. Deve ser informado o valor nulo ( NIL ) ou 0 (zero), o arquivo sempre será criado com atributos default. |
|
|
xParam3 | nil | Compatibilidade. Deve ser informado o valor nulo ( NIL ) |
|
|
lChangeCase | lógico | Se .T., nome de arquivos e pastas serão convertidos para letras minúsculas, e se for .F. não altera o nome informado. Caso não especificado, o valor padrão é .T., exceto se houver a configuração das chaves de ini CASESENSITIVE ou SERVERTYPE. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
nRet | numérico | 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. |
Observações
- O parâmetro opcional lChangeCase foi introduzido a partir do build 7.00.131227A pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre o comportamento de CASE SENSITIVE definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE.
Exemplos
#include "Fileio.ch" user function exemplo() local nHandle := FCREATE("\Testfile.txt") if nHandle = -1 conout("Erro ao criar arquivo - ferror " + Str(Ferror())) else FWrite(nHandle, Time() + CRLF) FClose(nHandle) endif return