用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;

最新文章

  1. MVC中view页面用jquery方法绑定select控件值
  2. EL表达式---关系运算符
  3. Ext.Net学习笔记09:Ext.Net Store的用法
  4. html 第一阶段 学习使用总结
  5. 【开发手记一】老生常谈:简简单单配置ZED板开发环境
  6. 动态生成WebService的客户端
  7. Lucky Coins Sequence
  8. optional install error: Package require os(darwin) not compatible with your platform(win32)
  9. mybatis的一些小知识
  10. vue $refs的基本用法
  11. RabbitMQ常见错误2
  12. Helper
  13. 在finally块中使用try catch,并且catch的时候抛出异常的一个问题
  14. dubbo 自定义 Filter
  15. 互联网IP地址的分配
  16. Luogu 3373 - 【模板】线段树 2 - [加乘线段树]
  17. 第一篇 Python图片处理模块PIL(pillow)
  18. style弹出带滚动条的虚拟窗口
  19. cocos2d-x游戏引擎核心之十一——并发编程(消息通知中心)
  20. OMAP4之DSP核(Tesla)软件开发学习(一)

热门文章

  1. MYSQL 随机选取几条数据
  2. 4.关于QT中的QFile文件操作,QBuffer,Label上加入QPixmap,QByteArray和QString之间的差别,QTextStream和QDataStream的差别,QT内存映射(
  3. hdu1535——Invitation Cards
  4. 解决google登录界面input输入框颜色不正确问题
  5. 模拟多级复选框效果--jquery
  6. SPSS统计功能与模块对照表
  7. solr查询
  8. POJ1850&&POJ1496
  9. 【python】-- 函数、无参/有参参数、全局变量/局部变量
  10. 使用JSTL在页面前的空行怎么去除?