Format CommaText dans une TStrings

TStrings = class (TObject)Interface de TStringsExemples de TStrings

Le format CommaText des TStrings s'apparente au format CSV, mais normalise le comportement vis-à-vis des séparateurs.

En CommaText, toute chaîne de la liste contenant des espaces, des virgules ou des apostrophes est placée entre guillemets; les guillemets à l'intérieur des chaînes sont répétés. Par exemple, si la liste contient les chaînes suivantes :

Chai,ne1
Chai"ne2
Chaine 3
Chaine4

La représentation CommaText sera "Chai,ne1","Chai""ne2","Chaine 3",Chaine4

Lorsqu'une valeur est affectée à CommaText, la valeur est analysée comme une chaîne dont les chaînes sont séparées par des virgules ou des espaces, et, de manière facultative, mises entre guillemets. Les guillemets placés à l'intérieur des chaînes sont répétés afin de les distinguer des guillemets encadrant les chaînes. Les espaces et les virgules ne se trouvant pas entre des guillemets sont des délimiteurs. Deux virgules successives indiquent une chaîne vide, alors que des espaces à côté d'un délimiteur ne sont pas pris en compte.

Si, par exemple, la valeur suivante est affectée à CommaText : "Chai,ne1", "Chai""ne2", Chaine 3, Chaine4 la liste contiendra alors

Chai,ne1
Chai"ne2
Chaine
3
Chaine4

L'ajout d'une virgule à la fin de la chaîne source provoque l'inclusion d'un élément vide dans la liste de chaînes.

Par exemple, si CommaText est définie par : "Chaine1, Chaine2, Chaine3, " la liste de chaînes contiendra

Chaine1
Chaine2
Chaine3
<chaîne vide>