其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi字符串列表及应用(一)


发布日期:2020年07月02日
 
Delphi字符串列表及应用(一)

Delphi应用程序经常要处理字符串列表如组合框和列表框中的字符串TMemo部件的文本行屏幕支持的字体列表TNotebook部件的tabs属性字符串网格的行列等等

虽然应用程序以不同的方法使用这些列表但Delphi通过一个叫字符串列表(Tstrings)的对象提供统一的界面并且在不同场合可相互转化例如可以在TMemo部件中编辑某一字符串并把它当成列表框中列表项使用

在Delphi集成开发环境中也经常要使用字符串列表如在Object Inspector窗体的取值栏中常列有Tstrings字符双击该字符将弹出字符列表编辑器如图在编辑器中可进行编辑加入删除等操作

在运行状态时也可以操作字符串列表常见的字符串列表操作如下

列表中操作字符串

装载保存字符串列表

创建字符串列表

在字符串列表中加入对象

本章将介绍字符串列表的常用操作及简单应用

字符串列表的常用操作

列表中操作字符串

在Delphi应用程序中经常要对列表中的字符串进行操作例如设计时修改字符串列表属性

常见的字符串操作如下

计算列表中字符串数目

访问指定字符串

查找字符串的位置

往列表中加入字符串

删除列表中的字符串

在列表中移动字符串

复制一个完整的字符串列表

复制列表中的字符串

计算列表中的字符串数目

使用Count属性可计算列表中的字符串数目Count是只读属性用以指示列表中字符串列表数目因为字符串列表是以零开始索引因而Count比列表的最大索引数大一

例如应用程序想计算当前屏幕支持的字体数目可查找屏幕对象的字体列表该列表包含了屏幕支持的所有字体的名字

FontCount:=ScreenFontsCount;

访问指定字符串

字符串列表有一个可索引的Strings属性可象使用字符串数组一样使用Strings例如列表中第一个字符串为Strings[]因为Strings属性为字符串列表中最常用的属性Strings属性可做为字符串列表的缺省属性即使用时可省略Strings标识符

要访问字符串中的指定字符可查找该字符的起始位置或索引字符串数目是以零开始记数的如果列表中有三个字符串其索引范围为

以下代码是等价的

MemolLinesStrings[]:=This is the first line;

MemolLines[]:=This is the first line;

查找字符串的位置

Indexof方法可查找指定字符串的位置Indexof有一个字符串类型的参数方法返回列表中匹配字符串的位置如果列表中无匹配字符串将返回

Indexof方法只能查找完整字符串即必须完全匹配整个字符串如果只匹配部分字符串必须编写相应代码

以下代码判定列表中是否有指定字符串

if FileListBoxItemsIndexOf(AUTOEXECBAT) > then

begin

Color := clYellow;

LabelCaption := You are in the root directory!;

end;

在列表中加入字符串

有两种方式往列表中加入字符串可把字符串加到列表的最后也可插入列表之中

要把字符串加至列表尾部使用Add方法把字符串作为参数传递

要把字符串插入列表中使用Insert方法传递两个参数插入的位置和字符串

例如要把Three插入至列表中的第三个位置使用代码Insert(Three)如果列表中的字符不到Delphi将产生超出索引范围的异常(关于异常详见十二章)

在列表中移动字符串

应用程序可以在列表中把指定字符串移至另一个位置如果字符串与某个对象相连则该对象与字符串同步移动

Move方法可实现字符串的移动它有两个参数现行位置和要移动的位置以下代码把第三个字符串移至第五的位置Move();

删除列表中的字符串

使用Delete方法可以删除指定的字符串Delete的参数是指定字符串的位置如果不知道字符串的位置可使用Indexof方法

要删除字符串列表中所有的字符串可使用Clear方法

以下代码删除列表框中的指定字符串

With ListBoxItems do

begin

if Indexof(bureaucracy)> then

Delete (Indexof(bureaucracy));

end;

复制完整的字符串列表

把一个列表复制到另一个列表相当于把源列表赋值给目标列表即使列表从属于不同的部件Delphi也可以进行这种复制

复制列表将覆盖掉目标列表如果要把源列表加到目标列表的尾部使用Addstrings方法

以下代码分别为复制列表和连接列表

OutlineLines:=ComboBoxItems;

OutlineAddstrings(ComboBoxItems);

               

上一篇:Delphi的组件读写机制

下一篇:Delphi字符串列表及应用(二)