SplitPath [AS]

SplitPath [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 23/07/2021

Descrição

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

 

Sintaxe

SplitPath( <cArquivo>, <@cDrive>, <@cDiretorio>, <@cNome>, <@cExtensao> )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cArquivo Caracter Indica o nome do arquivo que será quebrado. Além disso, opcionalmente, pode-se incluir o diretório e unidade do disco   X  
02 cDrive Caracter Indica 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
03 cDiretorio Caracter Indica o nome do diretório. Caso o arquivo informado não possua diretório, a função retornará uma string em branco     X
04 cNome Caracter Indica 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
05 cExtensao Caracter Indica 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

 

Retorno

Retorno Tipo Descrição

 

Exemplo

#INCLUDE "TOTVS.CH"
 
User Function SplitPath()
Local cDrive	:= ''
Local cDir		:= ''
Local cNome		:= ''
Local cExt		:= ''
Local aArq		:= {}
 
Local cMensagem	:= ''
 
aAdd(aArq,'C:\TEMP\arquivo.LOG')
aAdd(aArq,'\path\update\arquivo.LOG')
 
For nI := 1 to Len(aArq)
 
	SplitPath( aArq[nI], @cDrive, @cDir, @cNome, @cExt )
	cMensagem += aArq[nI] + ' => ['+cDrive+'] ['+ cDir +'] ['+ cNome +'] ['+ cExt + ']' + CRLF
 
Next nI
 
MsgInfo( cMensagem, 'UniversoADVPL' )
 
Return( Nil )

Resultado
splitpath_-_resultado_01                                       

 

 

Informações adicionais

Todos os parâmetros, a partir do segundo, quando informados, devem ser por referência

O diretório, caso informado, incluíra uma barra como último caracter

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

Quando o Servidor de Aplicação estiver sendo executado em Linux, todas as informações retornadas pela função estarão em letras minúsculas, e as barras separadoras de diretório utilizadas serão "/"

 

 

 

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários