Jeeva
Jeeva

Reputation: 4663

Converting TStringlist to string with delimiter

I have a list of strings stored in TStringList, i want to convert it into string seperated by commas and i use the following code

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

but the last character is coming as , like 1,2, is there anyway to avoid that?

Upvotes: 18

Views: 30301

Answers (3)

whosrdaddy
whosrdaddy

Reputation: 11860

use the DelimitedText property:

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

Upvotes: 20

Arioch 'The
Arioch 'The

Reputation: 16125

While you're into string lists i suggest you to cast a look at 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(',');

Upvotes: 1

RBA
RBA

Reputation: 12584

You need to use the DelimitedText property of the TStringList class. From the online help

Use DelimitedText to get or set all the strings in the TStrings object in a single string, separated by the character specified by the Delimiter property.

Upvotes: 26

Related Questions