Delphi中TStringList类常用属性方法详解

Delphi中TStringList类常用属性方法详解
//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 ;

你可能感兴趣的:(String)