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