Realizar a divisão de uma cadeia de texto, usando um Token como delimitador e distribuindo o resultado dos valores identificados em linhas de uma lista (ARRAY) de tipo simples (ARRAY OF CHAR).
Sintaxe
_ADVPL_strToDynArrayByToken( < cText >, < a4GLReturnArray >, < cToken >)
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
|---|---|---|---|
cText |
| Sim | Texto de origem para ter seu conteúdo dividido em partes, de acordo com um delimitador. |
a4GLReturnArray |
| Sim | Nome da variável 4GL do tipo ARRAY OF CHAR que irá receber a atribuição dos valores resultantes da divisão do conteúdo do parâmetro cText, respeitando a cadeia de caracteres indicada como delimitador.
|
cToken |
| Sim | Um caracter ou uma sequência de caracteres que é reconhecido como o delimitador dos valores contidos no parâmetro cText. |
Retorno
Apesar desta função não possui um retorno no formato padrão, o seu retorno é realizado por referência no parâmetro de entrada da função chamado a4GLReturnArray. Leia as informações deste parâmetro acima no tópico Parâmetros.
Exemplo
#---------------------------------------#
FUNCTION strToDynArrayByToken_test()
#---------------------------------------#
DEFINE l_text CHAR(100)
DEFINE la_values ARRAY[] OF CHAR(5)
DEFINE l_idx SMALLINT
#Separar os valores encontrados num conteúdo texto, usando o delimitador como "|"
LET l_text = "AAA|BBB|CCCC|DDDDD|EE|"
CALL _ADVPL_strToDynArrayByToken(l_text,la_values,'|')
CALL conout("TOTAL DE VALORES ENCONTRADOS = "||arrayLength(la_values)||" LINHAS")
FOR l_idx = 1 TO arrayLength(la_values)
CALL conout("Valor "||LOG_alltrim(l_idx)||" = "||la_values[l_idx] CLIPPED)
END FOR
END FUNCTION
Informações
Fontes: string.prw
Disponível a partir do pacote Logix 12.1.2403.