Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

ADel

ADel( <aSource>, <nPos> ) --> aRet

Remove um elemento sem diminuir o tamanho do array.

ADelAdvPL
01 · VISÃO GERAL

Visão geral

ADel desloca para trás os elementos posteriores à posição removida e deixa Nil na última posição. Len permanece igual. Se a intenção é excluir também a posição excedente, use ASize depois de uma posição validada. Índices salvos para elementos posteriores podem deixar de identificar os mesmos itens. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

ADel( <aSource>, <nPos> ) --> aRet

Parâmetros

aSource
ArrayObrigatório

Array a modificar.

nPos
NuméricoObrigatório

Posição válida, a partir de 1.

Retorno

Array resultante da remoção.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function EdAdel()
    Local aItens := {"A", "B", "C"}
    Local nPos := 2
    If nPos >= 1 .And. nPos <= Len(aItens)
        // Primeiro desloca, depois remove a posicao final excedente.
        ADel(aItens, nPos)
        ASize(aItens, Len(aItens) - 1)
    EndIf
    ConOut(aItens[2])
Return Nil
Resultado esperado

Resultado esperado: {"A", "C"}, com saída C. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Ao excluir vários itens por posição, percorrer de trás para frente ou recalcular índices. Não executar ASize quando a remoção não tiver ocorrido.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. ADel. TDN. Consulta em 2026-10-25.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha