Excluindo um Elemento de um Array com aDel em ADVPL

Tempo de leitura: 2 minutos

A função aDel em ADVPL exclui um elemento de um array passado como parâmetro. Ao ser efetuado essa exclusão todos os demais elementos são reorganizados de forma que a última posição do array passará a ser nula(nil). Ela é uma das funções de manipulações de array em ADVPL. 

Sintaxe:

aDel( <aArray>, <nPos> )

 

Parâmetro(s):

 

Retorno:

 

Observações:

  • O último elemento pode ser removido do array, se conveniente, através da função aSize., onde você poderá subtrair de  1 o tamanho do array:aSize(aArray,Len(aArray)-1).
  • Se nPos for maior do que o tamanho de aArray ou menor que 0, será retornado um erro ADVPL com a mensagem: “Array index out of bounds on adel”.

No exemplo abaixo em ADVPL podemos ver como utilizar a função aDel para excluir o elemento do array:

#include 'protheus.ch'
#DEFINE CRLF Chr(13)+Chr(10)

/*{Protheus.doc} User Function faDel
    (Essa função tem por finalidade mostrar a função de manipulação de array aDel em ADVPL/TL++)
    @type  Function
    @author Adilio Costa
    @since 21/07/2021
    @version 1.0

  @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
*/


//Manipulações de Array - aDel
User Function faDel()
	Local aArray := {1,2,3,4,5}
	Local nPos := 2
	Local cMsg := ""
	Local nI


	//+----------------------------------------------------------------------------+
	//|Exemplifica o uso da função aDel                                            |
	//+----------------------------------------------------------------------------+
	cMsg += "Dimensão de aArray = " + cValToChar( Len( aArray ) ) + CRLF
	For nI := 1 To Len(aArray)
		cMsg += "aArray["+cValToChar(nI)+"]:"+cValToChar(aArray[nI]) + CRLF
	Next nI

	//Função aDel excluindo o elemento da posição passado por nPos
	aDel(aArray,nPos)

	cMsg += "aArray com o elemento excluído:" + CRLF
	For nI := 1 To Len(aArray)
		cMsg += "aArray["+cValToChar(nI)+"]:"+cValToChar(aArray[nI]) + CRLF
	Next nI

	//Função a size removendo o elemento nulo do array
	aSize(aArray, Len(aArray)-1)

	//+----------------------------------------------------------------------------+
	//|Apresenta uma mensagem com os resultados obtidos                            |
	//+----------------------------------------------------------------------------+
	MsgInfo(cMsg, "Função aDel")


Return

Podemos ver na imagem abaixo que na última posição(posição 5) do array aArray contém o valor nil após a exclusão do elemento do array com a função aDel.

Função aDel

 

É isso aí, finalizamos aqui o post sobre a função aDel em ADVPL, caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um email para adiliocosta@protheusadvpl.com.br. Até um próximo post. Grande abraço e fica com Deus.

Link(s) de referência:

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.