第一章 C++ Builder程序設計概述
隨著編程概念的更新,VCL(可視化)編程已經成為人們關注的焦點,由Borland C++係列發展而來的C++ Builder程序設計語言就是一種典型的可視化編程語言,由於它繼承了Borland C++程序設計語言中的優越的全功能平台,彌補了可視化編程與全功能平台之間的障礙,所以編程效率高、代碼質量好、更加麵向對象,而且解決了諸如Visual C++、Visual Basic等可視化編程語言的代碼執行效率低下等問題。
注意:
?Borland公司也將C++ Builder簡稱為CBuilder,我們在本書的後麵內容中將部分使用這個稱呼。
本章,我們首先來學習使用CBuilder 5進行Windows編程基礎知識。
1.1 CBuilder 5的主要特性
到今天為止,C++ Builder程序設計語言已經發展到了5.0版(即通常所說的C++ Builder 5),無論是程序設計的初學者,還是大型應用程序的開發人員,利用CBuilder 5都可以開發出滿意的程序,下麵就來介紹一下CBuilder 5的主要特性。
1.ActiveX增強功能
CBuilder 5增強了許多新的ActiveX功能,比如:自動化向導可以生成支持各種自動化服務器對象事件的代碼,數據綁定ActiveX控件可以和VCL數據集通信,新的COM(資源對象模塊)對象向導提供了創建簡單的COM對象的功能,類庫編輯器支持DLL(動態鏈接庫)和OOC(麵向對象的C)。
2.對XML的支持
CBuilder 5提供了對XML的支持,從而簡化了數據分布,優化了數據交換。用戶可以方便地創建高效率的Internet程序,來把數據迅速發布到Internet上。新版CBuilder對XML數據的支持使得開發人員能夠快速建立起具有可移植性和擴展性的係統,以迎接Internet正麵臨著的又一次衝擊波——電子商務。
3.對HTML 4的支持
CBuilder 5支持HTML 4,使用戶能在Web應用中創建各種類型的動態“瘦”客戶端程序。把HTML 4和XML結合起來使用,從而創建動態的極瘦客戶端程序,用來滿足Internet上各種任務的需求。
4.ADO(ActiveX數據對象)
ADO(ActiveX Data Objects)是微軟提供的一項技術。通過ADO,我們可以方便地訪問各種類型的數據庫,特別是OLE DB數據庫。ADO已成為訪問數據庫的新的標準接口。CBuilder 5增添了對ADO的支持,是為了讓用戶能迅速實現對終端用戶用來做商業決策的數據的一致性訪問,結合CBuilder本身的開放式數據元件結構,用戶可以很快地建立應用程序,用來把自己的商業數據通過Internet發送給客戶、最終用戶以及整個銷售環節。通過ADO,CBuilder 5能讓用戶快速訪問關係型或非關係型數據庫以及E-mail和文件係統。
5.改善IDE
CBuilder 5中的集成開發環境(IDE)有了很大改進,能極大地提高開發效率,它主要依靠簡化讀寫和瀏覽代碼的操作來提高開發效率。
代碼編輯器讓瀏覽本單元或相關單元的內容變得容易,工程管理器中的拖放支持使得從已打開的工程中或資源管理器的對話框中選擇文件並增加到工程的文件中變得更簡單,使用工程管理器中多個工程管理的功能讓用戶能同時編輯多個工程的文件,應用CBuilder 5的可視化窗口設計讓用戶能夠輕鬆地從模板中選擇創建Internet程序、分布式計算及Windows程序等等。
與CBuilder 4相比,CBuilder 5的IDE新特點主要包括:
?桌麵的用戶化設置增強了用戶對開發環境的控製;
?編輯鍵映射功能可以讓編輯器按照用戶的習慣來工作;
?工程瀏覽可以幫助用戶更好地理解代碼,操作VCL;
?帶有樹視圖和數據圖表視圖(Data Diagram View)的DataModule設計器可以幫助用戶充分理解程序中的數據;
?資源文件與工程管理器和編譯器集成在一起;
?動作列表保存了開發計劃;
?控製麵板向導可以幫助用戶定製應用程序的屬性。
6.增強VCL控件
VCL(Visual Component Library——可視化組件庫)是CBuilder實現代碼重用的基本工具。在CBuilder 5中,用戶可以利用麵向對象設計的強大功能開發出穩定、可靠、高效的程序,可以利用現有的麵向對象的控件創建自己的控件。
CBuilder 5企業版的VCL中一共包含有200多個控件,利用這些控件,用戶可以奇跡般地加快應用程序從開始開發到推向市場的速度。無論是開發Windows程序還是Internet應用,CBuilder 5基於控件的開發模式都能大大降低開發任務的難度。
CBuilder 5的VCL的新特點包括:
?提供用於創建和重用複合控件的幀架構(Frames);
?增加了能將HTML瀏覽功能集成到應用程序的WebBrowser控件;
?增加了Microsoft Office自動化組件集,以便把Word、Excel和Outlook等Office程序快速集成到應用程序中;
?屬性編輯器(Property Editors)支持自畫(Owner Draw)功能,簡化了屬性選擇;
?增強了對高級自畫(Advanced Custom Draw)函數的支持,以加強對Windows API的控製。
7.加快複雜工程的開發速度
CBuilder 5進一步增強了調試功能,即使是非常複雜的工程,查找並修改錯誤都變得異常簡單。CBuilder 5改進的調試器能幫助用戶理解並控製自己編寫的代碼。用戶利用斷點可以在需要的地方深入代碼進行調試,而現在,用戶甚至可以在斷點處設置觸發斷點後要采取的動作,並把斷點進行分組集中在一起,以便快速調試自己感興趣的代碼段。
CBuilder 5的代碼調試器包含以下一些新特點:
?各種調試窗口和編輯器之間緊密集成,擁有一致的用戶界麵,支持剪貼板和拖動操作;
?增加了斷點提示條(Breakpoint ToolTips),以加快瀏覽和定位源代碼;
?新增的斷點動作(Breakpoint Actions)功能加強了對調試進程的控製;
?斷點集合(Breakpoint Groups)方便了對多條斷點的控製;
?在DCUs和調試符號查找路徑的幫助下,調試工作變得更簡單;
?FPU調試窗口支持MMX指令,從而增強了底層調試的能力;
?進行多進程調試時,增加了臨時進程選項,並支持調試子進程;
?支持跨越進程邊界的調試;
?能夠掛接到正在運行的進程上進行調用。
?CBuilder 5發程序調試器支持遠程調試、多線程調試,並且可以觀察CPU調試窗口。
上麵的介紹僅僅提及了CBuilder 5的一些主要的新特點,它還有更多的改進,有待於我們去挖掘。
可以說,CBuilder 5是目前創建Web和Windows應用程序最快速、最有效的開發工具之一。這顆新星到底會發出多麼耀眼的光芒呢?且讓我們拭目以待。
1.2 CBuilder 5的運行和環境
首先需要注意的是,要想在您的計算機上安裝CBuilder 5,必須在您的計算機上先安裝相應的硬件和軟件係統,這些係統要求包括:
?Windows 98、Windows 2000或者Windows NT 4.X版本以上操作係統;
?80586或更高級的微處理器;
?一個 CD-ROM 驅動器;
?Microsoft Windows 支持的 VGA 或分辨率更高的監視器;
?至少32MB RAM內存,強烈推薦64MB RAM以上;
?254MB以上的硬盤剩餘空間。
安裝完成後,用鼠標單擊“開始”菜單中的“程序”/Borland C++ Builder 5中的C++ Builder 5選項就會激活CBuilder 5。 CBuilder啟動後,在它的缺省畫麵(軟件開發界麵)中,包括有主窗口、對象查看器、窗體窗口和代碼窗口等,如圖1-1所示。
提示:
?為避免隱藏在CBuilder後的Program Manager和曾經運行過的其它程序擾亂版麵,分散您的注意力,不妨在啟動CBuilder前關掉其它應用程序;啟動CBuilder後,再最小化隱藏在後麵的CBuilder 5程序組。這樣屏幕上就隻留下CBuilder窗口可見了。
首次加載CBuilder,屏幕上會出現四個窗口:
?標題為“CBuilder-Project1”的CBuilder主窗口;
?Object Inspector窗口;
?標題為“Form1”的窗體(Form)窗口;
?標題為“Unit1.cpp”的代碼編輯窗口。剛啟動時這一窗口的大部分被“Form1”窗體所掩蓋。將“Form1”窗體移開,或單擊Form1窗體下方的狀態行,可以使其全部可見。在“Form1”窗體的任意可見位置單擊鼠標,可以恢複主窗體可見。
圖1-1 C++ Builder 開發界麵
1.2.1 主窗口
CBuilder的主窗口位於屏幕的上端,包括Menu(菜單)、Speed Bar(加速條)和Component Panel(部件選項板):
?Menu是下拉式主菜單;
?Speed Bar位於主窗口的左下端,由兩排共14個加速按鈕組成。這些按鈕是菜單功能的快捷方式,各種圖標直觀地表示了它能執行的動作;
?Component Panel由一行、若幹頁對象按鈕所組成,利用它來選擇需要的部件並將它放到窗體中去。
圖1-2 CBuilder主窗口
1.2.2 對象檢視器
Object Inspector窗口含有兩頁:Properties頁顯示窗體中當前被選擇部件的屬性信息,並允許改變對象的屬性;Events頁列出了當前部件可以響應的事件。
按動Object Inspector下端的“Events”頁標簽,使得Events頁可見,這一定的事件後邊的空白處,可以定義對象接受到相應事件時執行的動作。
首次啟動時,Object Inspector窗口顯示的是當前窗體Form1的屬性。Object Inspector根據對象屬性的多少,決定是否有滾行顯示。移動滾行條,可以查看當前對象的全部屬性。
此外,Object Inspector上還有Object Selector(對象選擇器),位於Object Inspector上方的下拉式菜單中。它顯示了窗體上所有部件的名稱和類型,也包含窗體本身。
可以用Object Selector很容易地在窗體的各個部件之間切換,也可以快速地回到窗體本身。當窗體中含有較多的對象時,會發現這是切換對象尤其是回到窗體的最快捷途徑。
圖1-3 CBuilder對象檢測器
提示:
?想使Object Inspector一直可見,可將鼠標移到Object Inspector上,按動右鍵,以啟動Object Inspector的彈出式菜單,將其設置為Stay On Top。這對初學者常是一個很重要的設置方式。
1.2.3 窗體窗口
Forms窗口是開展大部分設計的工作區域。首次啟動CBuilder 5時顯示的是窗體Form1。可以把部件放在窗體中。
通過移動位置、改變尺寸等操作隨心所欲地安排它們,以此來開發應用程序的用戶界麵。可以把窗體想象成一個可以放置其它部件的容器。
窗體上有柵格(Grids),供放置部件時對齊位置用,在程序運行時Grids是不可見的。如圖1-4所示。
圖1-4 CBuilder窗體窗口
一個真正的應用程序可能有不止一個窗口,您可以選用不同的窗體進行設計。其它窗體可以是對話框(Dialog Box)、數據錄入框等。
1.2.4 代碼窗口
代碼窗口一開始處於窗體窗口之下。因為在CBuilder中,設計用戶界麵直接在窗體中進行,運行結果和設計樣板完全一致。
當部件被放到窗體上時,CBuilder會自動生成大部分的用戶界麵代碼。您所應做的隻是在它為您生成的框架中加入完成所需功能的程序段而已。點動Form1的狀態行使代碼窗口可見。
如圖1-5所示,顯示了空窗體Form1的代碼窗口。
圖1-5 CBuilder代碼窗口
1.3 第一個簡單的示例
下麵就以一個簡單的示例程序來說明,在CBuilder 5中進行應用程序開發的一般步驟和基本的方法,為以後的程序設計打一個基礎,編製示例程序的基本步驟如下所示: