用TStrings保存文件;
var
  S: TStrings;
begin
  S := TStringList.Create();
  { ... }
  S.SaveToFile('config.txt', TEncoding.UTF8); Tstrings类简单介绍及实例
在DELPHI的程序开发过程中Tstrings类的使用是比较频繁的,下面就此类在DELPHI5的开发环境中进行一下简单的介绍及实例(注:本文只对tstrings类中的方法及属性进行介绍,
从其父类继承的属性及方法不属本文讨论之内)。
Add
原型:function Add(const S: string): Integer; virtual;
注解:此方法是在字符表中的后面添加字符串,返回值是新添加字符串的索引值。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:= to do
listbox1.Items.Add(inttostr(i));
end; AddStrings
原型:procedure AddStrings(Strings: TStrings); virtual;
注解:从字符表中添加一组字符表。
实例:
procedure TForm1.Button2Click(Sender: TObject);
var
abc:tstringlist;
begin
abc:=tstringlist.Create;
abc.Assign(listbox1.Items);
listbox2.Items.AddStrings(abc);
end; procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:= to do
listbox1.Items.Add(inttostr(i));
end; Append
原型:procedure Append(const S: string);
注解:此方法是在字符表中的后面添加字符串。
实例:
procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Append(’you will win!!’);
end; Assign
原型:procedure Assign(Source: TPersistent); override;
注解:用此方法从另一个兼容的对象中的值赋给此对象,相当于复制和赋值的功能。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:= to do
begin
listbox1.items.add(inttostr(i));
end;
listbox2.items.Assign(listbox1.items);
end; BeginUpdate
原型:procedure BeginUpdate;
注解:此方法是在字符串列表与可视化列表控件进行操作时使用的,
目的是防止添加或删除item时进行刷新(在大数据量进行添加或删除操作时是很费时间的)。
与EndUpdate进行配对操作。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
listbox1.Items.BeginUpdate;
for i:= to do
begin
listbox1.items.Add(inttostr(i));
end;
listbox1.Items.EndUpdate;
end; Clear
原型:procedure Clear; virtual; abstract;
注解:此方法清除字符表中全部的内容
实例:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:= to do
listbox1.items.add(inttostr(i));
end; procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Clear;
end; Delete
原型:procedure Delete(Index: Integer); virtual; abstract;
注解:此方法通过索引值删除指定的字符串。
实例:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:= to do
listbox1.items.add(inttostr(i));
end; procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Delete(listbox1.ItemIndex);
end; Destroy
原型:destructor Destroy; override;
注解:消毁一个TStrings类的实例。
实例:
var
Form1: TForm1;
aaa:boolean;
bbb:tstringlist;
implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject);
begin
aaa:=true;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
if aaa=true then
begin
bbb:=tstringlist.create;
aaa:=false;
end
else
begin
bbb.Destroy;
aaa:=true;
end;
end; end. EndUpdate
原型:procedure EndUpdate;
注解:此方法是在字符串列表与可视化列表控件进行操作时使用的,目的是防止添
加或删除item时进行刷新(在大数据量进行添加或删除操作时是很费时间的)。
与BeginUpdate进行配对操作。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
listbox1.Items.BeginUpdate;
for i:= to do
begin
listbox1.items.Add(inttostr(i));
end;
listbox1.Items.EndUpdate;
end; Equals
原型:function Equals(Strings: TStrings): Boolean;
注解:此方法为判断两个Tstrings类中的内容是否相当,如果相等返回为true,不等返回为false。
实例:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:= to do
begin
listbox1.items.add(inttostr(i));
listbox2.items.add(inttostr(i));
end; for i:= to do
begin
listbox3.items.add(inttostr(i));
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
if listbox1.items.Equals(listbox2.items) then
showmessage(’相等’)
else
showmessage(’不相等’); end; procedure TForm1.Button2Click(Sender: TObject);
begin
if listbox2.items.Equals(listbox3.items) then
showmessage(’相等’)
else
showmessage(’不相等’);
end; Exchange
原型:procedure Exchange(Index1, Index2: Integer); virtual;
注解:此方法是借助两个字符串在表中的索引而调换位置。与move区别是(If either string has an associated object, Exchange changes the position of the object as well.如果这个字符串有一个链接的对象,那么这个对象的位置也随着字符串的位置改变而改变。)
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:= to do
listbox1.items.add(inttostr(i)); listbox1.items.Exchange(,);
end; GetText
原型:function GetText: PChar; virtual;
注解:取得所有此类中的字符。
实例:
procedure TForm1.FormCreate(Sender: TObject);
begin
listbox1.Items.add(’’);
listbox1.Items.add(’’);
listbox1.Items.add(’’);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(string(listbox1.Items.GetText));
end; IndexOf
原型:function IndexOf(const S: string): Integer; virtual;
注解:通过字符串常量来得到在此类中的索引值。
实例:
procedure TForm1.FormCreate(Sender: TObject);
begin
listbox1.Items.add(’’);
listbox1.Items.add(’’);
listbox1.Items.add(’’);
listbox1.Items.add(’’);
listbox1.Items.add(’’);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(inttostr(listbox1.Items.indexof(’’)));
end; Insert
原型:procedure Insert(Index: Integer; const S: string); virtual; abstract;
注解:在指定的索引位置插入一个字符串。
实例:
procedure TForm1.FormCreate(Sender: TObject);
begin
listbox1.Items.add(’’);
listbox1.Items.add(’’);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.Insert(,’abc’);
end; LoadFromFile
原型:procedure LoadFromFile(const FileName: string); virtual;
注解:从指定的文件名装载文件内容。
实例:
procedure TForm1.Button2Click(Sender: TObject);
begin
listbox1.items.LoadFromFile(’c:/abc.txt’);
end; LoadFromStream
原型:procedure LoadFromStream(Stream: TStream); virtual;
注解:从流中装载文件。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
abc:tmemorystream;
begin
abc:=tmemorystream.create;
abc.LoadFromFile(’c:/csdn.txt’);
memo1.lines.LoadFromStream(abc);
end; Move
原型:procedure Move(CurIndex, NewIndex: Integer); virtual;
注解:交换两个以索引为参数的字符串。与Exchange不同的是
(If the string has an associated object, the object remains
associated with the string in its new position.如果这个字符串有一个对象,
那么这个对象的位置不变,自动链接到新的字符串)
实例:
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Move(ListBox1.ItemIndex, );
end; SaveToFile
原型:procedure SaveToFile(const FileName: string); virtual;
注解:通过参数来把tstrings中的内容存成文件。
实例:
procedure TForm1.Button2Click(Sender: TObject);
begin
memo1.Lines.SaveToFile(’c:/abc.txt’);
end; SaveToStream
原型:procedure SaveToStream(Stream: TStream); virtual;
注解:保存成流。
实例:
procedure TForm1.Button1Click(Sender: TObject);
var
abc:tstringlist;
abcd:tmemorystream;
begin
abc:=tstringlist.create;
abcd:=tmemorystream.create;
abc.add(’’);
abc.add(’’);
abc.add(’’);
abc.add(’’);
abc.SaveToStream(abcd);
abcd.Position:=;
memo1.lines.loadfromstream(abcd);
end; SetText
原型:procedure SetText(Text: PChar); virtual;
注解:设置tstrings类中的内容。
实例:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
for i:= to do
begin
listbox1.items.add(inttostr(i));
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
listbox1.Items.SetText(pchar(’aa’));
end;

Tstrings类简单介绍及实例的更多相关文章

  1. oc-12-NSString 类简单介绍及用法

    // 11-[掌握]NSString 类简单介绍及用法 #import <Foundation/Foundation.h> int main(int argc, const char * ...

  2. Linux守护进程简单介绍和实例具体解释

    Linux守护进程简单介绍和实例具体解释 简单介绍 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程. ...

  3. Dubbo简单介绍及实例

    1.概念 Dubbo是一个分布式服务框架,以及阿里巴巴内部的SOA服务化治理方案的核心框架.其功能主要包含:高性能NIO通讯及多协议集成.服务动态寻址与路由.软负载均衡与容错,依赖分析与降级等. 说通 ...

  4. Java并发之Semaphore和Exchanger工具类简单介绍

    一.Semaphore介绍 Semaphore意思为信号量,是用来控制同时访问特定资源的线程数数量.它的本质上其实也是一个共享锁.Semaphore可以用于做流量控制,特别是公用资源有限的应用场景.例 ...

  5. Entity Framework 的简单介绍与实例

    1.下载与引用 a) 首先需要下载一个oracle clinent 12c 发行版(我这边下载的是发行版)并进行安装,下载内容如下图 B) 创建一个项目,通过Nuget引用  添加ODP.NET    ...

  6. Solr之NamedList 简单介绍与实例解析

    大家都知道,Solr是一个基于Lucene高可配置的搜索服务器,大部分参数值以及相关优化等等都可以在solrconfig.xml中配置,那么就需要一个能够很快的进行解析和读取配置文件内容的数据结构,为 ...

  7. Java学习笔记43(打印流、IO流工具类简单介绍)

    打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(Outpu ...

  8. 12.常用类简单介绍.md

    目录 1.Scanner类 2.System类 4.Object类和工具类 5.StringBuffer类和StringBuilder类 6.Math类 7.Random类和ThreadLocalRa ...

  9. Java中的Number和Math类简单介绍

    Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 实例: int a = 5000; float b = 13.65 ...

随机推荐

  1. secureCrt Linux 文件传输

    1.在secureCRT终端下输入rz命令,查看Linux是否安装rz文件传输服务 如果提示未安装则先安装rz服务:安装命令:   apt-get install lrzsz 2.进入要上传的目的文件 ...

  2. Vim使用技巧(1) -- 普通模式技巧 【持续更新】

    直观的来一张键盘图先 符号快捷键 . //重复上次修改 ^ //光标快速跳转到当前行开头 $ //光标快速跳转到当前行结尾 f{char} //光标快速跳转到当前行下一个{char}字符,{char} ...

  3. centos 6.9 编译安装 Nginx1.12.1

    centos 6.9 使用yum 安装 Nginx1.12.1 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈 ...

  4. DFS应用——找出无向图的割点

    [0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 "DFS应用于找割点" 的idea 并用源代码加以实现: 0.2) 必须要事先 做个s ...

  5. 托管程序调用非托管dll问题总结

    托管程序Visual Basic.net, 非托管DLL标准C++程序(使用VC++编译) 函数调用定义 第一种写法: <DllImportAttribute("XXX.dll&quo ...

  6. [原]Nginx+Lua服务端合并静态文件

    http://homeway.me 0x01.About 源代码已经上传到github:https://github.com/grasses/nginx-lua-static-merger nginx ...

  7. urllib库利用cookie实现模拟登录慕课网

    思路 1.首先在网页中使用账户和密码名登录慕课网 2.其次再分析请求头,如下图所示,获取到请求URL,并提取出cookie信息,保存到本地 3.最后在代码中构造请求头,使用urllib.request ...

  8. jQuery Easy UI Draggable(拖动)组件

    上文已经提到过了 jQuery EasyUI插件引用一般我们经常使用的有两种方式(排除easyload载入方式),所以本篇要总结的Draggable组件相同有两种方式载入: (1).使用class载入 ...

  9. 【HTML5开发系列】meta元素详解

    meta元素可以用来定义文档的各种元数据.他有很多种用法,一个HTML文档可以包含多个meta元素. meta元素在HTML5中的变化 charset属性是HTML5中新增的.在HTML4中,http ...

  10. CSS 布局实例系列(三)如何实现一个左右宽度固定,中间自适应的三列布局——也聊聊双飞翼

    今天聊聊一个经典的布局实例: 实现一个三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化 可能很多朋友已经笑了,这玩意儿通过双飞翼布局就能轻松实现.不过,还请容我在双飞 ...