博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
delphi TStringList 用法详解
阅读量:6261 次
发布时间:2019-06-22

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

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 TForm 1.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 zzzend;

 

转载于:https://www.cnblogs.com/Siegel/p/6936123.html

你可能感兴趣的文章
微服务架构 vs SOA架构
查看>>
maven项目注意
查看>>
Git学习分享
查看>>
阿里云移动端播放器高级功能---画面控制
查看>>
Ethereum地址是如何生成的
查看>>
峰采 #2
查看>>
高阶组件之属性代理
查看>>
Python 比特币 教程 之一:创建机器人
查看>>
extract-text-webpack-plugin用法
查看>>
java中的多线程你只要看这一篇就够了
查看>>
利用tornado实现表格文件预览
查看>>
深入call apply bind
查看>>
「前端面试题系列6」理解函数的柯里化
查看>>
用友云开发者中心助你上云系列之在线调试
查看>>
【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
查看>>
个人博客四|注册登录退出功能后台开发
查看>>
工作中常用到的ES6语法
查看>>
Django-Signals信号量
查看>>
flac格式转换mp3格式要用什么软件
查看>>
19. Remove Nth Node From End of List
查看>>