Páginas filhas
  • _ADVPL_strToDynArrayByToken

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Realizar a divisão de uma cadeia de texto, usando um token Token como delimintador e distribuindo o resultado dos valores obtidos identificados em linhas de uma lista (ARRAY) de tipo simples (ARRAY OF CHAR).

...

Bloco de código
_ADVPL_strToDynArrayByToken( < cText >, < a4GLReturnArray >, < cToken >)

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

cText

CHAR

Sim

Texto de origem para ter seu conteúdo dividido em partes, de acordo com um delimitador.

a4GLReturnArray

ARRAY OF CHAR

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âmetor cText, respeitando a cadeia de caracteres indicada como delimitador.

(aviso) Este parâmetro deverá ser uma variável do tipo ARRAY SIMPLES, ou seja, na linguagem 4GL ela é definida como ARRAY OF CHAR. Assim sendo, não deve-se utilizar aqui um parâmetro que seja, por exemplo, ARRAY OF RECORD.

(aviso) O array pode ou não ter uma quantidade de linhas na sua definição, no entanto a função sempre irá eliminar todas suas linhas e o retorno sempre será um ARRAY na quantidade de linhas correspondente a quantidade de ocorrências encontradas, conforme o delimitador de valores informado.

Exemplo:
DEFINE la_values ARRAY[] OF CHAR(300)

cToken

CHAR

Sim

Um caracter ou uma sequência de caracteres que é reconhecido como o delmitador dos valores contidos no parâmetro cText.

Retorno

(aviso) 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.(aviso) 

...

Bloco de código
languageruby
themeConfluence
linenumberstrue
#---------------------------------------#
 FUNCTION strToDynArrayByToken_test()
#---------------------------------------#
  DEFINE l_text CHAR(1000)
  DEFINE la_values ARRAY[] OF CHAR(5)

  #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")
END FUNCTION

...

Disponível a partir do pacote Logix 12.1.22092403.

Veja também

STRING_isEqual

STRING_isEmptystrToDynArrayBySize