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.


É 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: