Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle

...

ASort

...

...

...

ASort

Coloca em ordem tudo ou parte de um array.

Sintaxe

Bloco de código
collapsefalse
ASort( <
aVetor>
 aVetor >, [ nInicio ], [ nCont ], [ bOrdem ] )
--> aRetorno

Parâmetros

...

 

Nome

Tipo

Descrição

Obrigatório

Referência

aVetor

...

vetor

...

ndica 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

  • Se o parâmetro <bOrdem> não for especificado, a ordem padrão será ascendente ( do menor para o maior ), e o array informado deve conter elementos de um mesmo tipo básico. Valores do tipo D (data) são ordenados cronologicamente, tipos N ( numéricos ) idem, no caso de tipo L (lógico), o valor .F. ( falso ) é considerado menor que o valor .T. ( verdadeiro ) .
  •  Se a função ASort for utilizada para um array aninhado (multidimensional. ou array de arrays ), o parâmetro bOrdem deve ser informado, para indicar a regra de ordenação a ser realizada, caso contrário, o array não será ordenado.
  • O argumento do bloco do código <bOrdem>, quando especificado, é utilizado para determinar a ordem em que os elementos serão colocados. Cada vez que o bloco de código é avaliado, dois elementos do array destino são passados como parâmetro de bloco, e  o bloco deverá retornar .T. ( true  ) caso os elementos estejam na ordem desejada. 

 

Exemplos
Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
#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")
Exemplo da função ASort

Resultado do Exemplo

Image Modified

Abrangência

Microsiga Protheus 8.11 , Protheus 10

Veja

...

também

...