Tempo de leitura: 2 minutos
A função aSize é uma das funções de manipulações de array em ADVPL. Essa função tem por finalidade alterar o tamanho de um array especificado, podendo aumentar ou diminuir esse array.
Sintaxe:
aSize( <aDestino>, <nTam> )
Parâmetro(s):
Retorno:
Utilização
A função aSize altera o tamanho do array especificado. O array será aumentado ou diminuído para atingir o tamanho especificado pelo parâmetro nTam.
Se o array for diminuído, os últimos elementos serão descartados. Se o array for aumentado, os novos elementos serão adicionados no final e conterão o valor NIL.
No exemplo abaixo em ADVPL podemos ver como utilizar a função aSize para aumentar um array:
#include 'protheus.ch' /* Autor:Adilio Costa Email:adiliocosta@protheusadvpl.com.br -------------------------------------------------------------------------------- Blog/Site ProtheusAdvpl - www.protheusadvpl.com.br -------------------------------------------------------------------------------- Canal ProtheusAdvpl - www.youtube.com/protheusadvpl -------------------------------------------------------------------------------- Portal ProtheusAdvpl - https://go.hotmart.com/O10336806O Manipulação de Array - Função:aSize Post:aSize */ User Function faSize() Local cMsg := "" Local nCont := 0 Local aNomes := { "Adilio" , "Aline" , "Roberto" , "Danilo" } //Aumentando o tamanho do array de 4 para 5 aSize(aNomes,5) //A posição 5 possui o valor Nil, agora substituímos esse valor por "Rodrigo" aNomes[5] := "Rodrigo" For nCont := 1 To 5 cMsg += "Nome " +cValToChar(nCont)+ ":" +aNomes[nCont] If(nCont <> 5) cMsg += "," EndIf Next MsgAlert(cMsg) Return |
No exemplo abaixo quando debugamos o código podemos ver que no momento que usamos a função aSize para aumentar o array aNomes para o tamanho 5 a última posição ficou com o valor NIL, assim nós tivemos que colocar o conteúdo “Rodrigo” nessa posição 5(aNomes[5] := “Rodrigo”):

Na imagem abaixo podemos ver o nosso array aNomes com o nome “Rodrigo” na posição 5:

No exemplo abaixo iremos utilizar a função aSize para diminuir o array aNomes de 5 para 3:
#include 'protheus.ch' /*{Protheus.doc} User Function faSize2 (Essa função tem por finalidade mostrar a função de Manipulação de Array aSize em ADVPL) @type Function @author Adilio Costa @since 02/05/2020 @version 1.0 @instagram https://www.instagram.com/protheusadvpl @Portal ProtheusAdvpl:https://hotmart.com/pt-br/marketplace/produtos/portal-protheusadvpl/O10336806O @Post:aSize */ User Function faSize2() Local cMsg := "" Local nCont := 0 Local aNomes := { "Adilio" , "Aline" , "Roberto" , "Danilo" , "Rodrigo" } //Diminuindo o tamanho do array de 5 para 3 aSize(aNomes,3) For nCont := 1 To 3 cMsg += "Nome " +cValToChar(nCont)+ ":" +aNomes[nCont] If(nCont <> 3) cMsg += "," EndIf Next MsgAlert(cMsg) Return |

É isso aí, finalizamos aqui o post sobre a função aSize 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:
- TDN da TOTVS:https://tdn.totvs.com/pages/releaseview.action?pageId=23889123
- Terminal de Informação:https://terminaldeinformacao.com/knowledgebase/asize/