程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ Builder編程指南1

C++ Builder編程指南1

編輯:關於C++

Borland C++ Builder(以下簡稱C++ Builder)是由Borland公司 繼Delphi之後又推出的一款高性能可視化集成開發工具。C++ Builder具有快速的可視化開發環境:只要簡單地把控件(Component)拖到窗體(Form)上,定義一下它的屬性,設置一下它的外觀,就可以快速地建立應用程序界面;C++ Builder內置了100多個完全封裝了Win95公用特性且具有完全可擴展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一個專業C++開發環境所能提供的全部功能:快速、高效、靈活的編譯器優化,逐步連接,CPU透視,命令行工具等。它實現了可視化的編程環境和功能強大的編程語言(C++)的完美結合。特別是Borland公司新發布的C++ Builder 3.0,不但在可視化編程工具上提供了比Delphi 3.0更強大、易用的編程工具 ,還在C++語言上提供了增強功能。

一、功能簡介

1.充分利用C++的強大功能

C++ Builder優化的32位原碼(Native Code)編譯器建立在Borland公司久經考驗的編譯技術基礎之上,提供了高度安全性、可靠性、快速性的編譯優化方法,完全編譯出原始機器碼而非中間碼,軟件執行速度大大提高。在編譯和連接過程中,C++ Builder自動忽略未被修改的原代碼和沒有使用的函數,從而大大提高了編譯和連接速度。C++ Builder的CPU透視工具包括五個獨立的小面板,可以對正在運行程序從內部進行深層次的了解。另外C++ Builder還提供了一個專業開發環境所必需的命令行工具,以幫助建立C++程序或者准備編譯和連接的程序進行更精細的控制。

C++ Builder可以編譯所有符合ANSI/ISO標准的原代碼,支持最新ANSI C++/C語言特征:模板(Templates)、例外(Exceptions)、運行類型信息(Runtime Type Information)、Namespaces等,另外它還可以使用標准C++庫且支持標准模板庫(STL),以前的所有C++/C原代碼可以不經過修改,直接移植到C++ Builder環境下來。C++ Builder完全支持32位長文件名、多線程程序設計,且允許程序員直接調用任何Win95和NT API函數。

2.高效可視化開發環境

C++ Builder的集成開發環境(IDE)提供了可視化窗體設計器、對象觀察器、控件板、工程管理器、集成編輯器和調試器等一系列可視化快速應用程序開發(RAD)工具,讓程序員可以很輕松地建立和管理自己的程序和資源。

3.可重用控件

在面向對象語言(如Smalltalk、Java等)中,一個類包含特定對象感興趣的數據和定義對象行為的方法,而子類是對父類的繼承,又增加了一些新的方法。在C++ Builder中所使用的可視化控件庫(VCL)也具有同樣的概念 ,每一對象中包括數據成員和方法,程序員利用方法管理該對象。VCL建立在類庫結構之上,充分利用了控件的屬性和事件概念,每個控件不僅包含允許程序員管理其外觀的公共數據部分,還包括通過屬性和事件訪問的函數部分。

4. 數據庫開發工具和客戶機/服務器(C/S)連接

C++ Builder同Delphi一樣,提供了一整套數據庫開發工具,可以開發出功能強大、界面美觀、便利的數據庫應用程序。C++ Builder提供了一個最新的數據庫引擎BDE,所有的數據庫連接使用的指令,均會通過BDE進行處理。對於單機使用的數據庫而言,C++ Builder可以直接通過BDE來控制數據庫數據的讀取;而對於遠端的數據庫系統,BDE尚需通過SQL Links或ODBC才能讀取數據庫的內容。

C++ Builder的C/S版本可以通過32位SQL Links驅動器直接連接Oracle、Sybase、MS SQL Server、DB2、Informix和InterBase數據庫,建立起企業級客戶機/服務器應用程序。另外C++ Builder提供了與數據庫相關的對象和強大的報表產生工具:ReportSmith,增加了程序編寫的便利性。

C++ Builder中提供了幾個使用數據庫的工具,讓用戶可以直接修改數據庫中的數據,或是執行一些指令。主要有SQL Explorer,SQL Monitor,Database Desktop,Form Expert等,大大增強了C++ Builder的數據庫開發功能,具體用法可參閱有關書籍。

5.Internet解決方案

C++ Builder支持Microsoft、Sun、Netscape等公司關於Internet的關鍵技術,其中包括象ActiveX、CGI、ISAPI、WinInet、NSAPI等Internet標准。通過Borland公司的Internet解決方案包(Internet Solutions Pack),程序員使用C++ Builder的RAD工具(把一個Internet控件拖到窗體上,然後設置其屬性和事件)就可以很方便地建立起C++ Builder的Internet應用程序。利用ActiveX控件,可以實現自己的Web浏覽器、管理Internet電子郵件、進行文件傳輸等一系列Internet功能。

二、集成開發環境(IDE)

1.集成開發環境(IDE)

雙擊C++ Builder圖標或在Win95/NT的“開始”菜單中選擇“C++ Builder 3”選項,就可以啟動C++ Builder 3.0,進入C++ Builder的集成開發環境。在正常啟動情況下,C++ Builder的界面圖(510cb01.Jpg )所示。

Main Menu:主菜單。它位於窗口的最上面,提供了C++ Builder的全部操作功能。

Toolbar:工具欄。它位於集成開發環境的左上側,是一些常用的菜單命令,如打開、保存文件、運行應用程序等的快捷方式。使用工具欄比使用菜單更加方便。

Component palette:控件板。它是C++ Builder的可視化控件庫(VCL),是程序設計的主要工作區。C++ Builder 3.0共有13個標簽頁(客戶機/服務器版),分別是Standard、Additional、Win32、System、Internet、Data Access、Data Controls、Decision Cube、QReport、Dialogs、Win 3.1、Samples、ActiveX。其中在每一標簽頁上都有不同的控件對象供使用,它們是進行可視化程序設計的主要工具。

Object Inspector:對象觀察器。利用它可以設定和查看所有對象的屬性。對象觀察器共有兩個標簽頁:屬性頁(Properties)和事件頁(Events)。其中的屬性頁用於設定控件對象的各種屬性,如控件的標題名、大小、位置、字體、顏色等等;事件頁用於設定與該控件相關的消息處理事件響應。如可以設定Button按鈕的OnClick(按鈕單擊)消息響應函數為“ButtonClick”等,然後就可以在消息響應函數中加入自己的程序代碼了。啟動C++ Builder後,用鼠標點擊對象觀察器的屬性頁(Properties),對象觀察器裡包含的就是“Form1”窗體的各項屬性。對象觀察器的標題欄下面一行顯示為“Form1:TForm1”,它表示下面的內容為窗體“Form1”的屬性。如果要改變屬性頁裡的內容,例如把“Caption”欄的“Form1”改為“C++Builder3.0速成”,則會發現窗體的標題已變成 “C++Builder3.0速成”。同樣,也可以改變其他的屬性。用戶不 用編寫代碼和執行程序,就可以知道程序的運行結果是什麼了。在窗體Form1中放置其它控件和設置其屬性的方法與此類似(窗體也是一個控件)。

Unit1.cpp和Form1:窗體“Form1”和裝有“Unit1.cpp”文件的代碼編輯器。其實它們都不是編輯環境的組成部分,而是系統在啟動開發環境的同時自動裝入的默認工程文件(Project1)所包括的部分。其中,裝有Unit1.cpp代碼的編輯框叫代碼編輯器,是程序員設計代碼的地方。Form1為窗體,是C++ Builder的可視化界面設計部分。

2.工程文件管理器

在C++ Builder3.0中,開始一個新的應用程序就稱為開始一個工程,系統會自動生成許多各種文件。如果要用戶自己來管理這些文件的話,隨著應用程序復雜性的增加,工程會越來越大,文件也會越來越多,管理起來就顯的越來越麻煩。C++ Builder提供了工程文件管理器來管理一個工程,大大減輕了用戶的負擔,好多文件

交由工程文件管理器來管理,用戶只需關心其中的一些文件即可。

例如,以系統在啟動C++ Builder時自動裝入的默認工程文件“Project1”為例,它一般包括以下幾個文件:

Project1.bpr(C++ Builder 1.0為Project1.mak):工程文件。該文件是一個文本文件,記錄了各種資源信息,通過工程文件,系統就知道如何把各種文件連接起來,最終生成用戶的可執行文件。

Project1.cpp:該文件是工程文件生成的可執行文件的入口點,有點象WinMain函數。通過該文件,系統知道如何去調用窗體或者實現其它功能,一般情況下用戶不用對此文件進行改動。

Project1.res:系統資源文件。包括各種圖標資源、光標資源等,系統以二進制文件的方式存放,這個文件由系統自動生成。

Unit1.cpp和Unit1.h:兩個都是對應於窗體“Form1”的文件,“Unit1.h”是頭文件,“Unit1.cpp”是關於窗體消息的代碼文件。用戶進行代碼編輯時,就是對“Unit1.cpp”文件進行編輯。

Unit1.dfm:它是和窗體“Form1”對應的文件。用戶創建的窗體被系統轉換為二進制文件存放,擴展名為.dfm。此文件是系統自動生成的,用戶不用對它進行管理。

系統通過工程文件管理器來對一個工程進行管理,在主菜單“圖(510cb02.Jpg )

所示的工程文件管理器。

利用工程文件管理器,就可以對上述各種文件進行有效管理(刪除、增加、新建等)。

3.菜單編輯器

在C++ Builder中設計菜單也是一個可視化過程,下面介紹在C++ Builder中利用菜單編輯器設計菜單的具體過程。

啟動C++ Builder,產生默認工程文件“Project1”,然後從控件板的“Standard”標簽頁中拖動“MainMenu”控件到窗體“For圖(510cb03.Jpg )

所示。

用鼠標左鍵雙擊窗體“Form1”中的“MainMenu”控件或者用鼠標右鍵單擊“MainMenu”控件,在彈出的菜單中選擇“Menu De圖(510cb04.Jpg )所示的菜單編輯器。

用鼠標單擊上圖所示的藍色小方塊,這時對象觀察器裡出現該菜單的屬性,在“Caption”屬性中填入“&File(在一個菜單命令的符號前面加&,則菜單中該符號下有一下劃線,且該菜單命令的快捷鍵為Alt+該符號)”,則出現相應的菜單命令,並且小方塊右移,再填上“&Edit”,對應的菜單命令就出現在前一命令的右方,圖(510cb05.Jpg )。同時,“Form1”裡也會自動出現主菜單。

最後可以用鼠標單擊主菜單項,系統自動彈出下拉菜單框,用戶只需填上相應的命令就可以設計好自己的下拉式菜單了。

菜單設計好後,相應的事件響應函數可以由用戶自己設定或系統自動生成。例如,設計“Open”菜單命令為打開一個文件。用鼠標單擊菜單編輯器裡“File”菜單中的“Open”選項,對象觀察器中出現的是該對象的屬性,選擇“Events”標簽頁,用戶就可以填圖(510cb06.Jpg )所示。

在“OnClick”項裡填寫“OpenFile”,也就是說,當“File”菜單裡的“Open”命令被選中或單擊時,就會調用OpenFile()函數。如果想要插入代碼,只需雙擊“OpenFile”,系統即自動切換到代碼編輯器裡,而且系統已經生成了一個函數“TForm1::OpenFile()”,如上圖所示,只需在該函數體內加入代碼即可。其他菜單命令發送的消息和事件響應也同樣按上述方法設定。用戶再也不用考慮應用程序的消息是如何發送的,消息是怎樣封裝的等等一大堆麻煩事了!

4.程序調試器

C++ Builder提供了程序調試器,用戶只需進行簡單的設置就可以實現強大的調試功能。為了使一個工程文件產生用於調試的調試信息,則須做如下設置:圖(510cb07.Jpg )所示的對話框。

選擇“Compiler”頁,在“Speed Settings”設置欄裡,選擇“Full debug”,則產生程序調試信息, 選擇“Release”則生成的可執行文件中不包含調試信息。

選擇“Linker”標簽頁,在“Linking”框裡,確認“Include debug information”被選中。

在應用程序調試通過,一切正常後,為使可執行代碼文件最小,應該把調試信息關閉,重新對原代碼進行編譯,生成的執行代碼會更小。即在上述對話框“Compiler”頁的“Speed settings”欄裡,選中“Release”。

C++ Builder提供的集成調試器可以對應用程序很簡單地實現單步執行、設置斷點和觀察點、鼠標熱點指示(在調試狀態下,當移動鼠標到某一變量上時,該變量的值就立刻顯示出來)等各種調試功能,為應用程序的順利執行提供了強大保證。

5.模板對象的使用

很多情況下,用戶可能需要開發一系列類型和功能都差別很小的應用程序,如果每次都從頭開始的話,就會給增加很多不必要的負擔。因此,C++ Builder提供了模板功能供用戶使用,大大便利圖(510cb08.Jpg )所示的對話框。

把這個對話框叫做對象陳列框(Object Repository)。

這裡面包括了各種各樣的程序模板供程序員選擇,如DLL程序、多線程程序、MDI應用程序等等。利用這些模板,只需點擊幾下鼠標就可以設計出一個具備基本功能的Windows應用程序框架,然後再在上面做一些修改就可以輕松設計出符合自己要求的應用程序了。

除上述介紹的以外,C++ Builder的集成開發環境(IDE)中的其他內容,讀者可以參考C++ Builder提供的幫助文件或其他書籍,這裡不再詳述 。下面通過編寫一個簡單的程序來說明程序設計步驟。

(1) 啟動C++ Builder3.0,采用系統默認工程文件(或者選擇“File|New Application”菜單,重新產生一個工程文件 ),其窗體為“Form1”,默認主程序為“Unit1.cpp”。

(2) 從控件板(Component Palette)的“Standard”頁拖動一個靜態文本框(TLable)控件到“Form1”上,用鼠標把它放到適當的位置。在對象觀察器(Object Inspector)中設置該靜態文本框的“Caption”屬性為“歡迎使用C++ Builder”,最後再利用“Font”屬性設置其合適的字體。

(3) 從控件板的“Standard”頁拖動一個“TButton”標准按鈕控件到“Form1”上,利用對象觀察器設置其“Caption”屬性為“退出”,“Name”屬性為“ExitButton”;然後用鼠標選擇對象觀察器的“Events”事件頁,在位於最上一欄的“OnClick”中鍵入“ExitButtonClick”,表示用窗體的“ExitButtonClick()”成員函數來響應鼠標單擊按鈕這一事件。從這裡也可以看出C++ Builder面向對象的程序設計方法。

(4)用鼠標雙擊對象觀察器的“OnClick”欄後會自動跳轉到代碼編輯器“ExitButtonClick()”函數體內。輸入程序行“Cl圖(510cb09.Jpg )所示。

該程序的功能就是顯示一個字符串“歡迎使用C++ Builder”,用鼠標單擊“退出”按鈕就可以退出該應用程序。

從以上的實例中,可以總結出用C++ Builder設計一般應用程序的步驟:

(1) 從控件板上的控件頁(如Standard、Win32等)拖動所需控件(如MainMenu、Button、StatusBar等)到窗體上,排列好其順序並設置其屬性,這樣就設計好了應用程序的界面。

(2) 用對象觀察器設置好菜單、按鈕或其它控件的事件響應函數。如上例中的ExitButtonClick()。

(3) 最後加入事件響應函數代碼,如上例中的Close()。編譯運行該程序,便大功告成了!

從以上的敘述中,可以看出在C++ Builder的程序設計中,掌握常用控件(如按鈕Button等)的使用方法對可視化程序設計至關重要,下面 結合實例詳細介紹常用控件的屬性和使用方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved