Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

 

 

portuguese

Pagetitle
StrTokArr2

...

...

...

StrTokArr2

Retorna um array, de acordo com os dados passados como parâmetro à função. Desta forma, a função receberá uma string e uma sequência de um ou mais caracteres, que representa um separador, onde cada porção da string entre

...

separadores será um elemento do array retornado.

Sintaxe

Bloco de código
collapsefalse
StrTokArr2( <
cValue>
 cValue >, <
cToken>
 cToken >, [ lEmptyStr ] )
--> aRet

Parâmetros

...

 

Nome

Tipo

Descrição

Obrigatório

Referência

cValue

...

caractere

Indica a string que será separada.

X

 

cToken

...

caractere

Indica um ou mais caracteres (Token) que serão utilizados como separadores.

X

 

lEmptyStr

...

lógico

Indica se elementos vazios também devem ser retornados. Valor default = .F.

 

 

 

Retorno

Nome

Tipo

Descrição

...

aRet

...

vetor

...

Retorna um array de caracteres que representa a string passada como parâmetro tokenizada pelo separador informado.

 

...

Observações

  • A função StrTokArr2

...

  • considera a

...

  • sequência de caracteres informada em cToken como um separador, enquanto a função StrTokArr

...

  • considera cada caractere informado em <cToken> como um separador.
  • A função

...

  • ignora qualquer ocorrência de ASCII 0 na string informada como parâmetro, podendo ser utilizada para tokenização de strings com caracteres especiais e de controle.

...

  • StrTokArr2 está disponível apenas a partir da

...

  • build 7.00.131227A com data de geração superior a 08/09/2014.

Exemplos

Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
#DEFINE CRLF Chr(13)+Chr(10)
user function tokarr2()
  Local cMessage := "", cValue
  Local nI := 0, nJ := 0
  Local aArray := Array( 12, 2 )
  
  aArray[1][1] := "A01"
  aArray[1][2] := StrTokArr2( "A,", "," )
  
  aArray[2][1] := "A02"
  aArray[2][2] := StrTokArr2( ",B", "," )
  
  aArray[3][1] := "A03"
  aArray[3][2] := StrTokArr2( ",", "," )
  
  aArray[4][1] := "A04"
  aArray[4][2] := StrTokArr2( "A,,B", "," )
  
  aArray[5][1] := "A05"
  aArray[5][2] := StrTokArr2( "A,,,B", "," )
  
  aArray[6][1] := "A06"
  aArray[6][2] := StrTokArr2( "ABRACADABRA", "BRA" )
  
  aArray[7][1] := "A11"
  aArray[7][2] := StrTokArr2( "A,", ",", .T. )
  
  aArray[8][1] := "A12"
  aArray[8][2] := StrTokArr2( ",B", ",", .T. )
  
  aArray[9][1] := "A13"
  aArray[9][2] := StrTokArr2( ",", ",", .T. )
  
  aArray[10][1] := "A14"
  aArray[10][2] := StrTokArr2( "A,,B", ",", .T. )
  
  aArray[11][1] := "A15"
  aArray[11][2] := StrTokArr2( "A,,,B", ",", .T. )
  
  aArray[12][1] := "A16"
  aArray[12][2] := StrTokArr2( "ABRACADABRA", "BRA", .T. )
  
  for nI := 1 to Len( aArray )
    cMessage += ( aArray[nI][1] + " --- " )
    
    for nJ := 1 to Len( aArray[nI][2] )
      cValue := IIf( aArray[nI][2][nJ] == "", '""', aArray[nI][2][nJ] )
      cMessage += IIf( nJ == 1, cValue, ", " + cValue )
    next nJ
    
    cMessage += CRLF
  next nI
  
return MsgInfo( cMessage

 

User Function Exemplo()
//+----------------------------------------------------------------------------+
//|Exemplifica o uso da função StrTokArr2 |
//|Depende da função varinfo() do framework do ERP |
//|O resultado com o retorno da função será gerado no log de console |
//+----------------------------------------------------------------------------+
varinfo("a1",strtokarr("A," ,",")) //retorna {"A"}
varinfo("a2",strtokarr(",B" ,",")) //retorna {"B"}
varinfo("a3",strtokarr("," ,",")) //retorna {}
varinfo("a4",strtokarr("A,,B" ,",")) //retorna {"A","B"}
varinfo("a5",strtokarr("A,,,B" ,",")) //retorna {"A","B"}
varinfo("a6",strtokarr("ABRACADABRA" ,"BRA")) //retorna {"A","CADA"}
varinfo("a1",strtokarr("A," ,",",.t.)) //retorna {"A",""}
varinfo("a2",strtokarr(",B" ,",",.t.)) //retorna {"","B"}
varinfo("a3",strtokarr("," ,",",.t.)) //retorna {"",""}
varinfo("a4",strtokarr("A,,B" ,",",.t.)) //retorna {"A","","B"}
varinfo("a5",strtokarr("A,,,B" ,",",.t.)) //retorna {"A","","","B"}
varinfo("a6",strtokarr("ABRACADABRA" ,"BRA",.t.)) //retorna {"A","CADA",""}
MsgInfo("Verifique o resultado no log de console."
, "StrTokArr2 - Exemplo" )
Return

Resultado do Exemplo

...

Image Added

Abrangência

Protheus 11, Protheus 12

 

 

 

...

Veja também