aMatrizVariable que almacena la colección.
Guía AdvPLaMatriz := { <elemento1>, <elemento2>, ... } · aMatriz[nÍndice]Organiza valores en listas simples o multidimensionales, accede a posiciones y modifica la estructura dinámicamente.
Las matrices o arrays son colecciones ordenadas de valores. En AdvPL, el primer elemento ocupa la posición 1 y un mismo array puede contener caracteres, números, fechas, lógicos, objetos, otros arrays y demás tipos. Los arrays anidados permiten representar filas, columnas y estructuras compuestas.
aMatriz := { <elemento1>, <elemento2>, ... } · aMatriz[nÍndice]aMatrizVariable que almacena la colección.
nÍndicePosición del elemento, iniciada en 1 y limitada por el tamaño actual del array.
elementoValor almacenado; los elementos del mismo array pueden tener tipos diferentes.
User Function ExMatriz()
Local aLetras := {"A", "B", "C"}
MsgInfo("Segundo elemento: " + aLetras[2])
MsgInfo("Cantidad: " + CValToChar(Len(aLetras)))
ReturnEl índice 2 devuelve B y Len() informa que hay tres elementos.
User Function ExAgregar()
Local aLetras := {"A", "B", "C"}
AAdd(aLetras, "D")
MsgInfo("Último elemento: " + aLetras[Len(aLetras)])
ReturnAAdd() agrega D y Len() proporciona la última posición actual.
#define PESSOA_NOME 1
#define PESSOA_IDADE 2
#define PESSOA_ATIVA 3
User Function ExPessoa()
Local aPessoa := {"Maria", 32, .T.}
If aPessoa[PESSOA_ATIVA]
ConOut(aPessoa[PESSOA_NOME] + " está ativa")
EndIf
ReturnLas constantes nombran semánticamente las posiciones de nombre, edad y estado.
#define PESSOA_NOME 1
#define PESSOA_IDADE 2
User Function ExPessoas()
Local aPessoas := { ;
{"Pedro", 32}, ;
{"Maria", 22}, ;
{"Antônio", 42} }
Local nLinha
For nLinha := 1 To Len(aPessoas)
ConOut(aPessoas[nLinha, PESSOA_NOME] + ;
" - " + CValToChar(aPessoas[nLinha, PESSOA_IDADE]))
Next
ReturnCada array interno representa una fila. El bucle recorre las personas y accede a las columnas mediante constantes.
User Function ExIndice(nIndice)
Local aCores := {"Azul", "Verde", "Vermelho"}
If nIndice >= 1 .And. nIndice <= Len(aCores)
MsgInfo(aCores[nIndice])
Else
MsgAlert("Posição inválida")
EndIf
ReturnLa condición impide acceder fuera de los límites actuales.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de titularidade da TOTVS S.A. AdvPL é uma linguagem de programação desenvolvida pela TOTVS. O AdvPL Guia é um projeto independente, sem vínculo, representação, patrocínio ou afiliação com a TOTVS S.A., suas franquias ou representantes.