Cria um diretório.
Sintaxe
MakeDir( < cPath >, [ uParam1 ], [ lChangeCase ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cPath | caractere | Indica o nome do diretório que será criado. | X |
|
uParam1 | numérico | Parâmetro de compatibilidade. Passar Nil. |
|
|
lChangeCase | lógico | Indica se colocará o nome do diretório em letra minúscula. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
nRet | numérico | Retorna zero (0), se o diretório for criado com sucesso; caso contrário, retorna diferente de zero. |
Observações
- MakeDir é uma função de baixo nível que cria um diretório no disco. Quando informado um path relativo – sem unidade de disco (ex: "\home\user\teste"), o diretório será criado no servidor, abaixo do RootPath. Para criar um diretório na máquina cliente (onde o SmartClient está sendo executado), é necessário informar um path absoluto – com unidade de disco (ex: "C:\home\user\teste").
- A função cria apenas o último diretório informado em <cPath>, não criando os diretórios intermediários, caso informados. Utilizando o exemplo de criação da pasta "\home\user\teste", o caminho completo antes da pasta teste ("\home\user") deve existir. Caso, por exemplo, a pasta user não exista, a função retornará erro e não criará o diretório.
- O valor retornado pela função serve apenas para indicar falha na operação, mas não têm relação com a causa da falha. Para identificar o motivo do erro, devemos chamar a função FError.
- Para a criação de um diretório na máquina cliente, quando o SmartClient estiver sendo executado em uma estação Linux e/ou Mac, também devemos informar uma unidade de disco no path; porém esta informação será ignorada pelo Smartclient, e as contra-barras separadoras do path ( "\" ) serão internamente convertidas para as barras separadoras do Linux ( "/" ). Por exemplo, a criação da pasta "C:\home\user\teste" será interpretada pelo SmartClient Linux e/ou Mac para criar a pasta "/home/user/teste", a partir da raiz de arquivos do sistema.
- Ao executar essa função em JOB (processo isolado do servidor, sem interface), não é possível especificar um Path absoluto de disco. Caso isso seja realizado, o retorno da função será -1 e a função FError retornará -1 (Syntax Error).
- O caminho de cPath será convertido para letra minúscula. A partir da build 7.00.121227A, o caminho não será convertido para letra minúscula para Logix.
- A partir da build 7.00.131227A foi criado o parâmetro lChangeCase, que se for definido com o valor .T., altera o nome dos arquivos e pastas para letra minúscula, e se for .F. não altera o nome informado. O valor padrão do parâmetro é .T..
- Em ambiente Windows, os nomes de arquivos e pastas não possuem diferenciação entre maiúsculo e minúsculo, logo, a função conseguirá tratar a pasta apontada por cPath independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, os nomes dos arquivos e pastas respeitam a diferenciação.
Exemplos
Exemplo 1
user function exmkdir() Local nRet := MakeDir( "\test" ) if nRet != 0 conout( "Não foi possível criar o diretório. Erro: " + cValToChar( FError() ) ) endif return
Abrangência
Todas as versões
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas