Tempo de leitura: 2 minutos
A função aScan em ADVPL percorre um array procurando por um valor especificado. Pode ser especificado um valor a ser buscado, ou pode ser informada uma condição de busca através de um bloco de código. Ela é uma das funções de manipulação de array em ADVPL.
Sintaxe:
aScan(aDestino,xExpr,nInicio,nQtd)
Parâmetro(s):
Retorno:
Exemplo da função aScan em ADVPL:
#include 'protheus.ch'
/*{Protheus.doc} User Function faScan
(Essa função tem por finalidade mostrar a função de Manipulação de Array aScan em ADVPL)
@type Function
@author Adilio Costa
@since 12/12/2022
@?version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do Protheus
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function faScan()
Local aLingProg := {}
Local nPos
//Adiciona elementos no array aLinProg com a função aAdd
aAdd(aLingProg,"TLPP")
aAdd(aLingProg,"PHP")
aAdd(aLingProg,"JAVA")
aAdd(aLingProg,"C#")
aAdd(aLingProg,"ADVPL")
aAdd(aLingProg,"PYTHON")
nPos := aScan(aLingProg,{|x| AllTrim(x) == "ADVPL"})
If(nPos > 0)
MsgInfo("A linguagem de programação "+aLingProg[nPos]+" foi encontrada na posição:"+cValToChar(nPos),"Função aScan")
EndIf
Return
No código ADVPL acima nós passamos para a função aScan o array aLingProg e uma expressão de busca com o bloco código onde aScan percorre todo o array aLingProg e atribui cada elemento à variável x dentro do bloco de código e assim trazer a posição no array a linguagem “ADVPL“. A função aScan retornou a posição 5 no array:

É isso aí, finalizamos mais um post aqui no Blog ProtheusAdvpl, caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br. Até um próximo post. Grande abraço e fica com Deus.
Link(s) de referência: