aSize

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


Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.

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”):

aSize

 

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

A função aSize aumentando o tamanho do array aNomes

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:

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.