Descrição
SplitPath [AS] - 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
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
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! 😎