Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Disponibilidade da função no Protheus 12

...

  • 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, para a versão do Protheus 11. Na versão Protheus 12 a função está disponível a partir da build com data superior a 25/02/2015.

Exemplos

Bloco de código
languagecpp
themeEclipselanguagecpp
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, "StrTokArr2 - Exemplo" )

...