Cria um diretório.
Sintaxe
MakeDir( < cPath >, [ uParam2 ], [ lChangeCase ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cPath | caractere | Indica o nome do diretório que será criado. | X |
|
uParam2 | numérico | Parâmetro de compatibilidade. Passar Nil. |
|
|
lChangeCase | lógico | Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão (.T.). Veja maiores informações em Observações. |
|
|
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 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 comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
- 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.
Exemplos
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