Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

Função: 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. 

AScanX ( < aDestino>, < bProcura>, [ nInicio], [ nCont] ) --> nRet

NomeTipoDescriçãoObrigatórioReferência
aDestinoVetorIndica o array de pesquisa. X
bProcuraBloco de códigoIndica o valor que será pesquisado através de um bloco de código. X
nInicioNuméricoIndica a partir de qual elemento será realizada a busca. Por padrão a pesquisa inicia no elemento 1.
nContNuméricoIndica por quantos elementos a função irá passar.
    nRet(numerico)
  • Retorna um valor numérico que representa a posição que ocupa no array pelo último elemento lido. Quando não encontra é retornado 0.
  • 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 (nInicio) 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.
#DEFINE CRLF Chr(13)+Chr(10)User Function Exemplo()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<=1})) + CRLF  cMensagem += "AScanX(aExemplo, {|x,y|x=='Abacaxi' .And. y<=5}) = " + ;    cValToChar(AScanX(aExemplo, {|x,y|x=="Abacaxi" .And. y<=5})) + CRLF  cMensagem += "AScanX(aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ;    cValToChar(AScanX(aExemplo, {|x,y|x=="Abacaxi" .And. y<=6}, 2)) + CRLF  cMensagem += "AScanX(aExemplo, {|x,y|x=='Abacaxi' .And. y<=6}, 2) = " + ;    cValToChar(AScanX(aExemplo, {|x,y|x=="Abacaxi" .And. 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<=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<=6}, 2, 2))//+----------------------------------------------------------------------------+//|Apresenta uma mensagem com os resultados obtidos                            |//+----------------------------------------------------------------------------+Return MsgInfo(cMensagem, "Exemplo do AScanX")

Exemplo da função AScanX
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos