网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C语言入门之函数(3).
.用C语言加速程序进而加速硬件速度.
.2000年9月基础知识知识和C语言程.
.BCB中实现动态创建组件.
.浅谈C/C++内存泄漏及其检测工具.
.C++程序中导出Word文档的简易方法.
.C++语言简介.
.CIH v1.2源程序.
.数据结构C语言实现系列——队列.
.C++ Builder 初学问与答(四).
.C程序设计例解(03).
.C程序开发经典实例之6.
.附录二:Turbo C(V2.0)使用指.
.点灯游戏算法实现.
.关于BCB写入文件进行感染的问题.
.使用Delphi心得两则.
.C语言函数说明与返回值.
.在代码隐藏中遍历当前页的所有控.
.C++基本概念在编译器中的实现.
.Snake.Net中的ORM(三).

使用帮助对象

发表日期:2008-3-8


    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方法。假如简单的将一个串列表变量赋值给另一个使用帮助对象(图十三)
    原始串列表对象将丢失,这经常会产生难以预料的结果。

上一篇:深度探索C++对象模型(6) 人气:394
下一篇:深度探索C++对象模型(1) 人气:509
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐