No vídeo de hoje, vamos demonstrar em como abrir um arquivo dtc (CTREE) manualmente via AdvPL usando DbUseArea.
A dúvida de hoje, nos perguntaram, se seria possível abrir antigos arquivos com a extensão .dtc.
Pensando nisso, montamos esse exemplo, onde demonstramos em como utilizar a função DbUseArea para abrir esse tipo de arquivo, e assim ter acesso aos dados contido nele.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} zVid0094
Exemplo de como abrir um arquivo dtc (ctree) via programação
@type user function
@author Atilio
@since 19/01/2024
/*/
User Function zVid0094()
Local aArea := FWGetArea()
Local cRDD := "CTREECDX"
Local cAliasArq := GetNextAlias()
Local cArquiAtu := "\x_temp\arquivo.dtc"
Local cMensagem := ""
//Somente se o arquivo existir
If File(cArquiAtu)
//Abre o arquivo CTREE
DbUseArea(.T., cRDD, cArquiAtu, cAliasArq, .F., .F.)
//Se tiver dados, exibe uma mensagem
If ! (cAliasArq)->(EoF())
cMensagem := "Arquivo " + cArquiAtu + " aberto com sucesso!" + CRLF + CRLF
cMensagem += "Agora você pode fazer laços de repetição e usar comandos como DbSkip." + CRLF + CRLF
cMensagem += "Na primeira linha, tem essa informação: " + (cAliasArq)->X3_CAMPO + CRLF
ShowLog(cMensagem)
//Senão, avisa que não encontrou informações
Else
FWAlertInfo("Não tem dados!", "Arquivo: " + cArquiAtu)
EndIf
(cAliasArq)->(DbCloseArea())
EndIf
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.