SORTA

Sommaire


Sortapermet de trier des tableaux de variables, mono-dimensionnés.

 

Syntaxe

   Sorta[ rep] liste_nom_var[ Order Byliste_expr]

 

Paramètres

Elément

Description

Restrictions

rep

Expression numérique entière du nombred'éléments à trier. Par défaut, il s'agit du nombre d'éléments du premiertableau de la liste.

rep ne doit pas dépasser le nombred'éléments du plus petit tableau.

liste_nom_var

Liste denom_var séparées par lecaractère ','.

Aucune.

nom_var

nom_de_variable désignant le tableaudans lequel s'effectue le tri. Dans le cas d'un tableau déroulant, il s'agitde la variable de bas de tableau.

Aucune.

liste_expr

Liste deexpr séparées par lecaractère ','.

Aucune.

expr

Expression de type quelconque.

Aucune.

 

Exemples

   # Tri des lignes d'un tableaudéroulant selon le nom puis le prénom.
   # NLI est le nom de la variable de bas detableau, elle contient donc
   # le nombre d'éléments du tableau.
   Sorta [M]NLI [M]NLIOrder By NOM([S]indice), PRENOM([S]indice)

   # On dispose de 3 tableaux d'élémentsNUM, CAR et NOM obtenus à partir
   # d'un jeu de libellés. NUM est untableau d'entiers (numéros de

   # libellés), CAR un tableau decaractères (associés aux libellés) et
   # NOM un tableau de chaînes de caractères(intitulés) :

NUM

1

2

3

4

5

6

CAR

A

H

I

V

V

A

NOM

at386

hp

ibm3151

vt220

vt200

ansi (1)

 

   # Tri des 3 tableaux dans l'ordre descaractères, puis à égalité de 2
   # caractères dans l'ordre des libelléspuis des valeurs de NUM
   Sorta CAR, NOM, NUM

   # Le résultat du tri est le suivant :

NUM

6

1

2

3

5

4

CAR

A

A

H

I

V

V

NOM

ansi

at386

hp

ibm3151

vt200

vt220

 

   # En repartant de la situation (1),tri des 3 tableaux dans l'ordre
   # des caractères
   Sorta CAR, NOM, NUMOrder By CAR(indice)

   # Le résultat du tri est le suivant(par exemple, car l'ordre des
   # valeurs des tableaux NUM et NOM pourles indices 0 et 1 d'une part,
   # 4 et 5 d'autre part peut être différentle tri étant non conservatif

NUM

1

6

2

3

4

5

CAR

A

A

H

I

V

V

NOM

at386

ansi

hp

ibm3151

vt220

vt200

 

Description et commentaires

L'instruction Sortapermet de trier des tableaux d'éléments à une dimension. Si le nombred'éléments à trier n'est pas précisé, le tri se fait sur tous les éléments destableaux.

Le sens du tri est ascendant. Toutefois, il est possible de trier un tableausur un champ numéro selon un tri décroissant en multipliant ce champ par -1.

Lorsqu'il n'y a pas de clause Order By, le tri s'effectue dans l'ordre dupremier tableau. En cas d'égalité d'éléments de ce tableau, il s'effectue dansl'ordre du deuxième tableau... et ainsi de suite pour l'ensemble des tableaux àtrier.

Si un ordre est donné (les expressions étant construites à partir de lavariable système indice), le tri s'effectue selon la valeur de la premièreexpression, puis en cas d'égalité selon la valeur de la deuxième et ainsi desuite pour les suivantes.

Dans le cas d'un tableau déroulant, il est nécessaire de préciser le nombred'éléments à trier ainsi que l'ordre du tri. D'autre part, le nom de variable àindiquer est celui de la variable de bas de tableau ; elle désigne alorsl'ensemble des variables du tableau déroulant.

Précisons que le tri est non conservatif. Ceci signifie qu'en cas d'égalitéd'éléments d'un tableau, on ne peut savoir dans quel ordre ces éléments égauxapparaîtront dans le résultat pour les autres tableaux (à moins d'avoir donnéd'autres critères).

 

Remarque

On peut trier des tableaux comportant des nombres d'éléments différents.Dans ce cas, il faut donner une valeur au paramètre rep au plus égale à la pluspetite taille des tableaux.

 

Erreurs associées

Erreur

Description

ERMODE(10)

repn'est pas numérique.

ERINDI( 8)

Indiceincorrect.

ERDOM(50)

rep< 0.

 

Mots-clés associés

INSA - DELA


SOMMAIRE

Adonix X3® L4G
Copyright © Adonix 1999 - All rights reserved