Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
|
Pagetitle | ||||
---|---|---|---|---|
|
Função: StrTokArr
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 | ||
---|---|---|
| ||
StrTokArr( <cValue> cValue >, <cToken> ) --> aRet cToken > )
|
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 |
|
Retorno
Nome |
---|
...
Tipo |
---|
...
Descrição |
---|
aRet |
...
vetor |
...
Retorna um array de caracteres que representa a string passada como parâmetro. |
...
...
Observações
- Cada caracter de cToken é um separador diferente. Para utilizar uma sequência de caracteres como separador, utilize a função StrTokArr2.
- Caso seja informado em cValue uma string que contenha uma ou mais ocorrências de caractere
...
- ASCII 0
...
- , a string será considerada até o último caractere antes da primeira ocorrência de
...
- ASCII 0
...
- .
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#DEFINE CRLF Chr(13)+Chr(10)
user function tokarr()
Local cMessage := "", cValue := ""
Local nI := 0, nJ := 0
Local aArray := Array( 6, 2 )
aArray[1][1] := "A1"
aArray[1][2] := StrTokArr( "A,", "," )
aArray[2][1] := "A2"
aArray[2][2] := StrTokArr( ",B", "," )
aArray[3][1] := "A3"
aArray[3][2] := StrTokArr( ",", "," )
aArray[4][1] := "A4"
aArray[4][2] := StrTokArr( "A,,B", "," )
aArray[5][1] := "A5"
aArray[5][2] := StrTokArr( "A,,,B", "," )
aArray[6][1] := "A6"
aArray[6][2] := StrTokArr( "A,B-C", ",-" )
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 StrTokArr | //|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("A,B-C" ,",-")) //retorna {"A","B","C"}MsgInfo("Verifique o resultado no log de console." , "StrTokArr - Exemplo" )Return |
Resultado do Exemplo
...
Abrangência
Advanced Protheus 6.09, Advanced Protheus 7.10, Microsiga Protheus 8.11, Protheus 10, Protheus 11, Protheus 12
...
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas