TRI ENTRE CHIFFRES,ET MOTS EN MINUSCULE ET EN MAJUSCULE

tigris1 Messages postés 57 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 15 janvier 2009 - 26 avril 2007 à 21:40
tigris1 Messages postés 57 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 15 janvier 2009 - 26 avril 2007 à 21:40
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

tigris1 Messages postés 57 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 15 janvier 2009
26 avril 2007 à 21:40
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
Rejoignez-nous