Descrição
MakeDir [AS] - Cria um diretório.
|
Sintaxe
| MakeDir( <cPath>, <uParam1>, <lChangeCase> ) |
Parâmetros
| Par |
Nome |
Tipo |
Descrição |
Default |
Obg |
Ref |
01
|
cPath |
Caracter |
Indica o nome do diretório que será criado |
|
X |
|
| 02 |
uParam1 |
Indefinido |
Compatibilidade |
|
X |
|
| 03 |
lChangeCase |
Boolean |
Indica se colocará o nome do diretório em letra minúscula |
.T. |
|
|
Retorno
| Retorno |
Tipo |
Descrição |
| nRet |
Numérico
|
Retorna zero (0), se o diretório for criado com sucesso; caso contrário, retorna diferente de zero.
|
Exemplo
#INCLUDE "TOTVS.CH"
User Function MakeDir()
Local nRet := MakeDir( "\compactar" )
If nRet <> 0
Conout( "Não foi possível criar o diretório. Erro: " + cValToChar( FError() ) )
Endif
Return( Nil )
Resultado
Informações adicionais
|
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
|
|
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
|
|
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.120420A, o comportamento de mudança para letra minúscula, para Linux, pode ser alterado modificando o valor da chave CaseSensitive, na seção General, do arquivo ini do TOTVS | Application Server. Essa mudança impacta outras funções que também tratam arquivos
|
|
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
|
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎