WEB开发网
开发学院软件开发C++ 使用帮助对象 阅读

使用帮助对象

 2008-03-08 22:01:35 来源:WEB开发网   
核心提示:VCL包含多种用于简化程序设计任务的非可视化对象,下面的内容主要描述一些简化下列任务的帮助对象:· 使用列表,使用帮助对象,· 使用串列表,· 改变Windows注册表和.INI文件,使用A s s i g n方法,假如简单的将一个串列表变量赋值给另一个原始串列表对象将丢失,· 使用流,2.5.1 使用列表几种VCL对
  VCL包含多种用于简化程序设计任务的非可视化对象。下面的内容主要描述一些简化下列任务的帮助对象:
· 使用列表。
· 使用串列表。
· 改变Windows注册表和.INI文件。
· 使用流。

2.5.1 使用列表
  几种VCL对象提供创建并治理列表的功能:
· TList维护指针列表。
· TObjectList维护实例对象的内存治理列表。
· TComponentList维护组件的内存治理列表(TComponent派生类的实例)。
· TQueue 维护指针的先进先出列表。
· TStack 维护指针的后进先出列表。
· TObjectQueue维护对象的先进先出列表。
· TObjectStack维护对象的后进先出列表。
· TClassList维护类的类型列表。
· TCollection、TOwnedCollection和TCollectionItem维护非凡定义项的索引集合。
· TStringList维护串列表。
  关于这些对象的更多信息,请参见联机帮助的VCL参考手册。

2.5.2 使用串列表
  应用程序经常需要治理字符串列表。字符串列表的例子包含组合框里的项,备注里的行,字符串网格的行或列名。VCL通过TStrings对象及其后裔TStringList提供字符串列表的通用接口。除提供治理字符串列表的功能之外,这些对象还易于互操作; 例如,可编辑备注的行(它是TStringList的实例),然后把它们作为组合框中的项(也是TStringList的实例)。
  字符串列表属性通过TStringList出现于对象观察器的Value列中。双击TStringList可打开串列表编辑,在其中可以编辑、添加或删除行。还可以利用串列表对象在运行时执行下列任务:
· 装载并保存串列表。
· 创建新的串列表。
· 操纵列表中的串。
· 把对象与串列表联系起来。
  1.装载并保存串列表
  串列表对象提供SaveToFile和LoadFromFile方法用于将串列表保存为文本文件或从文本文件中载入串列表。文本文件的每一行对应于串列表的一个串。用这些方法,可以通过将文件载入备注组件创建一种简单的文字编辑器,或保存组合框的列表项。
  下面的例子将WIN.INI文件载入备注字段并制作一个名为WIN.BAK的备份文件。
使用帮助对象(图一)  2.创建新的串列表
  串列表是典型的组件。若能方便地创建独立的字符串可节省时间,例如可为查询表保存串。创建并治理字符串列表的方式取决于列表为短期的(在单个例程中构造、使用和析构)或长期的(应用程序关闭之前都有效)。不管创建哪种类型的串列表,需牢记在完成工作时负责释放该列表。
  (1) 短期的串列表
  若只需在单个例程中使用串列表,可在同一地方创建、使用并析构串列表。这是使用串列表最安全的方法。由于串列表对象会为本身及其字符串分配内存,所以应使用try...__finally程序块来确保即使发生异常也能释放其内存。
  1) 构造串列表对象。
  2) 在try...__finally程序块的try部分,使用该串列表。
  3) 在__finally部分,释放串列表对象。
  下列事件通过构造、使用和消除串列表,处理程序响应单击按钮事件。
使用帮助对象(图二)
  (2)长期的串列表
  若串列表必须在应用程序运行时始终是可用的,则应在应用程序启动时构造串列表,在应用程序结束之前析构串列表。
  1) 在应用程序主窗体的单元文件中,将TStrings类型的字段加到窗体的声明部分。
  2) 为主窗体的构造编写事件处理程序,它在窗体出现之前执行,并会创建串列表并将其赋给在第一步中声明的字段。
  3) 为窗体O n D e s t r o y事件编写事件处理程序,并在其中释放串列表。
  本例使用长期串列表来记录用户鼠标对主窗体的单击,然后在应用程序结束之前将该列表保存到文件。
使用帮助对象(图三)
  3.操纵列表中的串
  常用串列表操作包括:
· 列表中的字符串计数。
· 访问非凡字符串。
· 查找字符串在列表中的位置。
· 迭代列表中的字符串。
· 在列表中加入字符串。
· 在列表中移动字符串。
· 在列表中删除字符串。
· 复制整个字符串列表。
  (1) 列表中的字符串计数
  只读属性Count返回列表中的字符串数。串列表使用零基准索引,所以Count值总是比最后一个串的索引值多一。
  (2) 访问非凡字符串
  数组属性Strings包含列表中的串,以零基准索引引用。因为是串列表的缺省属性,因此访问该列表时可省略Strings标识符;因此使用帮助对象(图四)
  (3) 查找字符串在列表中的位置
  为定位字符串在列表中的位置,使用IndexOf方法。IndexOf返回列表中匹配参数的第一个字符串的索引,若没有找到则返回-1。IndexOf只查找准确匹配的字符串; 假如你要查找部分匹配的字符串,必须自己循环检查列表。例如,你可使用IndexOf来确定是否给定的文件名为列表框的项:
使用帮助对象(图五)
  (4) 迭代列表中的字符串
  为迭代列表中的字符串,使用从零到Count-1的for循环。本例子将列表框中的每个字符串都转换为大写字符。使用帮助对象(图六)
  (5) 在列表中加入字符串
  为在列表中添加字符串,调用A d d方法,使用新字符串作为参数。要在列表中插入字符串表,调用Insert方法,传入两个参数:字符串及目标位置的索引。例如,若将“Insert”插入字符串表作为第三个串,可以使用:使用帮助对象(图七)
  为将一个列表中的串加到另一列表中,调用AddStrings:使用帮助对象(图八)
  (6) 在列表中移动字符串
  为在列表中移动字符串,调用Move方法,传入两个参数: 字符串的索引及目标位置的索引。例如,若将字符串表的第三个串移动到第五的位置,可以使用:使用帮助对象(图九)
  (7) 在列表中删除字符串
  为在列表中删除字符串,调用Delete方法,传入要删除串的索引。若你不知道要删除串的索引,先使用I n d e x O f方法定位它。要全部删除列表中的串,使用Clear方法。本例使用IndexOf和Delete方法来找到并删除一个串:
使用帮助对象(图十)
  (8) 复制整个字符串列表
  可使用Assign方法把源列表中的字符串复制到目的列表,覆盖目的列表的内容。若需附加而不是覆
盖目的列表的内容,使用AddStrings。例如,使用帮助对象(图十)
  将组合框中的行复制到备注(覆盖备注中的内容) 而使用帮助对象(图十二)
  将组合框中的行添加到备注。
  当制作串列表的本地拷贝,使用A s s i g n方法。假如简单的将一个串列表变量赋值给另一个使用帮助对象(图十三)
  原始串列表对象将丢失,这经常会产生难以预料的结果。

Tags:使用 帮助 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接