No vídeo de hoje, vamos demonstrar em como remover espaços vazios de uma string.
A dúvida de hoje, nos perguntaram, que mesmo dando um StrTran em espaço vazio a string continua apresentando espaços.
Pensando nisso, montamos um exemplo, onde vai ser demonstrado que existe diferença entre os caracteres 32, 160 e 9, e como podemos remover os 3 usando StrTran.
Segue abaixo o vídeo exemplificando:
E abaixo o código fonte desenvolvido:
//Bibliotecas
#Include "tlpp-core.th"
#Include "TOTVS.ch"
//Declaração da namespace
Namespace custom.terminal.youtube
/*/{Protheus.doc} User Function video0241
Exemplo de retirar espaços vazios de uma string
@type Function
@author Atilio
@since 28/08/2025
@example custom.terminal.youtube.u_video0241()
@obs Se quiser simular uma gravação: MemoWrite("C:\temp\teste.txt", Chr(160) + "|" + Chr(32) + "|" + Chr(9))
/*/
User Function video0241()
Local aArea := FWGetArea() As Array
Local cText := "" As Character
Local cTextNew := "" As Character
//Monta o texto
cText := "O rato roeu a roupa do Rei de roma, a rainha com raiva resolveu remendar. Num ninho de mafagafos, cinco mafagafinhos há! Quem os desmafagafizá-los, um bom desmafagafizador será."
//Teste 1 - Remove os espaços vazios e mostra a mensagem
cTextNew := StrTran(cText, " ", "")
ShowLog(cTextNew)
//Teste 2 - Remove os espaços vazios, inclusive de outros caracteres
cTextNew := StrTran(cText, " ", "") // Char 32 - Espaço comum
cTextNew := StrTran(cTextNew, Chr(160), "") // Char 160 - Espaço incomum
cTextNew := StrTran(cTextNew, Chr(9), "") // Char 9 - Tab
ShowLog(cTextNew)
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.