Split - Delimiter Espace par défaut ?

Résolu
Dpx26000 Messages postés 9 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 1 mars 2011 - 1 mars 2011 à 10:25
Dpx26000 Messages postés 9 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 1 mars 2011 - 1 mars 2011 à 15:00
Bonjour à tous,

Tout d'abord, et comme toujours je m'excuse d'avance si j'ai raté un sujet qui aurait pu m'éviter de créer celui-ci par la fonction recherche, car ça m'arrive quelques fois !

Mon problème est tout simple, je souhaite spliter une chaine de caractère. Jusque là ça va, mais voilà, le delimiter est un '+' mais ma chaine peut etre par exemple '3 chevaux+4 souris'

Voici ma procédure :

Procedure Split(Delimiter: Char; Str: string; ListOfStrings: TStrings) ;

begin
ListOfStrings.Clear;
ListOfStrings.Delimiter := Delimiter;
ListOfStrings.DelimitedText := Str;
end;


Voici ce que me retournerait la procédure :

nomsProd := TStringList.Create;
Split('+', tab_commande.Cells[2,i], nomsProd);

//nomsProd[0] : 3
//nomsProd[0] : chevaux
//nomsProd[0] : 4
//nomsProd[0] : souris


Même si je spéficie le delimiter comme étant un plus, il considère aussi que l'espace en est un. J'ai vu quelques messages qui parlait d'un StrictDelimiter mais j'utilise Delphi 7 et je ne connais pas une telle propriété.
Le problème n'est pas difficile donc j'aurais peut-être trouvé la solution d'ici là, mais je passe par vous car je sais que la qualité des réponses est exemplaire !

Un grand merci d'avance pour vos réponses,
Cordialement,

Aurel.

2 réponses

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
1 mars 2011 à 13:09
Bonjour

vous pouvez faire ceci
ListOfStrings.DelimitedText := '"' + stringreplace (Str ,Delimiter,'"' + Delimiter+'"',[rfReplaceAll])+'"'; 

A+
3
Dpx26000 Messages postés 9 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 1 mars 2011
1 mars 2011 à 15:00
Merci grandement, tout fonctionne correctement !!
A très vite sur Codes sources !!

Cordialement,
Aurel.
0
Rejoignez-nous