Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)
Delphi 容器类 TStringList 常用方法与属性(取值、赋值、排序)
1、常用方法和属性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var List: TStringList; i: Integer ; begin List := TStringList . Create; List . Add( 'Test1' ); {添加} List . Add( 'Test2' ); List . Exchange( 0 , 1 ); {置换} List . Insert( 0 , 'Test3' ); {插入} i := List . IndexOf( 'Test1' ); {首次出现的位置} List . Sort; {排序} List . Sorted := True ; {指定排序} List . Count; {总数} List . Text; {文本集合} List . Delete( 0 ); {删除, 0是第一个数据} List . LoadFromFile( 'c:\test.txt' ); {打开} List . SaveToFile( 'c:\test.txt' ); {保存} List . Clear; {清空} List . Free; {释放} end ; |
2、读字符
1 2 3 4 5 6 7 8 9 | var List: TStringList; begin List := TStringList . Create; List . CommaText := 'aa,bb,cc' ; ShowMessage(IntToStr(List . Count)); //3 ShowMessage(List[ 0 ]); //aa List . Free; end ; |
3、置换符号(分隔符)
1 2 3 4 5 6 7 8 9 10 | var List: TStringList; begin List := TStringList . Create; List . Delimiter := '|' ; List . DelimitedText := 'aa|bb|cc' ; ShowMessage(IntToStr(List . Count)); //3 ShowMessage(List[ 0 ]); //aa List . Free; end ; |
4、Name=Value 取值、赋值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var List: TStringList; begin List := TStringList . Create; List . Add( 'aa=100' ); List . Add( 'bb=200' ); List . Add( 'cc=300' ); ShowMessage(List . Names[ 1 ]); //bb ShowMessage(List . ValueFromIndex[ 1 ]); //200 ShowMessage(List . Values[ 'bb' ]); //200 //通过ValueFromIndex 赋值: List . ValueFromIndex[ 1 ] := '400' ; ShowMessage(List[ 1 ]); //bb=400 //通过 Values 赋值: List . Values[ 'bb' ] := '500' ; ShowMessage(List[ 1 ]); //bb=500 List . Free; end ; |
5、忽略 重复值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var List: TStringList; begin List := TStringList . Create; List . Add( 'aa' ); List . Sorted := True ; //先指定排序 List . Duplicates := dupIgnore; //重复值忽略 List . Add( 'aa' ); ShowMessage(List . Text); //aa List . Free; end ; |
List.Duplicates 个可选值:
- dupIgnore: 放弃;
- dupAccept: 结束;
- dupError: 提示错误.
6、排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | {排序函数} 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( 'bb' ); List . Add( 'cc' ); List . Add( 'aa' ); //未排序 ShowMessage(List . Text); //bb cc aa //排序 List . Sort; ShowMessage(List . Text); //aa bb cc //倒排序 List . CustomSort(DescCompareStrings); //调用排序函数 ShowMessage(List . Text); //cc bb aa end ; |
创建时间:2020.12.02 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
2019-12-02 Delphi ini文件操作 TIniFile、TMemIniFile
2019-12-02 Delphi ini文件 [1] 结构及常用操作方法
2019-12-02 Delphi 格式化输出 - Format 函数 和 FmtStr 过程
2019-12-02 Delphi 获取系统的语言环境参数GetSystemDefaultLangID、VerLanguageName、GetLocaleInfo