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
@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: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/