Trier (avec quicksort ) et afficher tous les tableaux et plus encore

Description

Voici une Procédure (ArrayQuickSort) et une Fonction (WriteArray) qui permettent dans l'ordre
1 de trier un tableau où un Memo
2 d'afficher le tableau dans un Label, Memo où tout autre composant acceptant du texte

l'astuce réside dans la déclaration d'une variable sans type (Var aArray)

le prototype de la Procedure ArrayQuickSort se présente comme ceci

Procedure ArrayQuickSort(Var aArray; Const Size, Kind: Integer; Const Dynamique: Boolean = False);

le prototype de la Fonction WriteArray se présente comme ceci

Function WriteArray(Const aArray; Size: Integer; Kind: TVarType; FromIndex, ToIndex: Integer; Const Dynamique: Boolean = False): String; Overload;
Function WriteArray(Const aArray; Size: Integer; Kind: TVarType; Const Dynamique: Boolean = False): String; Overload;

Ex:
Var IntArray : Array[0..10] of Integer;
DynIntArray : Array of Integer;

Pour trier:
ArrayQuickSort(IntArray, Length(IntArray), vtInteger);
ArrayQuickSort(DynIntArray, Length(DynIntArray), vtInteger, True);// si c'est un tableau dynamique on ajoute True

Pour écrire:
WriteArray(IntArray, Length(IntArray), vtInteger);

WriteArray(IntArray, Length(IntArray), vtInteger,5 , 10);// pour limiter l'affichage du 5ème au 10 ème

WriteArray(DynIntArray, Length(DynIntArray), vtInteger, True);

WriteArray(DynIntArray, Length(DynIntArray), vtInteger,5 , 10, True);


Les types de tableaux les plus courants sont déclarés toutes fois si il vous en manquait un vous pouvez le rajouter

pour le reste voir la source
Si vous avez des idées remarques suggestions où buggs dites le moi

Conclusion :


une partie du code provient de Florenth voir ici pour l'original:
http://www.delphifr.com/code.aspx?ID=34509

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.