用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. Hadoop相关资料

    http://blog.csdn.net/skywalker_only/article/details/40650427

  2. xml初学简单介绍

    什么是XML? 1.全称Extensible Markup Language,可扩展标记语言,W3C组织公布. 2.XML用来保存有一定结构关系的数据. 3.标签的嵌套,实质是一串字符串. 4.跨平台 ...

  3. tcp 状态转移图详解

    首先看一张图片: 虚线表示服务端的状态转移,实现表示客户端的状态转移. 初始的close状态并不是真是的状态,只是为了方便描述开始和终止状态而构造出来的. 从服务端的状态转移开始说: 服务端打开后处于 ...

  4. Android中的常见通信机制和Linux中的通信机制

    Handler Handler是Android系统中的一种消息传递机制,起作用是应对多线程场景.将A进程的消息传递给B线程,实现异步消息处理.很多情况是将工作线程中需要更新UI的操作消息传递给UI主线 ...

  5. Yaml 的python 应用

    1.安装yaml的python包 2.准备yaml的数据 3.yaml.load 解析yaml 3.生产yaml

  6. linux kernel的cmdline參数解析原理分析

    利用工作之便,今天研究了kernel下cmdline參数解析过程.记录在此.与大家共享.转载请注明出处.谢谢. Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參 ...

  7. Mac下python连接mysql数据库

    一.下载Mysql官方connector驱动 地址:https://dev.mysql.com/downloads/connector/python/ 根据提示安装.dmg文件即可. 二.验证是否安装 ...

  8. C语言基础知识【存储类】

    C 存储类1.存储类定义 C 程序中变量/函数的范围(可见性)和生命周期.这些说明符放置在它们所修饰的类型之前autoregisterstaticextern2.auto 只能用在函数内,即 auto ...

  9. Android拍照生成缩略图

    在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,使用是简单,它提供了一个常量和三个方法.利用这些常数和方法,可以轻松快捷的实现图片和 ...

  10. Jaxb2 实现JavaBean与xml互转

    一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实 ...