| 導購 | 订阅 | 在线投稿
分享
 
 
 

使用幫助對象二

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=/bbs/detail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085478.gif[/img][/url] 每個Read例程需要三個參數。第一個參數給出INI文件的節;第二個參數給出需讀的值;第三個參數是一缺省值,防止該節或值不處于INI文件之中。同樣,若節或值不存在,Write例程可創建節和/或值。 下例的代碼新創建一個INI文件: [url=/bbs/detail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085567.gif[/img][/url] 應用程序執行時,在創建窗體時讀INI文件窗體並在OnClose事件處理程序中寫INI文件。 2.使用TRegistry 大多數32-位應用程序將其信息存儲在注冊表而不是INI文件中,因爲注冊表是層次結構,更加合理,並且沒有INI文件中的尺寸限制。TRegistry對象包含一些方法來打開、關閉、保存移動、複制和刪除鍵值。下例從注冊表輸入檢索值: [url=/bbs/detail_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=/bbs/detail_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=/bbs/detail_1784987.html][img]http://image.wangchao.net.cn/it/1323425085670.gif[/img][/url] 6.使用流 使用非凡的流對象可讀寫存儲媒介。TStream的後裔都實現了訪問特定存儲媒介的方法、如磁盤文件,動態內存等等。TStream的後裔包括TFileStream、TStringStream、TMemoryStream、TBlobStream和TWinSocketStream。除讀寫方法之外,這些對象答應應用程序搜索流中的任意位置。TStream屬性提供關于流的信息,如尺寸和當前位置。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有