- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0 |
Delphi应用程序经常要处理字符串列表,如组合框和列表框中的字符串,TMemo部件的文本行,屏幕支持的字体列表,TNotebook部件的tabs属性,字符串网格的行、列等等。
虽然应用程序以不同的方法使用这些列表,但Delphi通过一个叫字符串列表(Tstrings)的对象提供统一的界面,并且在不同场合可相互转化。例如,可以在TMemo部件中编辑某一字符串,并把它当成列表框中列表项使用。
在Delphi集成开发环境中也经常要使用字符串列表。如在Object Inspector窗体的取值栏中常列有Tstrings字符,双击该字符,将弹出字符列表编辑器,如图3.1,在编辑器中可进行编辑、加入、删除等操作 。
在运行状态时也可以操作字符串列表,常见的字符串列表操作如下:
● 列表中操作字符串
● 装载、保存字符串列表
● 创建字符串列表
● 在字符串列表中加入对象
本章将介绍字符串列表的常用操作及简单应用。
3.1 字符串列表的常用操作
3.1.1 列表中操作字符串
在Delphi应用程序中,经常要对列表中的字符串进行操作。例如,设计时修改字符串列表属性。
常见的字符串操作如下:
● 计算列表中字符串数目
● 访问指定字符串
● 查找字符串的位置
● 往列表中加入字符串
● 删除列表中的字符串
● 在列表中移动字符串
● 复制一个完整的字符串列表
● 复制列表中的字符串
3.1.1.1 计算列表中的字符串数目
使用Count属性可计算列表中的字符串数目。Count是只读属性,用以指示列表中字符串列表数目。因为字符串列表是以零开始索引,因而Count比列表的最大索引数大一。
例如,应用程序想计算当前屏幕支持的字体数目,可查找屏幕对象的字体列表,该列表包含了屏幕支持的所有字体的名字。
FontCount:=Screen.Fonts.Count;
3.1.1.2 访问指定字符串
字符串列表有一个可索引的Strings属性,可象使用字符串数组一样使用Strings。例如,列表中第一个字符串为Strings[0]。因为Strings属性为字符串列表中最常用的属性,Strings属性可做为字符串列表的缺省属性,即使用时可省略Strings标识符。
要访问字符串中的指定字符,可查找该字符的起始位置或索引。字符串数目是以零开始记数的。如果列表中有三个字符串,其索引范围为0..2。
以下代码是等价的:
Memol.Lines.Strings[0]:='This is the first line.';
Memol.Lines[0]:='This is the first line.';
3.1.1.3 查找字符串的位置
Indexof方法可查找指定字符串的位置。Indexof有一个字符串类型的参数,方法返回列表中匹配字符串的位置。如果列表中无匹配字符串,将返回- 1。
Indexof方法只能查找完整字符串,即必须完全匹配整个字符串。如果只匹配部分字符串,必须编写相应代码。
以下代码判定列表中是否有指定字符串:
if FileListBox1.Items.IndexOf('AUTOEXEC.BAT') > -1 then
begin
Color := clYellow;
Label1.Caption := 'You are in the root directory!';
end;
3.1.1.4 在列表中加入字符串
有两种方式往列表中加入字符串:可把字符串加到列表的最后,也可插入列表之中。
要把字符串加至列表尾部,使用Add方法,把字符串作为参数传递。
要把字符串插入列表中,使用Insert方法,传递两个参数:插入的位置和字符串。
例如,要把“Three”插入至列表中的第三个位置,使用代码Insert(2,'Three')。如果列表中的字符不到2个,Delphi将产生超出索引范围的异常(关于异常详见十二章)。
3.1.1.5 在列表中移动字符串
应用程序可以在列表中把指定字符串移至另一个位置,如果字符串与某个对象相连,则该对象与字符串同步移动。
Move方法可实现字符串的移动,它有两个参数:现行位置和要移动的位置。以下代码把第三个字符串移至第五的位置:
Move(2,4);
3.1.1.6 删除列表中的字符串
使用Delete方法可以删除指定的字符串。Delete的参数是指定字符串的位置,如果不知道字符串的位置,可使用Indexof方法。
要删除字符串列表中所有的字符串,可使用Clear方法。
以下代码删除列表框中的指定字符串:
With ListBox1.Items do
begin
if Indexof('bureaucracy')>-1 then
Delete (Indexof('bureaucracy'));
end;
3.1.1.7 复制完整的字符串列表
把一个列表复制到另一个列表相当于把源列表赋值给目标列表,即使列表从属于不同的部件,Delphi也可以进行这种复制。
复制列表将覆盖掉目标列表,如果要把源列表加到目标列表的尾部,使用Addstrings方法。
以下代码分别为复制列表和连接列表:
Outline1.Lines:=ComboBox1.Items;
Outline1.Addstrings(ComboBox1.Items);
3.1.1.8 重复操作列表中的字符串
很多情况需要对表中的每一个字符串进行操作,如改变字符串的大小写。象这种重复操作可以用 for 循环来实现,同时使用列表的整数类型的索引。
以下代码对列表框的字符串进行重复操作。当用户按下按钮时,对列表框中的字符串进行大小写转换。
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ListBox1.Items.Count -1 do
ListBox1.Items[I] := UpperCase(ListBox1.Items[I]);
end;
3.1.2 装载、保存字符串列表
应用程序可以非常方便的把Delphi字符串列表存入文本文件,或者从文本文件中重新装载(或装入另一个不同的列表),字符串列表有专门的方法处理这类操作。
使用LoadFromFile方法从文件中装载字符串列表,LoadFromFile从文本文件中把每一行字符串装入列表中。
把列表保存在文件中使用SaveToFile方法,使用时传递文件名的参数。如果文件不存在,SaveToFile将创建它,否则将用列表覆盖现有文件内容。
以下代码装入AUTOEXEC.BAT的文件,并以AUTOEXEC.BAK为文件名进行备份。
procedure TForm1.FormCreat(sender:TObject);
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |