Validar o tamanho de um arquivo em AdvPL | Ti Responde 005

No vídeo de hoje, iremos responder a dúvida em como validar o tamanho de um arquivo em AdvPL.

Hoje, a dúvida foi feita pelo grande Romero, onde, além de verificar se um arquivo existe, ele perguntou como validar o tamanho do arquivo, para não pegar conteúdo inválido.

Com isso em mente, é necessário usar a classe FWFileReader e usar o método GetFileSize, que retorna o tamanho do arquivo em bytes, e com isso podemos usar nas nossas customizações para validar.

E abaixo o código fonte desenvolvido para exemplificar:

//Bibliotecas
#Include "TOTVS.ch"
 
/*/{Protheus.doc} User Function zVid05
Função de exemplo para validar o tamanho de um arquivo em AdvPL
@type  Function
@author Atilio
@since 27/11/2021
@version version
/*/
 
User Function zVid05()
    Local aArea    := GetArea()
    Local cArquivo := "C:\OBS\Atilio Sistemas\Q100 Fácil.mp4"
    Local oFile
    Local nTamanho := 0
    Local cMascara := "@E 999,999,999,999,999,999"
 
    //Realiza a abertura do arquivo para pegar o tamanho em bytes
    oFile := FWFileReader():New(cArquivo)
    If oFile:Open()
        nTamanho := oFile:GetFileSize()
        oFile:Close()
    EndIf
 
    //Se tiver tamanho, exibe uma mensagem para o usuário
    If nTamanho > 0
        MsgInfo("O arquivo <strong>" + cArquivo + "</strong>, possui <strong>" + Alltrim(Transform(nTamanho, cMascara)) + " bytes</strong>", "Atenção")
    EndIf
 
    RestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta