使用幫助對象二

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最常見的用途是爲屬主繪制控件把位圖與串聯系起...查看完整版>>使用幫助對象二
 
Delphi 對象與組件幫助文檔
AssignFile 過程使外部文件的名字與file變量關聯單元System種類文件管理程序Delphi 語法:procedure AssignFile(var F; FileName: string);詳細內容:Call AssignFile to initialize a file variable in Delphi code...查看完整版>>Delphi 對象與組件幫助文檔
 
《鬼谷子》幫助理解面向對象思想
《鬼谷子》序言鬼谷子,姓王名诩,春秋時人。常入雲夢山采藥修道。因隱居清溪之鬼谷,故自稱鬼谷先生。鬼谷子爲縱橫家之鼻祖,蘇秦與張儀爲其最傑出的兩個弟子〔見《戰國策》〕。另有孫膑與龐涓亦爲其弟子之說〔見《...查看完整版>>《鬼谷子》幫助理解面向對象思想
 
Delphi 對象與組件幫助文檔
AssignFile 過程 使外部文件的名字與file變量關聯 單元 System 種類 文件管理程序 Delphi 語法: procedure AssignFile(var F; FileName: string); 詳細內容: Call AssignFile to initialize a file variabl...查看完整版>> Delphi 對象與組件幫助文檔
 
使用C++Builder對象倉庫
  3.10 使用對象倉庫 對象倉庫(ToolsRepository)使共享窗體、對話框、框架和數據模塊變得輕易,它也提供了新工程模板和通過創建窗體和工程來指導用戶的向導。對象倉庫在BCB.DRO文件中維護(在缺省的BIN目錄下...查看完整版>>使用C++Builder對象倉庫
 
C++箴言:使用對象管理資源
  假設我們和一個投資(例如,股票,債券等)模型庫一起工作,各種各樣的投資形式從一個根類 Investment 派生出來: class Investment { ... }; // root class of hierarchy of// investment types  進一步假設這...查看完整版>>C++箴言:使用對象管理資源
 
Oracle中使用PL/SQL操作COM對象
Oracle中使用PL/SQL操作COM對象
PL/SQL是由Oracle公司對標准SQL進行擴展,專用于Oracle數據庫中程序設計的專用語言,屬第三代過程式程序設計語言。從Oracle8開始提供了直接從PL/SQL中調用外部C語言過程,答應開發人員用PL/SQL進行使用C語言編制的程...查看完整版>>Oracle中使用PL/SQL操作COM對象
 
對象庫的使用
對象庫的使用
  1在FORM_BUILD的對象庫中點擊:   出現下圖顯示:我們保存爲TEST.OLB     2雙擊TEST前面的圖標或者點擊右鍵的對象庫,都可以調出如下界面:     3然後我們將FORM共性的東西如水平畫布、LOV、記錄組、...查看完整版>>對象庫的使用
 
使用OLE對象訪問Oracle數據庫
  OLE即對象聯接和嵌入技術,使用這一技術,我們在VB中不用任何控件就可輕松訪問Oracle數據庫的內容。在安裝了Oracle的Oracle Object for OLE後,就可以使用Oracle提供的OLE對象方便地訪問數據庫的內容了。    ...查看完整版>>使用OLE對象訪問Oracle數據庫
 
 
回到王朝網路移動版首頁