Á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/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle

...

AScanX

...

AScanX

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
collapsefalse
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
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
#DEFINE CRLF Chr( 13)+Chr( 10)

User

user 
Function
function 
Exemplo
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. y 
y<
<= 1 } ) ) + CRLF


  cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=5}) = " + ;


               cValToChar(  AScanX(  aExemplo, { | x, y | x == "Abacaxi" .And. y 
y<
<= 5 } ) ) + CRLF


  cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ;


               cValToChar(  AScanX(  aExemplo, { | x, y | x == "Abacaxi" .And. y 
y<
<= 6 }, 2 ) ) + CRLF


  cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ;


               cValToChar(  AScanX(  aExemplo, { | x, y | x== "Abacaxi" .And. y 
y<
<= 6 }, 2 ) ) + CRLF


  cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2, 2) = " + ;


               cValToChar(  AScanX(  aExemplo, { | x, y | x == "Abacaxi" .And. y 
y<
<= 6 }, 2, 2 ) ) + CRLF


  cMensagem += "AScanX( aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2, 2) = " + ;


               cValToChar(  AScanX(  aExemplo, { | x, y | x == "Abacaxi" .And. y 
y<
<= 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

Image Modified

Abrangência

Microsiga Protheus 8.11, Protheus 10, TOTVS Application Server 10, ByYou Application Server

Veja

...

também