Tempo de leitura: 2 minutos
A função aDel é uma das funções de manipulações de array em ADVPL. Essa função permite a exclusão de um elemento do array especificado e 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).
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)
@type Function
@author Adilio Costa
@since 02/05/2020
@version 1.0
@site https://www.protheusadvpl.com.br
@canal https://www.youtube.com/protheusadvpl
@instagram https://www.instagram.com/protheusadvpl
@Portal ProtheusAdvpl:https://hotmart.com/pt-br/marketplace/produtos/portal-protheusadvpl/O10336806O
@Post:aDel
*/
//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: