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.