Á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

Versão 1 Próxima »

Função: SplitPath

Divide um diretório completo em todas as suas subpartes (drive, diretório, nome e extensão).

SplitPath ( < cArquivo>, [ @cDrive], [ @cDiretorio], [ @cNome], [ @cExtensao] ) --> Nil

NomeTipoDescriçãoObrigatórioReferência
cArquivoCaracterIndica o nome do arquivo que será quebrado. Além disso, opcionalmente, pode-se incluir o diretório e unidade do disco. X
cDriveCaracterIndica o nome da unidade do disco (exemplo: C:\). Caso o arquivo informando não possua a unidade de disco ou o diretório refira-se ao servidor, a função retornará uma string em branco. X
cDiretorioCaracterIndica o nome do diretório. Caso o arquivo informado não possua diretório, a função retornará uma string em branco. X
cNomeCaracterIndica o nome do arquivo sem extensão. Caso o parâmetro cArquivo não seja informado, a função retornará uma string em branco. X
cExtensaoCaracterIndica a extensão do arquivo informado, no parâmetro cArquivo, pré-fixada com um ponto ".". Caso a extensão, no parâmetro cArquivo, não seja especificada, a função retornará uma string em branco. X
Nil (Nulo)
  • Todos os parâmetros, a partir do segundo, quando passados, devem ser por referência.
  • O diretório, caso informado, incluíra uma barra como último caractere.
  • A extensão, quando retornada, sempre incluirá o ponto (.) antes da extensão.
  • Essa função não valida a sintaxe do diretório e/ou arquivo digitado, nem a existência do mesmo.
  • Essa função é utilizada para determinar, em uma string, os elementos que compõe um diretório para a localização de um arquivo.
  • Todos os arquivos locais e no servidor, podem ser informados nessa função.
//Exemplo 1Local cDrive, cDir, cNome, cExtSplitPath( 'c:\path\arquivo.ext', @cDrive, @cDir, @cNome, @cExt )/* Retorno cDrive // Resultado: "c:"cDir   // Resultado: "\path\"cNome  // Resultado: "arquivo"cExt   // Resultado: ".ext"*/-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//Exemplo 2//No exemplo abaixo , exemplificamos o funcionamento da função SplitPath , usando combinações de nomes de arquivos com ou sem drive , caminho , nome de arquivo e/ou extensão. User Function TSTSplit()Local aArq := {} , cDrive, cDir, cNome, cExtaadd(aArq,'c:\path\arquivo.ext')aadd(aArq,'c:\path\arquivo')aadd(aArq,'c:\path\')aadd(aArq,'c:\arquivo')aadd(aArq,'\path\arquivo.ext')aadd(aArq,'path\arquivo')aadd(aArq,'\\servidor\pasta\')aadd(aArq,'\\servidor\pasta\arquivo.ext')aadd(aArq,'')For nI := 1 to len(aArq)   SplitPath( aArq[nI], @cDrive, @cDir, @cNome, @cExt )   conout( aArq[nI] + '      ['+cDrive+'] ['+ cDir +'] ['+ cNome +'] ['+ cExt + ']')Next//Após executado o programa acima, deve ser exibido no console do Protheus Server o texto abaixo : c:\path\arquivo.ext [c:] [\path\] [arquivo] [.ext]c:\path\arquivo [c:] [\path\] [arquivo] []c:\path\      [c:] [\path\] [] []c:\arquivo [c:] [\] [arquivo] []\path\arquivo.ext [] [\path\] [arquivo] [.ext]path\arquivo      [] [path\] [arquivo] []\\servidor\pasta\ [] [\\servidor\pasta\] [] []\\servidor\pasta\arquivo.ext [] [\\servidor\pasta\]      [arquivo] [.ext] [] [] [] []
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos