| 订阅 | 在线投稿
分享
 
 
 

使用帮助对象二

2008-06-01 01:55:08  编辑来源:互联网  宽屏版  评论
 

4. 把对象与串列表联系起来

串列表除使用Strings属性保存串之外,还可使用Objects属性维护对对象的引用。与Strings相同,Objects也是带有零基准索引的数组。Objects最常见的用途是为属主绘制控件把位图与串联系起来。

使用AddObject或InsertObject方法可一步实现将串及其关联的对象加入列表。IndexOfObject返回列表中第一个与指定对象关联的串的索引。Delete、Clear和Move方法都对串和对象同时进行操作;例如,删除一个串就删除了相应的对象(假如存在)。

为了将对象与现有的串关联,在Objects属性中分配给该对象与串相同的索引。不能只添加对象而不添加相应的串。

2.5.3 Windows注册表和INI文件

Windows系统注册表是一种层次数据库,应用程序可用来存储配置信息。VCL类TRegistry提供读写注册表的方法。

直到Windows95之前,应用程序通常将配置信息存储在扩展名为.INI的初始化文件中。VCL提供下列类帮助维护或移植使用INI文件的程序:

· TRegistry处理注册表。

· TIniFile或TMemIniFile处理Windows3.x的INI文件。

· TRegistryIniFile既可处理注册表,也可处理INI文件。除了读写系统注册表外,TRegistryIniFile的属性和方法与TIniFile相类似。通过使用TCustomIniFile(TIniFile、TMemIniFile和TRegistryIniFile共同的祖先)类型的变量,可编写根据不同的调用地点决定是访问注册表或是访问INI文件的通用代码。

1.使用TINIFile

INI文件格式仍然被广泛使用,C++Builder配置文件(如DSKDesktop设置文件)也使用了这种格式。因为这种文件格式相当流行,VCL提供了一种类来使读写这些文件变得非常轻易。在初始化INIFile对象时,将INI文件名作为参数传入构造函数。如文件不存在,则自动创建一个。然后就可使用ReadString、ReadInteger或ReadBool来随意阅读INI文件。若需阅读整个INI文件,可使用ReadSection方法。同样,可使用WriteBool、WriteInteger或WriteString进行写操作。下例是在窗体构造时从INI文件中读配置信息而在OnClose事件处理程序中写配置信息。

使用帮助对象二

每个Read例程需要三个参数。第一个参数给出INI文件的节;第二个参数给出需读的值;第三个参数是一缺省值,防止该节或值不处于INI文件之中。同样,若节或值不存在,Write例程可创建节和/或值。

下例的代码新创建一个INI文件:

使用帮助对象二

应用程序执行时,在创建窗体时读INI文件窗体并在OnClose事件处理程序中写INI文件。

2.使用TRegistry

大多数32-位应用程序将其信息存储在注册表而不是INI文件中,因为注册表是层次结构,更加合理,并且没有INI文件中的尺寸限制。TRegistry对象包含一些方法来打开、关闭、保存移动、复制和删除键值。下例从注册表输入检索值:

使用帮助对象二

3.使用TRegINIFile

假如你习惯INI文件但要将配置信息改为存储到注册表,可使用TRegINIFile类。TRegINIFile设计为使注册表项看上去像INI文件项。所有的TINIFile的方法(读和写)都存在于TRegINIFile。当构造TRegINIFile对象时,传入的参数(对INIFile对象来说是文件名)成为注册表根部的用户键值,所有节及值都由此分支。实际上,该对象极大地简化了注册表的接口,因此更多信息参见VCL帮助TReyINfile主题。可以根本不用改变现有代码就可用它来代替TRegistry组件。

QQread.com

推出各大专业服务器评测 linux服务器的安全性能

SUN服务器

HP服务器

DELL服务器

IBM服务器

联想服务器

浪潮服务器

曙光服务器

同方服务器

华硕服务器

宝德服务器

4.使用TCanvas

TCanvas封装了Windows设备场境,可处理窗体、可视化容器(如面板)的绘制及打印机对象(在下节讲述)等。使用TCanvas对象,你可不再担心如何分配绘图笔、画刷、调色板等,所有的分配和释放的工作都由TCanvas对象完成。

TCanvas包含大量的图形例程用来绘制线、几何外形、多边形、字体等所有包含于TCanvas中的控件。下例是一个按钮事件处理程序,它从左上方顶点画一条线到窗体中间,并且在窗体中输出一些文本:

使用帮助对象二

TCanvas对象还可防止Windows图形错误,如它可将设备场境,绘图笔,画刷等还原到绘图操作之前的状态。在C++Builder中,任何需要或可能绘图的地方都会用到TCanvas,并且使用它也是最简单可靠的绘图方法。

5.使用TPRinter

TPrinter对象封装Windows打印机具体信息。使用Printers属性可得到已安装和可用的打印机的列表。该打印机对象使用一种TCanvas(等同于窗体的TCanvas),可使任何能在窗体绘制的都能被打印。为打印图像,在任何需打印的画布图形(包括以TextOut方法输出的文本)后调用BeginDoc,并通过调用EndDoc方法将任务分发给打印机。

本例在窗体中使用了一个按钮和一个备注。当用户单击该按钮时,备注内容被打印成边界为200像素的页。

为成功运行本例,在单元文件中加入头文件< Printers.hpp >。

使用帮助对象二

6.使用流

使用非凡的流对象可读写存储媒介。TStream的后裔都实现了访问特定存储媒介的方法、如磁盘文件,动态内存等等。TStream的后裔包括TFileStream、TStringStream、TMemoryStream、TBlobStream和TWinSocketStream。除读写方法之外,这些对象答应应用程序搜索流中的任意位置。TStream属性提供关于流的信息,如尺寸和当前位置。

 
 
4. 把对象与串列表联系起来 串列表除使用Strings属性保存串之外,还可使用Objects属性维护对对象的引用。与Strings相同,Objects也是带有零基准索引的数组。Objects最常见的用途是为属主绘制控件把位图与串联系起来。 使用AddObject或InsertObject方法可一步实现将串及其关联的对象加入列表。IndexOfObject返回列表中第一个与指定对象关联的串的索引。Delete、Clear和Move方法都对串和对象同时进行操作;例如,删除一个串就删除了相应的对象(假如存在)。 为了将对象与现有的串关联,在Objects属性中分配给该对象与串相同的索引。不能只添加对象而不添加相应的串。 2.5.3 Windows注册表和INI文件 Windows系统注册表是一种层次数据库,应用程序可用来存储配置信息。VCL类TRegistry提供读写注册表的方法。 直到Windows95之前,应用程序通常将配置信息存储在扩展名为.INI的初始化文件中。VCL提供下列类帮助维护或移植使用INI文件的程序: · TRegistry处理注册表。 · TIniFile或TMemIniFile处理Windows3.x的INI文件。 · TRegistryIniFile既可处理注册表,也可处理INI文件。除了读写系统注册表外,TRegistryIniFile的属性和方法与TIniFile相类似。通过使用TCustomIniFile(TIniFile、TMemIniFile和TRegistryIniFile共同的祖先)类型的变量,可编写根据不同的调用地点决定是访问注册表或是访问INI文件的通用代码。 1.使用TINIFile INI文件格式仍然被广泛使用,C++Builder配置文件(如DSKDesktop设置文件)也使用了这种格式。因为这种文件格式相当流行,VCL提供了一种类来使读写这些文件变得非常轻易。在初始化INIFile对象时,将INI文件名作为参数传入构造函数。如文件不存在,则自动创建一个。然后就可使用ReadString、ReadInteger或ReadBool来随意阅读INI文件。若需阅读整个INI文件,可使用ReadSection方法。同样,可使用WriteBool、WriteInteger或WriteString进行写操作。下例是在窗体构造时从INI文件中读配置信息而在OnClose事件处理程序中写配置信息。 [url=http://www.wangchao.net.cn/bbsdetail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085478.gif[/img][/url] 每个Read例程需要三个参数。第一个参数给出INI文件的节;第二个参数给出需读的值;第三个参数是一缺省值,防止该节或值不处于INI文件之中。同样,若节或值不存在,Write例程可创建节和/或值。 下例的代码新创建一个INI文件: [url=http://www.wangchao.net.cn/bbsdetail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085567.gif[/img][/url] 应用程序执行时,在创建窗体时读INI文件窗体并在OnClose事件处理程序中写INI文件。 2.使用TRegistry 大多数32-位应用程序将其信息存储在注册表而不是INI文件中,因为注册表是层次结构,更加合理,并且没有INI文件中的尺寸限制。TRegistry对象包含一些方法来打开、关闭、保存移动、复制和删除键值。下例从注册表输入检索值: [url=http://www.wangchao.net.cn/bbsdetail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085589.gif[/img][/url] 3.使用TRegINIFile 假如你习惯INI文件但要将配置信息改为存储到注册表,可使用TRegINIFile类。TRegINIFile设计为使注册表项看上去像INI文件项。所有的TINIFile的方法(读和写)都存在于TRegINIFile。当构造TRegINIFile对象时,传入的参数(对INIFile对象来说是文件名)成为注册表根部的用户键值,所有节及值都由此分支。实际上,该对象极大地简化了注册表的接口,因此更多信息参见VCL帮助TReyINfile主题。可以根本不用改变现有代码就可用它来代替TRegistry组件。 QQread.com 推出各大专业服务器评测 linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 4.使用TCanvas TCanvas封装了Windows设备场境,可处理窗体、可视化容器(如面板)的绘制及打印机对象(在下节讲述)等。使用TCanvas对象,你可不再担心如何分配绘图笔、画刷、调色板等,所有的分配和释放的工作都由TCanvas对象完成。 TCanvas包含大量的图形例程用来绘制线、几何外形、多边形、字体等所有包含于TCanvas中的控件。下例是一个按钮事件处理程序,它从左上方顶点画一条线到窗体中间,并且在窗体中输出一些文本: [url=http://www.wangchao.net.cn/bbsdetail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085633.gif[/img][/url] TCanvas对象还可防止Windows图形错误,如它可将设备场境,绘图笔,画刷等还原到绘图操作之前的状态。在C++Builder中,任何需要或可能绘图的地方都会用到TCanvas,并且使用它也是最简单可靠的绘图方法。 5.使用TPRinter TPrinter对象封装Windows打印机具体信息。使用Printers属性可得到已安装和可用的打印机的列表。该打印机对象使用一种TCanvas(等同于窗体的TCanvas),可使任何能在窗体绘制的都能被打印。为打印图像,在任何需打印的画布图形(包括以TextOut方法输出的文本)后调用BeginDoc,并通过调用EndDoc方法将任务分发给打印机。 本例在窗体中使用了一个按钮和一个备注。当用户单击该按钮时,备注内容被打印成边界为200像素的页。 为成功运行本例,在单元文件中加入头文件< Printers.hpp >。 [url=http://www.wangchao.net.cn/bbsdetail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085670.gif[/img][/url] 6.使用流 使用非凡的流对象可读写存储媒介。TStream的后裔都实现了访问特定存储媒介的方法、如磁盘文件,动态内存等等。TStream的后裔包括TFileStream、TStringStream、TMemoryStream、TBlobStream和TWinSocketStream。除读写方法之外,这些对象答应应用程序搜索流中的任意位置。TStream属性提供关于流的信息,如尺寸和当前位置。
󰈣󰈤
 
 
 
>>返回首页<<
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有