TStrings是一个抽象类在实际开发中是除了基本类型外应用得最多的 常规的用法大家都知道现在来讨论它的一些高级的用法 先把要讨论的几个属性列出来 CommaText Delimiter & DelimitedText Names & values & valueFromInd ex 先看第一个CommaText怎么用呢?用代码说话 const constr String = aaabbbcccddd var strs TStrings i Integer begin strs = TStringListCreate strsCommaText = constr for i = to StrsCount do ShowMessage(Strs) end 执行了这段代码后可以看到ShowMessage显示出来的分别是aaa bbb ccc ddd 也就是说strsCommaText = constr这一句的作用就是把一个字符串以为分割符分段添加到TStrings中 那么如果不是以来分割又该怎么做呢?现在看第二个例子使用Delimiter和DelimitedText const constr String = aaa\bbb\ccc\ddd var strs TStrings i Integer begin strs = TStringListCreate strsDelimiter = \ strsDelimitedText = constr for i = to StrsCount do ShowMessage(Strs) end 可以看到 显示的效果和第一个例子是一模一样的解释一下 Delimiter为分隔符默认为DelimitedText就是按Delimiter为分隔符的一个串得到赋值后回把这个字符串按Delimiter的字符添加到TStrings中 说到这里有想起一个属性QuoteChar其默认值为(不包括单引号) 有何用呢?看例子 const constr String = aaa\bbb\ccc\ddd var strs TStrings i Integer begin strs = TStringListCreate strsDelimiter = \ strsDelimitedText = constr for i = to StrsCount do ShowMessage(Strs) end 显示出来的仍然是aaa bbb ccc ddd为什么不是aaa bbb ccc ddd呢? 再来看一个例子 const constr String = |aaa|\|bbb|\|ccc|\|ddd| var strs TStrings i Integer begin strs = TStringListCreate strsDelimiter = \ strsQuoteChar = | strsDelimitedText = constr for i = to StrsCount do ShowMessage(Strs) end 显示出来的又是aaa bbb ccc ddd对比一下应该不难明白吧?这个就不多说了用得也不多 但是还要多说一句当Delimiter为而QuoteChar为时DelimitedText和CommaText是同等的 最后要说的三个是Names & values & valueFromIndex 看看下面的代码 const constr String = =aaa=bbb=ccc=ddd var strs TStrings i Integer begin strs = TStringListCreate strsCommaText = constr for i = to strsCount do begin ShowMessage(strsNames) ShowMessage(strsvalues[strsNames]) ShowMessage(strsvalueFromIndex) end end 通过这个例子不难看出 这个时候strs中的内容是 =aaa =bbb =ccc =ddd 而Names中则是
在values中则是 aaa bbb ccc ddd |