Tempo de leitura: 2 minutos
A função ExistDir em ADVPL verifica se uma pasta ou dirétório informado como parâmetro existe. Ela é uma das funções de Manipulação de Arquivos, Discos e IO em ADVPL.
🧠 O que é a função ExistDir em ADVPL?
Se você trabalha com desenvolvimento no Protheus utilizando ADVPL, em algum momento vai precisar verificar se uma pasta ou diretório existe no sistema.
É exatamente para isso que serve a função ExistDir.
Essa função permite validar se um diretório existe antes de executar operações como:
- Gravação de arquivos
- Leitura de dados
- Geração de logs
- Integrações externas
⚠️ Por que é importante validar diretórios no ADVPL?
Um dos erros mais comuns em rotinas ADVPL é tentar manipular arquivos em caminhos que não existem.
Isso pode causar:
- Falha na execução da rotina
- Erros silenciosos difíceis de rastrear
- Problemas em integrações
- Perda de dados
🛠️ Como usar a função ExistDir no ADVPL
Sintaxe:
ExistDir(cDir, uPar, lMin)
Parâmetros
Retorno:
Exemplo da função ExistDir em ADVPL:
//Bibliotecas
#Include "Protheus.ch"
#INCLUDE "TBICONN.CH"
#INCLUDE "topconn.ch"
#include "TOTVS.CH"
/*{Protheus.doc} User Function fExisDir
(Essa função tem por finalidade mostrar a função ExistDir em ADVPL)
@type Function
@author Adilio Costa
@since 08/07/2023
@version 1.0
@Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@Conheça os Cursos do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fExisDir()
Local cDir :="/system"
Local cDir2 := "c:/protheusadvpl"
//Passamos apenas a pasta "\system" para ExistDir
If(ExistDir(cDir))
FWAlertInfo("O diretório "+cDir+" existe no Protheus!","Função ExistDir")
Else
FWAlertInfo("O diretório "+cDir+" não existe no Protheus!","Função ExistDir")
EndIf
//Passamos apenas o caminho completo "c:/protheusadvpl" para ExistDir
If(ExistDir(cDir2))
FWAlertInfo("O diretório "+cDir2+" existe nessa máquina!","Função ExistDir")
Else
FWAlertInfo("O diretório "+cDir2+" não existe nessa máquina!","Função ExistDir")
EndIf
Return
Bem pessoal e era isso que tínhamos pra falar da função ExistDir, espero que vocês tenham entendido o funcionamento da função, até mais e um grande abraço.
Link de referência: