Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 8 Próxima »

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

  • Sem rótulos