Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
Portuguese |
Pagetitle |
---|
...
|
...
|
Realiza
...
a
...
leitura
...
do
...
array
...
à
...
procura
...
de
...
um
...
valor
...
específico. Funciona
...
da
...
mesma
...
forma
...
que
...
a
...
função
...
AScan,
...
porém
...
quando
...
utilizado
...
um
...
bloco
...
de
...
código
...
para
...
realizar
...
a
...
busca,
...
o
...
mesmo
...
é
...
chamado
...
com
...
um
...
segundo
...
parâmetro,
...
informando
...
qual
...
é
...
o
...
elemento
...
do
...
array
...
em
...
questão
...
que
...
está
...
sendo
...
verificado
...
na
...
chamada
...
corrente
...
do
...
bloco
...
de
...
código.
...
Sintaxe
Bloco de código | ||
---|---|---|
| ||
AScanX( <aDestino> aDest >, <bProcura> bSearch >, [nInicio nStart ], [nCont nCount ] )--> nRet
|
Parâmetros
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
...
aDest |
...
vetor | Indica o array |
...
a ser avaliado. | X |
|
...
bSearch |
...
bloco de código | Indica o valor que será pesquisado através de um bloco de código. | X |
|
...
nStart |
...
numérico | Indica a partir de qual elemento será realizada |
...
busca. Por padrão a pesquisa inicia no elemento 1. |
|
|
...
nCount |
...
numérico | Indica por quantos elementos |
...
serão considerados na operação de busca. Caso não especificado, todos os elementos do array a partir da posição inicial de busca serão considerados. |
|
|
Retorno
...
Nome | Tipo |
---|
...
Descrição |
---|
nRet |
...
numérico | Retorna um valor numérico que representa a posição que ocupa no array pelo último elemento lido. Quando não encontra é retornado 0. |
Observações
- A função retorna o índice do valor encontrado no array para a primeira execução do bloco de código que retornar .T..
...
- Caso nenhum retorne .T. a função retorna 0 (zero)
...
- .
- Em build
...
- iguais ou anteriores a 7.00.101202A, caso o terceiro argumento (
...
- nStart) fosse especificado,
...
- em caso de sucesso, a função retornava o índice encontrado relativo à posição inicial de busca. Este comportamento foi corrigido, para igualar com o comportamento da função
...
- AScan, em builds iguais ou superiores a 7.00.111010A.
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#DEFINE CRLF Chr( 13)+Chr( 10) User userFunction functionExemplo ascanx1() Local aExemplo := {} Local cMensagem := "" //+----------------------------------------------------------------------------+ //|Exemplifica o uso da função AScanX | //+----------------------------------------------------------------------------+ AAdd( aExemplo, "Banana" ) AAdd( aExemplo, "Maçã" ) AAdd( aExemplo, "Pêra" ) AAdd( aExemplo, "Limão" ) AAdd( aExemplo, "Abacaxi" ) AAdd( aExemplo, "Laranja" ) AAdd( aExemplo, "Mamão" ) AAdd( aExemplo, "Graviola" ) cMensagem += "Abacaxi" + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=1}) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x == "Abacaxi" .And. yy< <= 1 } ) ) + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=5}) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x == "Abacaxi" .And. yy< <= 5 } ) ) + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x == "Abacaxi" .And. yy< <= 6 }, 2 ) ) + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x== "Abacaxi" .And. yy< <= 6 }, 2 ) ) + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2, 2) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x == "Abacaxi" .And. yy< <= 6 }, 2, 2 ) ) + CRLF cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2, 2) = " + ; cValToChar( AScanX( aExemplo, { | x, y | x == "Abacaxi" .And. yy< <= 6 }, 2, 2 )) ) //+----------------------------------------------------------------------------+ //|Apresenta uma mensagem com os resultados obtidos | //+----------------------------------------------------------------------------+ Return return MsgInfo( cMensagem, "Exemplo do AScanX" )Exemplo da função AScanX |
Resultado do Exemplo
Abrangência
Microsiga Protheus 8.11, Protheus 10, TOTVS Application Server 10, ByYou Application Server
Veja
...
também