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

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

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

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

3 ответов


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

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


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

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

пока вы в строковых списках, я предлагаю вам взглянуть на 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(',');