博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi中TStringList类常用属性方法详解
阅读量:4504 次
发布时间:2019-06-08

本文共 2561 字,大约阅读时间需要 8 分钟。

//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
;

转载于:https://www.cnblogs.com/zyb2016/p/5685218.html

你可能感兴趣的文章
tomcat下jndi的三种配置方式
查看>>
JS moveStart和moveEnd方法(TextRange对象--查找与选择)
查看>>
textArea中的placeholder属性不起作用
查看>>
Swift 里字符串(一)概览
查看>>
温故知新 javascript 正则表达式(转载)
查看>>
XP系统无法远程桌面
查看>>
正确使用索引
查看>>
java多态
查看>>
盒覆盖 算法
查看>>
bzoj1260 [CQOI2007]涂色paint
查看>>
仿网上银行虚拟键盘脚本- keyboard.js
查看>>
makefile "=" ":=" "?=" "+="
查看>>
机会是留给有准备的人
查看>>
实战是最好的学习方式
查看>>
使用qemu-img创建虚拟磁盘文件
查看>>
JDBC
查看>>
POJ - 3237 Tree (树链剖分+线段树)
查看>>
个人网站可参考的资料
查看>>
跟随一条insert语句, 进入TiDB的源码世界(上)
查看>>
软件工程-设计
查看>>