Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/6062824/tecnologia.css
|
Pagetitle | ||
---|---|---|
|
...
...
...
|
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 | ||
---|---|---|
| ||
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#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",""}MsgInfo("Verifique o resultado no log de console." , "StrTokArr2 - Exemplo" )Return |
Resultado do Exemplo
...
Abrangência
Protheus 11, Protheus 12
...