【delphi】TStringList类常用属性方法详解
TStringList 常用方法与属性
- var
- List: TStringList;
- i: Integer;
- begin
- List := TStringList.Create;
- List.Add('Strings1'); {添加}
- List.Add('Strings2');
- List.Exchange(,); {置换}
- List.Insert(,'Strings3'); {插入}
- i := List.IndexOf('Strings1'); {第一次出现的位置}
- List.Sort; {排序}
- List.Sorted := True; {指定排序}
- List.Count; {总数}
- List.Text; {文本集合}
- List.Delete(); {删除, 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)); {}
- ShowMessage(List[]); {aaa}
- List.Free;
- end;
置换分隔符
- var
- List: TStringList;
- begin
- List := TStringList.Create;
- List.Delimiter := '|';
- List.DelimitedText := 'aaa|bbb|ccc|ddd';
- ShowMessage(IntToStr(List.Count)); {}
- ShowMessage(List[]); {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[]); {bbb}
- ShowMessage(List.ValueFromIndex[]); {}
- ShowMessage(List.Values['bbb']); {}
- {ValueFromIndex 可以赋值:}
- List.ValueFromIndex[] := '';
- ShowMessage(List[]); {bbb=2}
- {可以通过 Values 赋值:}
- List.Values['bbb'] := '';
- ShowMessage(List[]); {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('');
- List.Add('');
- List.Add('zzz');
- ShowMessage(List.Text); {000 999 aaa bbb ccc zzz}
- end;
【delphi】TStringList类常用属性方法详解的更多相关文章
- Delphi中TStringList类常用属性方法详解
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...
- ES6 类(Class)基本用法和静态属性+方法详解
原文地址:http://blog.csdn.net/pcaxb/article/details/53759637 ES6 类(Class)基本用法和静态属性+方法详解 JavaScript语言的传统方 ...
- Python的Django框架中forms表单类的使用方法详解
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...
- Java AtomicInteger类的使用方法详解_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Samp ...
- Java File 类的使用方法详解
Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...
- Java File 类的使用方法详解(转)
转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...
- 部分常用Express方法详解
app.set(name, value) 分配给name一个value,并将name作为app settings table的一个属性. 使用app.set('foo', true) 相当于调用 ap ...
- jQuery常用事件方法详解
目录 jQuery事件 ready(fn)|$(function(){}) jQuery.on() jQuery.click jQuery.data() jQuery.submit() jQuery事 ...
- Yii-数据模型- rules类验证器方法详解
public function rules(){ return array( array('project_id, type_id, status_id, owner_id, requester_id ...
随机推荐
- 阿里云安装jdk,tomcat,maven,svn,git,nginx
1. 首先通过xftp等工具上传安装包 2. 配置目录 cd usr mkdir java cd java mkdir jdk mkdir tomcatmkdir maven 3. 安装jdk 3.1 ...
- 【CAS单点登录视频教程】 第06集【完】 -- Cas认证 学习 票据认证FormsAuthentication
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- numpy二分查找
a = np.array([1, 2, 2, 3]) print(np.searchsorted(a, 0)) # 0 print(np.searchsorted(a, 1)) # 0 print(n ...
- 【svn】解析subversion的使用
目录结构: contents structure [-] 安装客户端 安装服务端 创建仓库 启动仓库 创建客户端与仓库取得联系 使用svn服务 SVN密码管理 SVN的仓库布局和常规命令 分支.合并和 ...
- iOS UTI
UTI全拼Uniform Type Identifier,直接翻译过来就是统一类型标示符. 这个东西可以实现的功能就是设备之间或者app之间的文件传输. 有兴趣的领个支付宝红包再走, ^_^ 全套相关 ...
- canOpenURL: failed for URL: "weixin://app/wx 问题解决方式
canOpenURL: failed for URL: “weixin://app/wx 问题解决方式: 在info.plist里面添加以下内容: <key>LSApplicationQu ...
- mysql单机多实例
在数据库服务器上,可以架构多个Mysql服务器,进行单机多实例的读写分离: 可以通过mysqld_multi来进行多实例的管理,mysqld_multi是用perl写的脚本,原理是通过mysql_ad ...
- 【转】标准C++类std::string的内存共享和Copy-On-Write技术
1. 概念 Scott Meyers在<More Effective C++>中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功 ...
- ListView点击Item展开隐藏项(单项展开、多项展开、复杂布局时的展开处理)
手机屏幕毕竟有限,当我们要显示较多数据时便不得不舍去一些次要信息.将主要信息优先显示,也使显示效果更加简洁美观.遇到类似的需求,我们使用最多的就是 ListView ,而假设每次点击一个 Item 都 ...
- 乙醇的webdriver实用指南java版本
启动浏览器 关闭浏览器 浏览器最大化 设置浏览器大小 访问链接 打印当前页面的title及url 前进和后退 简单的对象定位 定位一组对象 层级定位 操作测试对象 send keys模拟按键输入 处理 ...