Преобразование TStringlist в строку с делителем

У меня есть список строк, хранящихся в TStringList, я хочу преобразовать его в строку, разделенную запятыми, и я использую следующий код

channelList: TStringList;
aCurrentChannel :=  Stringreplace(channelList.Text,Char(13)+Char(10),',',[rfReplaceAll]);

но последний символ подходит как, например, 1,2, все равно избежать этого?

Ответ 1

Вам нужно использовать свойство DelimitedText класса TStringList. Из онлайн-справки

Используйте DelimitedText, чтобы получить или установить все строки в объекте TStrings в одной строке, разделенные символом, заданным свойством Delimiter.

Ответ 2

используйте свойство DelimitedText:

channelList.Delimiter := ',';
channelList.QuoteChar := ''; // or
channelList.QuoteChar := #0; // for higher delphi versions
aCurrentChannel := channelList.DelimitedText;

Ответ 3

Пока вы находитесь в строковых списках, я предлагаю вам взглянуть на http://wiki.delphi-jedi.org/wiki/JCL_Help:IJclStringList

// var channelList: iJclStringList;
var s: string;

s := JclStringList.Add(['aaa','bbb','ccc '])
         .Split('ddd: eee', ':', False).Trim.Join(',');