TListString 分隔字符串 代码顺序很关键

转做builder以来常常会用到TListString 这个控件来完成字符分隔的工作,用法很简单,很方便,但是今天的这段代码却没有达到预期的效果。

 Stirng str = "a,b,c,d;e,f,g;"

 TStringList * lst = new TStringList(); 
 lst->DelimitedText = str;

 lst->Delimiter = ';';

 for(int i =0;i<lst->Count;i++)

{

   

       TStringList * lst2 = new TStringList(); 
       lst2->DelimitedText = str;

       lst2->Delimiter = ',';

       Memo1->Lines->Add(lst->Strings[i]);

      delete lst2;

}

delete lst;

 

结果总是输出

a

b

c

d;

e

f

g

悲剧了一上午!因为知道默认的分隔符是',',所以也尝试换掉','改用'|'果然输出结果对了,就是不能用','。

为什么呢?以前用就没这样,无奈翻出以前的代码看了一下,区别就是上面蓝色的两行代码的顺序不同,难道是因为执行的顺序不同产生了不同的效果?

将两行代码的顺序一换,果然运行结果正确了。

真是没想到,这个顺序这么重要,记下来省得下次又掉到这个沟里。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值