Tstrings类简单介绍及实例

用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:=1 to 10 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:=1 to 10 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:=1 to 10 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:=0 to 10000 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:=0 to 10 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:=0 to 10 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:=0 to 10000 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:=0 to 10 do
 begin
 listbox1.items.add(inttostr(i));
 listbox2.items.add(inttostr(i));
 end;

for i:=0 to 9 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:=0 to 10 do
 listbox1.items.add(inttostr(i));

listbox1.items.Exchange(0,10);
 end;

GetText
原型:function GetText: PChar; virtual;
注解:取得所有此类中的字符。
实例:
procedure TForm1.FormCreate(Sender: TObject);
 begin
 listbox1.Items.add(’1’);
listbox1.Items.add(’1’);
listbox1.Items.add(’1’);
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(’1’);
listbox1.Items.add(’2’);
listbox1.Items.add(’3’);
listbox1.Items.add(’4’);
listbox1.Items.add(’5’);
end;

procedure TForm1.Button1Click(Sender: TObject);
 begin
 showmessage(inttostr(listbox1.Items.indexof(’5’)));
end;

Insert
原型:procedure Insert(Index: Integer; const S: string); virtual; abstract;
注解:在指定的索引位置插入一个字符串。
实例:
procedure TForm1.FormCreate(Sender: TObject);
 begin
 listbox1.Items.add(’1’);
listbox1.Items.add(’2’);
end;

procedure TForm1.Button1Click(Sender: TObject);
 begin
 listbox1.Items.Insert(0,’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, 0);
 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(’1’);
abc.add(’1’);
abc.add(’1’);
abc.add(’1’);
abc.SaveToStream(abcd);
 abcd.Position:=0;
 memo1.lines.loadfromstream(abcd);
 end;

SetText
原型:procedure SetText(Text: PChar); virtual;
注解:设置tstrings类中的内容。
 实例:
procedure TForm1.FormCreate(Sender: TObject);
 var
 i:integer;
 begin
 for i:=0 to 10 do
 begin
 listbox1.items.add(inttostr(i));
 end;
 end;

procedure TForm1.Button1Click(Sender: TObject);
 begin
 listbox1.Items.SetText(pchar(’aa’));
end;
时间: 2024-10-30 06:43:09

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

Object类简单介绍

在java语言中有一个特殊类Object,该类是java.lang类库中的一个类,所有的类都是直接或间接地继承该类而得到的.所以说Object类是所有类的源. 故,我们今天就来好好地了解一下Object类的方法. Object类中有如下的一些方法: protected Object clone(),boolean equals(Object obj),protected void finalize(),Class<?>getClass() int hashCode(),void notify(

android application类简单介绍(一)

每次应用程序执行时.应用程序的application类保持实例化的状态. 通过扩展applicaiton类,能够完毕下面3项工作: 1.对android执行时广播的应用程序级事件如低低内做出响应. 2.在应用程序组件之间传递对象(全局变量). 3.管理和维护多个应用程序组件使用的资源. 当中,后两项工作通过使用单例类来完毕会更好.application会在创建应用程序进程的时候实例化. 以下是扩展Application的演示样例代码: import android.app.Application

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

打印流: 有两个类:PrintStream,PrintWriter类,两个类的方法一致,区别在于构造器 PrintStream:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream) PringWriter:构造方法:接收File类型,接收字符串文件名,接收字节输出流(OutputStream),接收字符输出流(Writer) 为其他流添加功能,可以方便地打印各种数据值,不同的是:它永远不会抛出IO异常 方法: package demo; import java

(八十七)AutoLayout的简单介绍与实例

AutoLayout是继AutoResizing之后的一种自己主动布局方法.攻克了AutoResizing无法处理控件间相互关系的问题. AutoLayout在storyboard中通过底部工具条设置,底部工具条仅仅有勾选了AutoLayout同意才干显示. 从左到右三个button各自是 对齐.固定和尺寸修复. [Align] 第一栏和第二栏都无法选择,由于它们都是相对属性,须要一个以上的控件. 第一栏各自是左.右.上.下对齐.后面的值是偏移量. 第二栏是相对还有一个控件水平.居中对齐或者基于

map/reduce类简单介绍

在Hadoop的mapper类中,有4个主要的函数,分别是:setup,clearup,map,run.代码如下: protected void setup(Context context) throws IOException, InterruptedException { // NOTHING } protected void map(KEYIN key, VALUEIN value, Context context) throws IOException, InterruptedExcep

Java.util.Calendar类简单介绍

Java.util.Calendar类 Calendar类是一个抽象类,里面提供了很多操作日历的方法.Calendar类无法直接创建对象使用,需要利用里面的一个静态方法getInstance(),该方法返回一个Calendar对象(子类对象).该静态方法使用默认时区和语言环境获取一个日历.这个静态方法是必须知道的否则根本玩不转Calendar. 1.Calendar类中的常量 Calendar cal = Calendar.getInstance(); cal.get(Calendar.DATE

【Entity Framework】初级篇--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager类的介绍

本节,简单的介绍EF中的ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager这个几个比较重要的类,它们都位于System.Data.Entity.dll下的System.Data.Objects命名空间下.在后续的章节中,我们经常会用到它们的某些方法,以便完成我们的某些操作或目的.本节,简单的说明一下以后我们可能会用到的各个类的方法,以方便我们后续的学习. ObjectContext封装 .NET Framework 和数据库

《HTML 5网页开发实例具体解释》样章、内容简单介绍、前言

http://spu.jd.com/1167757597.html http://product.dangdang.com/23484942.html 样章 http://download.csdn.net/download/hdzn0603/7421803 内容简单介绍 <HTML 5网页开发实例具体解释>从实际的应用场景出发.结合当下的热门技术.深入浅出地介绍了 HTML 5所包括的各项新技术. 本书分为 14章.第 1~4章介绍了 HTML 5和浏览器的发展史. HTML 5新特性的使用

iOS开发—音频的播放的简单介绍和封装工具类

iOS开发—音频的播放的简单介绍和封装工具类 一.音效的播放简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav&qu