日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

delphi TStrings的一些用法

發(fā)布時(shí)間:2024/4/11 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi TStrings的一些用法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Delphi TStrings是一個(gè)抽象類(lèi),在實(shí)際開(kāi)發(fā)中,是除了基本類(lèi)型外,應(yīng)用得最多的。
常規(guī)的用法大家都知道,現(xiàn)在來(lái)討論它的一些高級(jí)的用法。
先把要討論的幾個(gè)屬性列出來(lái):
1、CommaText
2、Delimiter & DelimitedText
3、Names & values & valueFromIndex
先看第一個(gè):CommaText。怎么用呢?用代碼說(shuō)話:
const
constr :String = 'aaa,bbb,ccc,ddd';
var
strs :TStrings;
i :Integer;
begin
strs := TStringList.Create;
strs.CommaText := constr;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs);
end;
執(zhí)行了這段代碼后,可以看到ShowMessage顯示出來(lái)的分別是:aaa bbb ccc ddd。
也就是說(shuō),strs.CommaText := constr這一句的作用,就是把一個(gè)字符串以','為分割符,分段添加到TStrings中。
那么如果不是以','來(lái)分割,又該怎么做呢?現(xiàn)在看第二個(gè)例子。使用Delimiter和DelimitedText。
const
constr :String = 'aaa\bbb\ccc\ddd';
var
strs :TStrings;
i :Integer;
begin
strs := TStringList.Create;
strs.Delimiter := '\';
strs.DelimitedText := constr;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs);
end;
可以看到, 顯示的效果和第一個(gè)例子是一模一樣的。解釋一下:
Delimiter為分隔符,默認(rèn)為:','。DelimitedText就是按Delimiter為分隔符的一個(gè)串,得到賦值后回把這個(gè)字符串按Delimiter的字符添加到TStrings中。
說(shuō)到這里,有想起一個(gè)屬性,QuoteChar。其默認(rèn)值為:'"'(不包括單引號(hào))
有何用呢?看例子:
const
constr :String = '"aaa"\"bbb"\"ccc"\"ddd"';
var
strs :TStrings;
i :Integer;
begin
strs := TStringList.Create;
strs.Delimiter := '\';
strs.DelimitedText := constr;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs);
end;
顯示出來(lái)的仍然是aaa bbb ccc ddd。為什么不是:"aaa" "bbb" "ccc" "ddd"呢?
再來(lái)看一個(gè)例子:
const
constr :String = '|aaa|\|bbb|\|ccc|\|ddd|';
var
strs :TStrings;
i :Integer;
begin
strs := TStringList.Create;
strs.Delimiter := '\';
strs.QuoteChar := '|';
strs.DelimitedText := constr;
for i := 0 to Strs.Count-1 do
ShowMessage(Strs);
end;
顯示出來(lái)的又是aaa bbb ccc ddd。對(duì)比一下,應(yīng)該不難明白吧?這個(gè)就不多說(shuō)了,用得也不多。
但是還要多說(shuō)一句,當(dāng)Delimiter為:','而QuoteChar為:'"'時(shí),DelimitedText和CommaText是同等的。
最后要說(shuō)的三個(gè)是:Names & values & valueFromIndex。
看看下面的代碼:
const
constr :String = '0=aaa,1=bbb,2=ccc,3=ddd';
var
strs :TStrings;
i :Integer;
begin
strs := TStringList.Create;
strs.CommaText := constr;
for i := 0 to strs.Count-1 do
begin
ShowMessage(strs.Names);
ShowMessage(strs.values[strs.Names]);
ShowMessage(strs.valueFromIndex);
end;
end;
通過(guò)這個(gè)例子不難看出:
這個(gè)時(shí)候strs中的內(nèi)容是:
0=aaa
1=bbb
2=ccc
3=ddd
而Names中則是:
0
1
2
3
在values中則是:
aaa
bbb
ccc
ddd

轉(zhuǎn)載于:https://blog.51cto.com/zsqztg/171122

總結(jié)

以上是生活随笔為你收集整理的delphi TStrings的一些用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。