Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 4 oct. 2009 à 01:48
function AnsiFirstUpCase(const S: string; OthersMin: Boolean): string;
var
Len: Integer;
begin
Len := Length(S);
SetString(Result, PChar(S), Len);
if (Len > 1) and OtherMins then CharLowerBuff(Pointer(Result), Len);
if Len > 0 then CharUpperBuff(Pointer(Result), 1);
end;
Paramètres :
- S: la chaîne concernée
- OtherMin : mettre à True si on veut tous les autres caractères de la chaîne en minuscules (sauf le premier), mettre à False si on veut pas toucher aux autres.
Résultat : la chaîne modifiée
Désolé Cirec j'ai un peu modifié ton snippet ici, je pense qu'il faudrait proposer un choix pour mettre tous les autres caractères en minuscules, car dans certaines situations, comme : "l'individu est en France", on désirerait plutôt un résultat du type "L'individu est en France" est non pas "L'individu est en france" (désolé pour l'exemple pourri)
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 5 oct. 2009 à 12:18
@Bacterius:
alors là je ne suis pas d'accord avec ta façon de voir les choses ..
la fonction "AnsiFirstUpcase" a été crée justement pour mettre le premier caractère en majuscule et tous les autres en minuscules ... en dehors de ce cas de figure elle ne sert à rien et il n'est pas utile d'en créer une autre puisque nous avons à disposition UpCase & UpperCase / LowCase & LowerCase
et pour ton exemple .. ben, dans ce cas, on utilise UpCase