Árvore de páginas

Coloca em ordem tudo ou parte de um array.

Sintaxe

ASort( < aVetor >, [ nInicio ], [ nCont ], [ bOrdem ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

aVetor

vetor

Indica o array cujos elementos serão colocados em ordem.

X


nInicio

numérico

Indica o primeiro dos elementos que serão colocados em ordem. Caso não seja especificado, a posição inicial será um (1).



nCont

numérico

Indica a quantidade de elementos que serão colocados em ordem. Caso não seja especificado, todos os elementos no array que começam com o elemento inicial serão ordenados.



bOrdem

bloco de código

Indica o bloco de código opcional utilizado para determinar a ordem que será seguida. Caso não seja especificado, a ordem padrão será ascendente.



Retorno

Nome

Tipo

Descrição

aRetorno

vetor

Retorna uma referência ao array de origem aVetor.

Exemplos

Exemplo 1
#DEFINE CRLF Chr(13)+Chr(10)
User Function Exemplo()
Local aExemplo := {}
Local cMensagem := ""
//+----------------------------------------------------------------------------+
//|Exemplifica o uso da função ASort                                           |
//+----------------------------------------------------------------------------+
  AAdd(aExemplo, "Banana")
  AAdd(aExemplo, "Maçã")
  AAdd(aExemplo, "Pêra")
  AAdd(aExemplo, "Limão")
  AAdd(aExemplo, "Abacaxi")
  AAdd(aExemplo, "Laranja")
  AAdd(aExemplo, "Mamão")
  AAdd(aExemplo, "Graviola")
  ASort(aExemplo)
  cMensagem += "Ordem crescente: " + CRLF
  cMensagem += aExemplo[1] + CRLF
  cMensagem += aExemplo[2] + CRLF
  cMensagem += aExemplo[3] + CRLF
  cMensagem += aExemplo[4] + CRLF
  cMensagem += aExemplo[5] + CRLF
  cMensagem += aExemplo[6] + CRLF
  cMensagem += aExemplo[7] + CRLF
  cMensagem += aExemplo[8] + CRLF
  ASort(aExemplo, , , {|x,y|x > y})
  cMensagem += "Ordem decrescente: " + CRLF
  cMensagem += aExemplo[1] + CRLF
  cMensagem += aExemplo[2] + CRLF
  cMensagem += aExemplo[3] + CRLF
  cMensagem += aExemplo[4] + CRLF
  cMensagem += aExemplo[5] + CRLF
  cMensagem += aExemplo[6] + CRLF
  cMensagem += aExemplo[7] + CRLF
  cMensagem += aExemplo[8] + CRLF
//+----------------------------------------------------------------------------+
//|Apresenta uma mensagem com os resultados obtidos                            |
//+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do ASort")

Resultado do Exemplo

Abrangência

Microsiga Protheus 8.11 , Protheus 10

Veja também

  • Sem rótulos