Delphi中TStringList类常用属性方…

var
<wbr><wbr></wbr></wbr> List: TStringList;
<wbr><wbr></wbr></wbr> i: Integer ;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr><wbr></wbr></wbr> List . Add( 'Strings1' );<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {添加}
<wbr><wbr></wbr></wbr> List . Add( 'Strings2' );
<wbr><wbr></wbr></wbr> List . Exchange( 0 , 1 );<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {置换}
<wbr><wbr></wbr></wbr> List . Insert( 0 , 'Strings3' );<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr> {插入}
<wbr><wbr></wbr></wbr> i := List . IndexOf( 'Strings1' );<wbr></wbr> {第一次出现的位置}
<wbr><wbr></wbr></wbr> List . Sort;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {排序}
<wbr><wbr></wbr></wbr> List . Sorted := True ;<wbr><wbr></wbr></wbr> {指定排序}
<wbr><wbr></wbr></wbr> List . Count;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {总数}
<wbr><wbr></wbr></wbr> List . Text;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {文本集合}
<wbr><wbr></wbr></wbr> List . Delete( 0 );<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {删除, 0是第一个数据}
<wbr><wbr></wbr></wbr> List . LoadFromFile( 'c:\tmp.txt' ); {打开}
<wbr><wbr></wbr></wbr> List . SaveToFile( 'c:\tmp.txt' );<wbr></wbr> {保存}
<wbr><wbr></wbr></wbr> List . Clear;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {清空}
<wbr><wbr></wbr></wbr> List . Free;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> {释放}
end ;
<wbr></wbr><wbr></wbr>
//读入字符串
var
<wbr><wbr></wbr></wbr> List: TStringList;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr><wbr></wbr></wbr> List . CommaText := 'aaa,bbb,ccc,ddd' ;
<wbr><wbr></wbr></wbr> //相当于: List.Text := 'aaa' + #13#10 + 'bbb' + #13#10' + 'ccc' + '#13#10' + 'ddd';
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> ShowMessage(IntToStr(List . Count));<wbr></wbr> //4
<wbr><wbr></wbr></wbr> ShowMessage(List[ 0 ]);<wbr></wbr> //aaa
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Free;
end ;
<wbr></wbr><wbr></wbr>
//置换分隔符
var
<wbr><wbr></wbr></wbr> List: TStringList;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr><wbr></wbr></wbr> List . Delimiter := '|' ;
<wbr><wbr></wbr></wbr> List . DelimitedText := 'aaa|bbb|ccc|ddd' ;
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> ShowMessage(IntToStr(List . Count));<wbr></wbr> //4
<wbr><wbr></wbr></wbr> ShowMessage(List[ 0 ]);<wbr></wbr> //aaa
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Free;
end ;
//类似的哈希表操作法
var
<wbr><wbr></wbr></wbr> List: TStringList;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Add( 'aaa=111' );
<wbr><wbr></wbr></wbr> List . Add( 'bbb=222' );
<wbr><wbr></wbr></wbr> List . Add( 'ccc=333' );
<wbr><wbr></wbr></wbr> List . Add( 'ddd=444' );
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> ShowMessage(List . Names[ 1 ]);<wbr></wbr> //bbb
<wbr><wbr></wbr></wbr> ShowMessage(List . ValueFromIndex[ 1 ]);<wbr></wbr> //222
<wbr><wbr></wbr></wbr> ShowMessage(List . Values[ 'bbb' ]);<wbr></wbr> //222
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //ValueFromIndex 可以赋值:
<wbr><wbr></wbr></wbr> List . ValueFromIndex[ 1 ] := '2' ;
<wbr><wbr></wbr></wbr> ShowMessage(List[ 1 ]);<wbr></wbr> //bbb=2
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //可以通过 Values 赋值:
<wbr><wbr></wbr></wbr> List . Values[ 'bbb' ] := '22' ;
<wbr><wbr></wbr></wbr> ShowMessage(List[ 1 ]);<wbr></wbr> //bbb=22
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Free;
end ;
<wbr></wbr><wbr></wbr>
//避免重复值
var
<wbr><wbr></wbr></wbr> List: TStringList;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Add( 'aaa' );
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Sorted := True ;<wbr></wbr> //需要先指定排序
<wbr><wbr></wbr></wbr> List . Duplicates := dupIgnore;<wbr></wbr> //如有重复值则放弃
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Add( 'aaa' );
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> ShowMessage(List . Text);<wbr></wbr> //aaa
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //Duplicates 有3个可选值:
<wbr><wbr></wbr></wbr> //dupIgnore: 放弃;
<wbr><wbr></wbr></wbr> //dupAccept: 结束;
<wbr><wbr></wbr></wbr> //dupError: 提示错误.
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Free;
end ;
//排序与倒排序
{排序函数}
function DescCompareStrings(List: TStringList; Index1, Index2: Integer ): Integer ;
begin
<wbr><wbr></wbr></wbr> Result := -AnsiCompareText(List[Index1], List[Index2]);
end ;
<wbr></wbr><wbr></wbr>
procedure TForm1 . Button1Click(Sender: TObject);
var
<wbr><wbr></wbr></wbr> List: TStringList;
begin
<wbr><wbr></wbr></wbr> List := TStringList . Create;
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> List . Add( 'bbb' );
<wbr><wbr></wbr></wbr> List . Add( 'ccc' );
<wbr><wbr></wbr></wbr> List . Add( 'aaa' );
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //未排序
<wbr><wbr></wbr></wbr> ShowMessage(List . Text);<wbr></wbr> //bbb ccc aaa
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //排序
<wbr><wbr></wbr></wbr> List . Sort;
<wbr><wbr></wbr></wbr> ShowMessage(List . Text);<wbr></wbr> //aaa bbb ccc
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //倒排序
<wbr><wbr></wbr></wbr> List . CustomSort(DescCompareStrings);<wbr></wbr> //调用排序函数
<wbr><wbr></wbr></wbr> ShowMessage(List . Text);<wbr></wbr> //ccc bbb aaa
<wbr></wbr><wbr></wbr>
<wbr><wbr></wbr></wbr> //假如:
<wbr><wbr></wbr></wbr> List . Sorted := True ;
<wbr><wbr></wbr></wbr> List . Add( '999' );
<wbr><wbr></wbr></wbr> List . Add( '000' );
<wbr><wbr></wbr></wbr> List . Add( 'zzz' );
<wbr><wbr></wbr></wbr> ShowMessage(List . Text);<wbr></wbr> //000 999 aaa bbb ccc zzz
end ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值