微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐