2013-07-16 19 views
10

我存储在的TStringList字符串列表,我想将其转换成字符串用逗号分隔的,我使用下面的代码转换的TStringList到字符串分隔符

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

,但最后一个字符来作为,像1,2,是否有避免这种情况?

+6

的TStringList投来看看有CommaText物业 –

+0

正如JamesB所写,有'CommaText'属性,但使用'Trim()'应该修复你原来的解决方案,即'StringReplace(Trim(sl.Text),...)' – ain

+0

@JamesB,CommaText用“作为QuoteChar包围项目,也许这不是OP想要的 – whosrdaddy

回答

15

您需要使用TStringList类的DelimitedText属性。从在线帮助

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.

13

使用DelimitedText属性:

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

+1''QuoteChar' –

+0

'channelList.QuoteChar:='';'不再工作,'channelList.QuoteChar:=#0;' - 它的工作 – Marusyk

+0

我使用XE7,并且出现错误:E2010不兼容的类型:'Char'和'string'。但在Delphi 6中,我总是使用'QuoteChar:='';'这取决于unicode? – Marusyk

相关问题