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 como delimintador delimitador e distribuindo o resultado dos valores identificados em linhas de uma lista (ARRAY) de tipo simples (ARRAY OF CHAR).

Sintaxe

...

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

parâmetro cText, respeitando a cadeia de caracteres indicada como delimitador.

(aviso) Este parâmetro deverá ser uma variável do tipo ARRAY

SIMPLES

simples, ou seja, na linguagem 4GL ela é definida como ARRAY OF CHAR. Assim sendo, não se 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

com a quantidade de linhas correspondente a quantidade de ocorrências encontradas, conforme o delimitador de valores informado.

Exemplo:

DEFINE

   DEFINE la_values ARRAY[] OF CHAR(300)

cToken

CHAR

Sim

Um caracter ou uma sequência de caracteres que é reconhecido como o

delmitador

delimitador 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) 

Exemplo

...

Bloco de código
languageruby
themeConfluence
linenumberstrue
#---------------------------------------#
 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.

Veja também

...

_ADVPL_strToDynArrayBySize