XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005
-
18 juin 2005 à 01:15
XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005
-
18 juin 2005 à 19:26
Je cherche a déterminer la taille de chaque mot composant une chaines de caractères, j'ai un string cmoposé de mot séparé par des espaces, es ce que l'on peu récupérer la taille de ces mots?
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 18 juin 2005 à 03:51
Cette procédure met la taille de tous les mots rencontrés dans la string texte dans ListBox1 :
procedure MaProc; var texte: string;
begin
texte := 'voici la chaîne de caractères séparés par des espaces';
if texte = '' then exit; // Au cas où la chaîne soit vide (dans ce code, le problème ne se pose pas, vu que la chaîne est définie sur la ligne du dessus)
while Pos(' ' , texte)<>0 do // Tant qu'un nouvel espace est trouvé on continue
begin
ListBox1.Items.Add(IntToStr(Canvas.TextWidth(Copy(texte, 1, Pred(Pos(' ' , texte)))))); // Ajout de la taille du mot trouvé avant l'espace
texte : = Copy(texte, Succ(Pos(' ' , texte)), Length(texte)); // On supprime le mot et l'espace qui le suit de la chaîne de référence pour pouvoir analyser les autres
end ;
ListBox1.Items.Add(IntToStr(Canvas.TextWidth(texte
))); // Ajout de la taille du dernier mot de la chaîne non traité par la boucle while