No artigo de hoje, vamos falar sobre a diferença entre utilizar a função SubStr e SubString em AdvPL e TL++.
Geralmente para pegar parte de uma string, utilizamos a função SubStr, que recebe a posição inicial, e a quantidade de caracteres que irá buscar.
Só que existe uma outra função, que faz algo similar, a SubString. Mas como assim similar?
A grande diferença das duas, é com a SubStr, você não precisa passar a quantidade de caracteres que irá buscar, sendo um parâmetro opcional, já na SubString é obrigatório passar essa informação.
Abaixo um exemplo de um código fonte ilustrando esse cenário.
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zTstSubs
Função criada para testar a diferença entre SubStr e SubString
@type Function
@author Atilio
@since 01/06/2022
@version version
/*/
User Function zTstSubs()
Local aArea := FWGetArea()
Local cTexto := "Atilio Sistemas"
Alert(SubStr( cTexto, 8, 3)) //"Sis" (a partir da posição 8, pegando 3 caracteres)
Alert(SubStr( cTexto, 8 )) //"Sistemas" (a partir da posição 8)
Alert(SubString(cTexto, 8, 3)) //"Sis" (a partir da posição 8, pegando 3 caracteres)
Alert(SubString(cTexto, 8 )) //Error Log (com Substring, é obrigatório passar a quantidade de caracteres)
FWRestArea(aArea)
Return
Dica enviada pelo Bruno Comin ( LinkedIn ).
Bom pessoal, por hoje é só.
Abraços e até a próxima.