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:

Veja o código de exemplo:
#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:

Veja o código de exemplo:
#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
    @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.