TRI ENTRE CHIFFRES,ET MOTS EN MINUSCULE ET EN MAJUSCULE

Signaler
Messages postés
57
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
15 janvier 2009
-
Messages postés
57
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
15 janvier 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42442-tri-entre-chiffres-et-mots-en-minuscule-et-en-majuscule

Messages postés
57
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
15 janvier 2009

Hello Flavmel

Bonne idée. J'ai cependant une petite réticence à voir les minuscules transformées en majuscules dans la liste résultantes. Une petite amélioration consiste à remplacer dans la procédure TriAlpha :
if Items.Strings[i] > Items.Strings[j] then begin
val:=Items[i]; Items[i]:=Items[j]; Items[j]:=val;
end;
par
if UpperCase(Items.Strings[i]) > UpperCase(Items.Strings[j]) then
val:=Items[i]; Items[i]:=Items[j]; Items[j]:=val;
end;

Il subsiste quand même un petit défaut car 2 mots identiques mais l'un en minuscules et l'autre en majuscules peuvent être dans un ordre inadéquat, comme par exemple : "adroit" qui est placé avant "ADROIT" tandis que "BADEN" est bien placé avant "baden" en fonction du hasard du placement initial.

Pour finaliser le bon tri, il faudrait tester la 1ère lettre et les suivantes, si nécessaire, pour détecter l'ordre exact entre 2 mots identiques ou partiellement identiques.

Peut-être que quelqu'un à une meilleure idée ou solution

Cordialement