CBuilder開發(fā)環(huán)境ppt課件_第1頁
CBuilder開發(fā)環(huán)境ppt課件_第2頁
CBuilder開發(fā)環(huán)境ppt課件_第3頁
CBuilder開發(fā)環(huán)境ppt課件_第4頁
CBuilder開發(fā)環(huán)境ppt課件_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第1章 C+Builder開發(fā)環(huán)境 1.1 C+Builder概覽 1.2 C+言語簡介 1.3 C+Builder集成開發(fā)環(huán)境 習題 1.1 C+Builder概覽 C+Builder 是Borland(Inprise)公司開發(fā)的Windows下可視化的C+編程環(huán)境,它常被簡稱為BCB(分別取Borland、C+、Builder的第一個字母)或CB。BCB不僅功能強大,而且學習簡單、運用方便,深受軟件開發(fā)人員的喜歡。C+Builder目前的最新版本是6.0版。 1.1.1 Windows環(huán)境下的快速開發(fā)工具 有一句話在軟件開發(fā)人員之間流傳很廣,并且在流傳過程中構成了假設干不同的版本。這句話的

2、上半句是“真正的程序員用C+,下半句那么是“聰明的程序員用X。X在這句話的不同版本中分別為VB、Delphi、PB等。有人覺得對于這種“X王婆賣瓜式的自詡,無需當真,但依筆者看卻未必。由于VB、Delphi、PB等開發(fā)工具之間有一個共同之處,即它們都是RAD(Rapid Application Development,快速開發(fā)工具)。 因此,假設站在比較公正的立場來說,這后半句應該是“聰明的程序員用RAD。此說法假設能成立,那么一個必然的推論就是:“真正的并且聰明的程序員應該用基于C+的RAD。按照該規(guī)范選擇編程環(huán)境,就目前來說,無疑應該首選Borland公司的C+Builder。 傳統(tǒng)的“軟

3、件工程提倡“先設計,后編程,設計一旦完成,那么不允許做過多修正。這種設計原那么固然有其合理的一面,但嚴重制約了開發(fā)效率。對于某些開場時對需求并不非常清楚的運用工程,假設按此辦理那么往往將開發(fā)人員逼入窘境?!翱焖僭头ɑ騌AD那么反其道而行之,它把設計看成需經多次反復才干完成的任務:對一個工程的初步分析完成后,即據(jù)此開發(fā)出一個程序“原型;然后與用戶一同對該“原型進展評價,找出缺乏,修正設計后再產生程序。 這一過程可反復多次,直到所開發(fā)的系統(tǒng)到達用戶要求為止。但要有效實現(xiàn)RAD,必需擁有優(yōu)良的編程環(huán)境和代碼生成工具,由于BCB具有可視化、面向對象等特性,特別適宜作為Windows下企業(yè)級運用的RA

4、D開發(fā)環(huán)境運用。目前,稱得上RAD的產品有VB、Delphi、C+Builder、PB、VFP等。相對于VB等“解釋型的言語來說,Delphi、BCB 這些以“編譯型的言語為根底的RAD編程環(huán)境效率較高,功能也更強大。 作為一個RAD開發(fā)環(huán)境,BCB 對Windows和Internet上的各種流行技術都提供了充分的支持,C+Builder 6.0 在先前版本根底上又添加了許多新的功能和特性。它具有很強的圖形、圖像和多媒體處置功能;對Windows下的OLE、COM、ActiveX技術提供了很好的支持;在數(shù)據(jù)庫編程方面,BCB提供了各種銜接方案以及多層分布式數(shù)據(jù)處置等先進技術;在Internet

5、和Intranet編程方面,BCB提供了Socket組件和Internet Express、Web Snap等技術。 BCB的另一優(yōu)點是具有極強的兼容才干,它可以編譯銜接Turbo C、Borland C+、VC+、Delphi等工具開發(fā)的源代碼或目的模塊。 1.1.2 C+編譯器 作為第四代編程環(huán)境,BCB具有一定的代碼自動生成的才干,但仍需人工編寫部分程序代碼,這些代碼必需用C+言語寫成。因此,BCB可被看作是Windows下一個功能強大的C+編譯器,它支持ANSI C+ 規(guī)范并在運用部件技術等方面作了擴展。BCB具有編譯速度快等優(yōu)點,經BCB編譯后產生的目的文件尺寸小、效率高,可直接在W

6、indows環(huán)境下運轉。 C+ 是在C言語根底上擴展而成的一種編程言語,它具有C言語緊湊、高效等優(yōu)點并支持面向對象程序設計的技術,本書第2章將簡單引見C+言語和面向對象程序設計。對已初步掌握C言語的讀者來說,只需對面向對象程序設計的有關概念稍有了解,就能運用BCB編寫簡單程序了。當然,要運用BCB編寫復雜的、高質量的程序,就必需對所運用的C+言語的各種特性有深化了解。我們以為,掌握C+ 和面向對象程序設計是一個從實際中學習的循序漸進的過程,本書會提供一個很好的起點。 1.1.3 C+Builder的安裝和啟動 C+Builder 6.0有普通版和Client/Server版,通常用光盤安裝。它

7、對硬件的最低要求并不高,但為了運用效果好一點,我們建議采用如下根本硬件配置: (1) CPU為Pentium II 350以上; (2) 內存128 MB以上; (3) 硬盤總容量10 GB以上,可用空間1 GB以上,其中安裝BCB約用去600 MB以上。 BCB應安裝在32位的Windows上,它們包括Windows 95、Windows 98、Windows 2000、Windows NT 4.0、Windows Me以及Windows XP等。 執(zhí)行光盤上的Setup程序進展安裝,主要步驟有: (1) 按提示輸入軟件的序列號和密碼; (2) 選擇安裝方式,安裝方式有Typical、Com

8、pact和Custom,當硬盤空間充足時可選Typical,否那么選Compact,有閱歷的用戶也可選Custom; (3) 選擇安裝目錄,普通可采用由安裝程序建議的目錄。 安裝終了后,在“開場菜單的“程序項下新添了一項“Borland C+Builder 6,點擊該項即能啟動C+Builder 6.0。啟動后的界面如圖1-1所示。圖 1-1 啟動BCB后的畫面 1.1.4 一個簡單的程序 為了讓讀者盡早了解在BCB下編程是怎樣回事,我們在本節(jié)給出一個簡單的“Hello,World!程序。該程序運轉時顯示一個窗口,窗口內有一個命令按鈕,當按鈕被點擊時,窗口的標題顯示為“Hello,World!

9、。 下面,我們詳細給出在BCB下編制該程序的每一步。 (1) 啟動BCB,出現(xiàn)如圖1-1所示的界面。此時編程環(huán)境中已存在一個運用程序的框架,顯示在該圖右下方的標題為Form1的一個空白的窗口即是該運用程序的窗口,習慣上我們稱它為窗體。 (2) 點擊控件面板上按鈕圖案選取按鈕控件,然后在運用程序窗體中選擇適當位置將按鈕放到該空白窗體上,如圖1-2和圖1-3所示。 (3) 在窗體內選中按鈕,然后在對象檢閱器內編輯按鈕Button1屬性。如圖1-4所示,我們把按鈕的Caption屬性改為“Hello。這使得窗體中按鈕的標題也變?yōu)椤癏ello。圖1-2 點擊面板上按鈕控件圖1-3 將按鈕放入窗體 圖1

10、-4 修正按鈕的標題 (4) 雙擊窗體中標題為Hello的按鈕,BCB自動為該按鈕的單擊事件建立了相應的處置程序(方法)TForm1:Button1Click的框架,此時代碼編輯窗口被激活,文本插入點處有如下代碼: void _fastcall TForm1:Button1Click(TObject *Sender) 這正是TForm1:Button1Click事件代碼的框架。在一對大括號內可以由用戶輸入C+的代碼,這些代碼將在該按鈕被單擊(Click)時執(zhí)行。在本例中,我們輸入:Form1-Caption=Hello, World!; 即使得TForm1:Button1Click事件有如下代

11、碼: void _fastcall TForm1:Button1Click(TObject *Sender) Form1-Caption=Hello,World!; (5) 點擊位于BCB界面左上方的工具欄上標有綠色箭頭的那個按鈕,就可以編譯、運轉該程序了。假設一切順利,程序運轉后,按下“Hello按鈕,窗口的標題就會變?yōu)椤癏ello,World!,如圖1-5所示。 至此,我們的第一個Windows運用程序已編制完成,當然這個程序的功能太簡單了。但請記住,我們有了一個很好的程序框架,在此根底上添加一點功能并不是難事。 最后,我們還要引見如何將已完成的程序保管。BCB將一個完好的運用程序稱為工程

12、,它由假設干文件組成,保管一個工程也就是要將該工程的一切文件存盤。圖1-5 Hello程序運轉時的畫面圖1-6 保管單元文件 通常,應該為工程建立一個文件夾用于保管該工程的文件。我們?yōu)椤癏ello程序的工程建立的文件夾,可以取名為Hello。在BCB中執(zhí)行菜單命令FileSave All。此時,會彈出如圖1-6所示的保管單元文件對話框。在標有“保管在標簽的組合框內選中Hello文件夾,在“文件名文本框內更改文件名,最后按“確認按鈕保管文件。由于Save All是保管工程的一切文件,因此普通會出現(xiàn)兩次保管文件對話框:第一次,要求保管與程序主窗體Form1對應的代碼單元文件,它的默許文件名是Uni

13、t1;第二次,要求保管工程文件,它的默許文件名是Project1(對于初學者,最好采用默許的文件名)。 回到Windows下,看看Hello文件夾內有哪些文件。我們會發(fā)現(xiàn)至少有六個文件:Project1.bpr,Project1.cpp,Project1.res,Unit1.cpp,Unit1.dfm和Unit1.h。這些文件可看作是“Hello工程的源文件,假設我們在保管工程后再運轉一次程序,就會發(fā)現(xiàn)Hello文件夾內又添加了四個文件:Project1.obj,Project1.exe,Project1.tds和Unit1.obj。其中的Project1.exe可脫離BCB在Windows下

14、運轉,它的大小僅為25 KB。由于這四個文件可以經過編譯生成,當磁盤空間緊缺時(例如,當需求保管到軟盤時)可將它們刪除,特別是Project1.tds文件,它的尺寸很大。1.2 C+言語簡介 如前所述,BCB運用C+作為編程言語。C+言語是在C言語的根底上擴展而成的,它具有C言語緊湊、高效等優(yōu)點并支持面向對象程序設計技術。本書假定讀者已具有運用C言語編程的根底知識,我們在此根底上引見學習本書時所需的C+知識。 1.2.1 面向對象程序設計 自20世紀80年代以來,面向對象的技術引起了計算機界的極大關注。隨著面向對象程序設計言語的漸趨成熟,作為一種新的程序設計風格,其運用也得到了迅速開展。 面向

15、對象是一種對應于真實世界概念化的籠統(tǒng)思想方法,面向對象方法的根本出發(fā)點就是按照人類認識世界的方法和思想方式來分析和處理問題的。在面向對象的系統(tǒng)中,對象(Object)是一個封裝了數(shù)據(jù)屬性和操作行為的實體。數(shù)據(jù)描畫了對象的形狀,操作可支配私有數(shù)據(jù),改動對象的形狀。對象內的操作通常叫做方法,對象之間進展通訊的一種構造叫做音訊。 在面向對象系統(tǒng)中,人們并不是逐個地描畫各個詳細的對象,而是將留意力集中于具有一樣特性的一類事物,籠統(tǒng)出這樣一類事物的共同構造和行為。類(Class)是對對象的籠統(tǒng)及描畫,是具有共同屬性和操作的多個對象的類似特性的一致描畫體,類中的每個對象都是該類的實例。由于類描畫了數(shù)據(jù)構造

16、(對象屬性)、算法(方法)和外部接口(音訊協(xié)議),因此,類提供了完好的處理問題的才干。 在類的描畫中,每個類要有一個名字,要能表示一組對象的共同特征,還必需給出一個生成對象實例的詳細方法。類不是孤立的,類與類之間有各種關系。其中,特別重要的是層次關系,即可以有父類與子類,它們之間有派生和承繼的關系,承繼關系具有傳送性。在收到音訊時,對象要予以呼應。不同的對象收到同一音訊可產生完全不同的結果,這一景象叫做多態(tài),多態(tài)的實現(xiàn)依賴于承繼性。 要設計一個有意義的類并非易事,但一旦設計完成,就能在程序中被反復運用。因此,一個成熟的面向對象的編程環(huán)境往往會提供一組精心設計而成的類供用戶運用,以提高軟件開發(fā)的

17、效率和質量,普通稱這樣的一組類為類庫。C+Builder提供的類庫名為VCL,而VC+那么提供了一個叫做MFC的類庫。 面向對象程序設計的概念提出來以后,某些公司和機構曾經開發(fā)出一些純粹的面向對象設計言語,如Smalltalk、Ada等,但是由于種種緣由,這些言語沒可以廣泛地流行起來。從本質上來講,我們今天所廣泛采用的面向對象的設計言語C+并不是一種純粹的面向對象的設計言語。C+是C言語的一個超集,它既支持傳統(tǒng)的面向過程程序設計,又支持面向對象程序設計,C+與C言語的這種兼容性是其勝利的一個重要方面。 C+由Rich Maseitti提出,它的發(fā)明靈感來源于當時計算機言語多方面成果的凝集,特別

18、是BCPL和Simula67。C+的規(guī)范化任務于1989年已開場,在支持面向對象特性的開發(fā)平臺上,日趨提高和完善。 1.2.2 C+言語對C言語在非面向對象方面的加強 C+作為一種混合言語,在面向對象及非面向對象這兩個方面都對C言語進展了擴展或修訂,使得它既適用于構造化程序設計,又能滿足面向對象程序設計的要求。因此很快流行起來,成為當今面向對象程序設計的主要言語。 以下是C+對C言語在非面向對象方面的假設干重要擴展。 1C+提供了單行注釋方式在傳統(tǒng)的C言語中C提供了塊注釋方式,其方式如下:/* explanation sentence */而在C+中,除了保管了塊注釋方式外,還添加了一種更為方

19、便的單行注釋方式,其方式如下:/ explanation sentence 2更為靈敏的變量闡明 在傳統(tǒng)的C言語中,部分變量的闡明必需放在可執(zhí)行的代碼的前面。數(shù)聽闡明語句和可執(zhí)行語句的混合將引起編譯錯誤。而在C+中,可以在程序代碼塊的任何地方進展部分變量的闡明。 3構造、結合和枚舉名可以直接作為類型名運用 在C言語中,對構造、結合和枚舉類型進展定義后,要生成該構造、結合和枚舉類型的變量,必需在構造名前加上struct 。如對BankAccount構造的變量進展闡明時運用如下方式: Btruct BankAccount a; 在C+中,闡明方法可簡化為: BankAccount a;/關鍵字st

20、ruct不用要 4枚舉類型與整型的關系 在C言語中,枚舉值與整型值之間可以相互轉換運用。而C+的類型檢查那么比C要嚴厲,枚舉值將被自動轉化為整型值運用,但將整型值轉化為枚舉值那么需求強迫類型轉換,否那么會出現(xiàn)編譯錯誤。如下面的一段代碼,在C言語中都是可以接受的,但某些語句在C+中那么會引起錯誤。enum name John,Mike,Rose,Joan;enum name person1=John; /正確enum name person2=person1; /正確enum name person3=1; /在C+中錯誤enum name person4=(enum name )1; /在C+

21、中正確無名結合可以經過運用其中數(shù)據(jù)項的名字直接進展訪問。 5作用域限定運算符: 作用域限定運算符:用于對當前作用域之外的同名變量進展訪問。如在下面的例子中,我們在部分變量var的作用域內運用:var來實現(xiàn)對全局變量var的訪問。#include int var;void main ( ) float var; var=3.14; :var=6; coutlocal variable var=varendl; coutglobal variable var=:varWidth=100; Edit1-Height=10; 10內聯(lián)函數(shù)(inline) C+提供了內聯(lián)函數(shù)。運用內聯(lián)函數(shù)可以節(jié)約函數(shù)調

22、用時保管現(xiàn)場所需的系統(tǒng)開銷,提高程序執(zhí)行效率。同時,由于內聯(lián)函數(shù)的運用將增大程序的代碼段,因此建議在充分權衡系統(tǒng)開銷和程序代碼段長度的關系后謹慎運用。 11缺省函數(shù)參數(shù) 在C+的函數(shù)調用時,可以缺省函數(shù)的參數(shù)。但是要運用缺省函數(shù)參數(shù),必需在函數(shù)定義時為該參數(shù)賦一缺省值,且所缺省參數(shù)的順序只能是從右到左,不能隨意缺省。請看下面的例子:int function (int a=0; int b=1; int c=2)以下函數(shù)調用都是合法的:function ( ); /等同于function (0,1,2)function (12); /等同于function (12,1,2)function (1

23、2,13); /等同于function (12,13,2)function (12,13,14);而以下函數(shù)調用那么是非法的:function ( ,13,14);function (12, ,14); 12函數(shù)前往值 在C+中,任何闡明為非void類型的函數(shù)都需求指定一個相應類型的前往值,否那么在函數(shù)的編譯時會產生警告錯誤。 1.2.3 C+對于面向對象技術的支持 類和對象是面向對象技術的基石,因此,我們首先要處理的問題是如何用C+言語來描畫類和對象。 讓我們回想一下C言語中的構造體這種復合數(shù)據(jù)類型,構造可把相關聯(lián)的數(shù)據(jù)元素組合成一個一致體,它和類非常類似,其區(qū)別主要在于C的構造不含成員函數(shù)

24、,而C+的類既能包含數(shù)據(jù)元素(即數(shù)據(jù)成員),又能包含方法(即成員函數(shù))。 下面用C+定義了BankAccount(銀行帳號)類,該類包含有兩個數(shù)據(jù)成員和兩個成員函數(shù):class BankAccountprivate:float balance;unsigned accountNumber;public:void deposit (float amount)balance+=amout;void withdraw (float amout) balance-=amout;float getbalance ( ) return balance; ; 可以看出C+中定義類的語句確實同定義構造非常相像

25、。我們運用了關鍵字class表示類,這里BankAccount是類名,在一對大括號中羅列了一切的數(shù)據(jù)成員和方法函數(shù)。關鍵字“private:和“public:分別用于闡明私有成員和公有成員,前者只允許在屬于該類對象的方法內進展訪問,后者那么可被外部對象的方法訪問。 給BankAccount類生成靜態(tài)對象實例的語句可以是: BankAccount BA1,BA2; 為了動態(tài)生成對象實例,我們必需運用指針和new操作符: BankAccount *BA3; BA3=new BankAccount; 假設詳細引見C+面向對象技術,能夠需求半本書的篇幅,而且比較枯燥,對于學習本書的“根底篇和“運用篇,

26、我們暫時只需求以上引見的這些知識就可以了。在本書的“提高篇將更深化地引見C+和面向對象的內容。 1.2.4 VCL組件類 前面曾提及BCB開發(fā)環(huán)境為用戶提供的類庫被稱為VCL(Visual Component Library),該類庫非常適用于Windows下的快速開發(fā)。 在VCL 中首先定義了一個基類TObject,其它的類都是TObject的后代。一切的組件都是TComponent類的派生類,它們都能放在BCB的組件面板上供取用。組件中有一部分承繼自TControl類的又常被稱為控件,它們是可視的,有著大體類似的屬性和方法。 TForm類也稱為窗體類,它是運用程序的窗口。通常,在BCB的一

27、個空白程序框架中,已存在著一個由系統(tǒng)生成的空窗體Form1。 由于C+中對象的數(shù)據(jù)成員的類型也可以是類,因此對象中可以含有成員子對象。主要用于包容成員對象的那種對象通常被稱為“容器。窗體中可以放入各種組件,因此,窗體也常被當成是容器。 屬性和事件概念是BCB對C+類的某種擴展和深化,為此BCB中引入了擴展關鍵字_property。屬性是類中一種特殊的數(shù)據(jù)成員,對該成員的讀寫常伴隨著一系列與Windows API調用有關的組件形狀的改動。事件那么是一種觸發(fā)器,它通常與某種特定形狀(如接納到某個Windows音訊)相聯(lián)絡。用戶可以為事件編寫代碼,該代碼只在上述的某種特定形狀發(fā)生時被執(zhí)行。 在1.1

28、.4節(jié)的例子中,我們寫代碼Form1-Caption=Hello,World!,其中Caption即為類TForm的屬性。雙擊按鈕時出現(xiàn)的空白代碼框架: void _fastcall TForm1:Button1Click(TObject *Sender) 即為Button1對象的OnClick事件的代碼框架。 在BCB下編程,所要做的任務大部分都與VCL對象的屬性與事件有關。由于VCL中有大量的組件,必需循序漸進地學習它們的用法。假設讀者能熟練運用多種VCL組件的屬性與事件,就能成為一個Windows下的編程高手。 1.2.5 BCB的字符串類型 傳統(tǒng)的C言語中沒有真正的字符串類型,只需字符

29、數(shù)組或指針,因此運用中常帶來不便。BCB采用了Ansi C+中的AnsiString類,彌補了C的缺乏。此外,BCB中定義的TStrings等類型也非常有用。下面簡單引見這些類型的用法。 1AnsiString類 AnsiString類除了將一個長字符串作為它的數(shù)據(jù)成員外還提供了支配字符串的方法,并且能方便地與C的字符類型相轉換。大部分編程言語都允許運用“+號銜接兩個字符串,但在C中卻不行,這會帶來許多不便,好在AnsiString處理了這個問題。例如: AnsiString s1,s2,s3; s1=abc; s2=efg; s3=s1+d+s2; 是完全符合C+語法的。由于AnsiStri

30、ng的強大功能和具有與其它編程言語的兼容性,使得它在VCL類的屬性和方法參數(shù)中被大量運用。 AnsiString類提供了如下主要的方法函數(shù): Length 前往AnsiString中的字符數(shù)。 IsEmpty 假設AnsiString為空,那么前往true,否那么前往false。 SubString 前往該AnsiString的子串。 c_str 將AnsiString轉化為根本C言語的*char型。由于調用C或C+的函數(shù)時,參數(shù)的數(shù)據(jù)類型經常要求是char*,所以可運用該函數(shù)先將AnsiString轉換為char *型,再進展調用。 留意:AnsiString:c_str( )前往一個指向A

31、nsiString對象內部字符串緩沖的指針,一旦運用該調用語句終了,這個指針也就不再有效。 atoi 將數(shù)值型字符串轉換為整數(shù)。 itoa 將整數(shù)轉化為字符串。 AnsiCompare 將該字符串與指定的字符串比較,比較時區(qū)分大小寫。 2TStrings類 TSrings是另一個在VCL中被廣泛運用的字符串類型,它可以將一段由假設干行組成的文本保管在一個長字符串中。運用TStrings的方法可根據(jù)實踐需求方便地在這一段文本中插入或刪除行,或將其轉換為其它字符串類型。VCL中TListBox類組件的Items屬性和TMemo類組件的Lines屬性都是TStrings類型的。 3TWideStri

32、ng類 TWideString類是用于與Windows OLE和非英文字符集等相兼容的字符串類型。 1.2.6 BCB的通用函數(shù) BCB編程環(huán)境下提供了一組通用函數(shù),這些函數(shù)主要提供在各種根本數(shù)據(jù)類型之間進展轉換、磁盤文件操作、字符串操作等功能,它們的運用都是比較簡單的。下面引見其中最常用的假設干函數(shù)。 1IntToStr 函數(shù) IntToStr函數(shù)原型為 AnsiString _fastcall IntToStr (int Value); 功能是將整型變量轉換為字符串。2StrToInt 函數(shù)StrToInt函數(shù)原型為int _fastcall StrToInt (const AnsiStr

33、ing S);功能是將字符串轉換為整型變量。3FloatToStr 函數(shù)FloatToStr函數(shù)原型為AnsiString _fastcall FloatToStr (float Value);功能是將實數(shù)型變量轉換為字符串。4StrToFloat 函數(shù)StrToFloat函數(shù)原型為float _fastcall StrToFloat (const AnsiString S);功能是將字符串轉換為實數(shù)型變量。 5FloatToStrF函數(shù) FloatToStrF函數(shù)原型為 AnsiString_fastcall FloatToStrF (long double value, TStringFl

34、oatFormat format, int precision, int digits); 功能是將實數(shù)型變量轉換為指定格式的字符串。整型參數(shù)precision和digits分別指定小數(shù)部分的位數(shù)和字符串的長度。參數(shù)format可取值為sffGeneral、sffExponent、sffFixed、 sffNumber以及sffCurrency。6TimeToStr 函數(shù)TimeToStr函數(shù)原型為AnsiString _fastcall TimeToStr (System:TDateTime Time);功能是將當前日期和時間轉換為字符串對象。 7UpperCase函數(shù)UpperCase函數(shù)

35、原型為AnsiString _fastcall UpperCase (const AnsiString S);功能是將指定的AnsiString字符串轉換為大寫方式。 8LowerCase 函數(shù)LowerCase函數(shù)原型為AnsiString _fastcall LowerCase (const AnsiString S);功能是將指定的AnsiString字符串轉換為小寫方式。9IntToHex 函數(shù)IntToHex函數(shù)原型為AnsiString _fastcall IntToHex (int Value, int Digits); 功能是將整數(shù)轉換為十六進制字符串。 10FileExist

36、s函數(shù) FileExists函數(shù)原型為 bool _fastcall FileExists (const System:AnsiString FileName); 功能是測試指定的文件能否存在,假設存在,那么前往true,否那么前往false。 11DeleteFile函數(shù) DeleteFile函數(shù)原型為 bool _fastcall DeleteFile (const AnsiString FileName); 功能是刪除指定的磁盤文件,假設操作勝利,那么前往true,否那么前往false。 12CreateDir函數(shù) CreateDir函數(shù)原型為 bool _fastcall Create

37、Dir (const AnsiString Dir); 功能是創(chuàng)建一個新的目錄,假設操作勝利,那么前往true,否那么前往false。 13DiskSize函數(shù) DiskSize函數(shù)原型為 int _fastcall DiskSize (Byte Drive); 功能是前往指定磁盤的空間,操作失敗時前往-1。參數(shù)Drive 取值為“0,代表當前盤,取值為1,2,3,.時分別代表A,B,C,.盤。 14DiskFree函數(shù) DiskFree函數(shù)原型為 int _fastcall DiskFree (Byte Drive); 功能是前往指定磁盤的剩余空間,操作失敗時前往-1。參數(shù)Drive的用法與

38、DiskSize函數(shù)中的用法一樣。 15StrScan函數(shù) StrScan函數(shù)原型為 char * _fastcall StrScan (const char * Str, char Chr); 功能是在指定的字符串中尋覓特定的字符,并前往指向該特定字符在字符串中第一次出現(xiàn)位置的字符指針。假設找不到該特定字符,那么前往NULL。 16StrRScan函數(shù) StrRScan函數(shù)原型為 char * _fastcall StrRScan (const char * Str, char Chr); 功能與StrScan類似,但前往值是指向最后一次出現(xiàn)該特定字符處的指針。1.3 C+Builder集成

39、開發(fā)環(huán)境 本章引見C+Builder 6.0運用程序集成開發(fā)環(huán)境(IDE)的各個組成部分及相關的操作。 啟動BCB,進入IDE,如圖1-7所示,我們將該環(huán)境分解為四個窗口和六個組成部分。這四個窗口是:程序主窗口、對象監(jiān)視器、運用程序窗體設計區(qū)和代碼編輯器。其中,前兩個窗口分別位于IDE的上方和左方,后兩個窗口都位于IDE的右下方,其中運用程序窗體設計區(qū)疊在代碼編輯器之上。主窗口的標題是“C+Builder 6,它可被進一步分解為主菜單、工具欄、組件面板三個部分。這三個部分加上另外三個窗口就是BCB IDE的六個主要組成部分。圖1-7 BCB IDE的各個組成部分 1.3.1 程序主窗口 1主菜

40、單 在BCB IDE主窗口頂部是主菜單,它由File、Edit、Search、View、Project、Run、Component、Database、Tools、Windows、Help等項及相應的下拉菜單組成。IDE的大部分功能都可由該菜單系統(tǒng)提供。 1) File下拉菜單 File下拉菜單由New、Open、Open Project、Reopen、Save、Save As、Save All、Close、Close All、Include Unit hdr、Print、Exit等選項組成。 選擇New時會彈出下拉菜單,從中可選擇所需創(chuàng)建的對象或文件類型,其中,New Application

41、用于創(chuàng)建一個新的工程,即一個空白的運用程序框架,New Form那么用于將一個空白窗體添加到當前翻開的工程中。 Open、Open Project、Reopen用于翻開工程或文件。選用Open和Open Project時都會出現(xiàn)翻開文件對話框,用戶可在對話框內選擇存放文件的途徑以及文件類型,按“翻開按鈕即完成。普通常用Open Project翻開工程,此時,與該工程有關的主要文件都已被翻開。Reopen 提供最近翻開過的文件列表供選擇翻開。 As為另存,指將當前文件以另一途徑或不同的文件名保管;Save All 那么保管當前工程下的一切文件。建議初學者多運用Save All。 Close、Cl

42、ose All用于封鎖文件,前者只封鎖當前正在操作的文件,后者封鎖當前工程下的一切文件。 用Include Unit hdr可使當前編輯的源文件中包含另一個源文件,普通被包含的是C+的頭文件(擴展名.h)。此項操作等同于在源程序中參與#include 語句。 用Exit 可退出BCB IDE,前往到Windows。假設文件尚未封鎖時選Exit,那么IDE會給出提示信息。 2) Edit 下拉菜單 Edit下拉菜單由 Undo、Redo、Cut、Copy、Paste、Undelete、Delete、Selete All、Align、Bring to Front、Send to Back、Tab

43、Order 等選項組成。 Undo和Redo用于在代碼編輯器窗口中進展文本編輯時取消和恢復前一次的操作,它們普通不能用于對窗體中控件的編輯。 Align、Bring to Front、Send to Back、Tab Order 用于控件的編輯。其中,Align用于陳列(對齊)控件,在進展陳列之前應先選中一組需求陳列的控件(按住Shift鍵不放,并用鼠標逐個點擊控件就能選中一組控件);Bring to Front 和 Send to Back 用于處置窗體中假設干控件相互重疊的情況,Bring to Front將選中的控件置前,Send to Back將選中的控件置后;Tab Order用于調

44、整窗體中一組控件在程序運轉時發(fā)生焦點(光標)轉移的先后順序。 Cut、Copy、Paste、Delete、Undelete 在文本編輯和控件操作兩種情況下都能起作用,分別表示對文本或控件進展剪切、復制、粘貼、刪除和取消刪除操作。其中,Cut和Delete操作前必需先選中文本或控件,進展Paste操作時必需確保剪貼板上有相應的內容存在。 3) Search下拉菜單 Search下拉菜單由 Find、Search Again、Replace、Go To Line Number 等選項組成。 Find和Search Again用于在文本中搜索特定字符串,前者用于初次搜索,后者用于對同一字符串的再次搜

45、索。Replace 那么在搜索根底上進展交換。選擇Find或Replace都會出現(xiàn)對話框,運用時應留意對話框各選項的正確運用方法。這些選項中,Case sensitive表示搜索時對字母區(qū)分大小寫,F(xiàn)orward和Backward分別表示搜索方向為向前和向后,Global和Selected text分別表示在全文范圍內和當前選中文本范圍內搜索。 Go To Line Number可搜索到文本的某一行。運用時彈出對話框,輸入一個行號后即可執(zhí)行。 4) View下拉菜單 View下拉菜單由 Object Inspector、Alignment Palette、Window List、Debug W

46、indows、Toggle Form/Unit、Toolbars 等選項組成,主要功能為控制IDE的外觀和在各個窗口間的切換。 Object Inspector 激活對象監(jiān)視窗口;Debug Windows翻開Debug(糾錯)窗口;Window List提供包含了當前環(huán)境中已翻開的全部窗口的一個列表,選中其中一個窗口的稱號,按一下“OK按鈕就能使該窗口激活并顯示。 Alignment Palette與Edit菜單下的Align項功能類似,但不能經過對話框進展操作,而是提供一個圖形化的工具面板用于陳列控件。 Toolbars可設置工具條,使某些工具按鈕顯示或封鎖。Toggle Form/Uni

47、t 可將當前正在操作的某個窗體快速切換到代碼編輯器中與該窗體相關的單元文件,或反過來從當前單元文件切換到窗體。 5) Project下拉菜單 Project下拉菜單由Add to Project、Remove from Project、View Source、Compile Unit、Build Project1、Options 等選項組成。 Add to Project可將現(xiàn)存的某個單元文件或其它對象添加到當前工程;Remove from Project那么從當前工程中刪除某一文件或窗體等對象,操作時都有對話框出現(xiàn)。運用該兩項功能時,BCB會對工程及相關代碼進展必要的分析和修正。 Optio

48、ns 設置與工程有關的選項。可選擇的選項很多,但大部分都非常專業(yè),初學者普通不應隨意改動這些選項的值。 Compile Unit編譯當前代碼文件,Build Project1那么編譯整個工程。 View Source 可翻開工程的主程序單元的代碼進展編輯,普通情況下不用編輯修正該代碼。 6) Run下拉菜單 Run下拉菜單由 Run、Parameters、Step Over、Trace Into、Run to Cursor、Program Reset、Program Pause、Add Watch、Add Breakpoint 等選項組成。這些菜單項主要用于運用程序運轉及調試。 Run菜單項編

49、譯、鏈接并且運轉運用程序。假設選擇Parameters,可指定程序運轉時的命令行參數(shù)。 Step Over和Trace Into都是逐句執(zhí)行程序,但前者對函數(shù)調用語句視作整體一次執(zhí)行,而后者那么會跟蹤到函數(shù)內部逐句執(zhí)行。在提高篇的第8章,我們將較詳細引見這些菜單命令是如何用于程序調試的。 7) Component下拉菜單 Component下拉菜單由 New Component、Install Component、Import ActiveX Control、Configure Palette 等選項組成,用于創(chuàng)建、安裝自定義控件及配置控件面板。 8) Database下拉菜單 Databas

50、e下拉菜單由 Explore、SQL Monitor、Form Wizard 等選項組成,主要用于對數(shù)據(jù)庫編程的支持。 選擇Explore,那么彈出“SQL Explore窗口,該窗口用于數(shù)據(jù)庫系統(tǒng)的SQL設計。 選擇SQL Monitor,那么彈出“SQL Monitor窗口,該窗口用作SQL操作的監(jiān)視器。 選擇 Form Wizard,那么出現(xiàn)一個數(shù)據(jù)庫窗體設計導游,按照屏幕提示,可以很方便地設計一個對簡單數(shù)據(jù)庫作常規(guī)操作的窗體。 9) Tools下拉菜單 Tools下拉菜單由Environment Options、Editor Options、Configure Tools、Databa

51、se Desktop、Image Editor 等選項組成,用于環(huán)境設置并提供一些軟件工具。 Environment Options和Editor Options分別對IDE和代碼編輯器進展設置。這些設置的可選工程很多,其中有一些非常適用。例如,我們可在Environment Options對話窗口中發(fā)現(xiàn)“Preferences頁的“Form designer框內有一項“Snap to grid。當該項選中時,假設在窗體上用鼠標挪動控件,控件只能定位在格點(Grid)上,該項未選中時,無此限制。此外,還可輸入“Gridsize X和“Gridsize Y以改動格點的間距等。 Configure

52、 Tools可對位于IDE左上方的工具條進展配置。 Database Desktop、Image Editor 都是BCB提供的適用工具。Database Desktop相當于是一個小型的數(shù)據(jù)庫管理系統(tǒng)(DBMS),主要用于處置Paradox類型的本地數(shù)據(jù),我們將在“運用篇的第5章作較詳細的引見。Image Editor工具用于對簡單的位圖圖像進展編輯。 10) Window下拉菜單 Windows下拉菜單中各項命令可用于在BCB IDE中的各個窗口之間切換。 11) Help下拉菜單 Help下拉菜單中各項為用戶提供協(xié)助。本章1.3.5節(jié)將引見BCB的協(xié)助系統(tǒng)。 2工具欄 BCB IDE的工

53、具欄位于主菜單的左下方,上面陳列著假設干個圖標。它們分別與主菜單上的某些常用選項相對應,點擊這些圖標能更快捷地執(zhí)行相應的菜單命令。每個圖標都有本人的稱號,只需將鼠標箭頭在圖標上停留一點時間,IDE就會提示該圖標的稱號。如圖1-8所示,上排從左往右依次為 New、Open、Save、Save All、Open Project、Add file to Project、Remove file from Project、Help圖標;下排從左往右依次為View Unit、View Form、 Toggle Form/Unit、New Form、Run、Pause、 Trace into、Step Ov

54、er圖標。工具欄是可以經過設置進展改動的,所以上述的陳列不是固定不變的。圖1-8 BCB的工具欄 3組件面板 在本章1.1.4節(jié)中的“Hello,World!范例中,我們從組件面板上選擇一個按鈕并將它放到運用程序主窗體內,這種“所見即所得的操作方式使程序的界面設計變得輕松隨意。 C+ Builder和它的姐妹產品Delphi有一個明顯的優(yōu)點就是可供選用的組件特別多。這些組件被分門別類地陳列在組件面板上,運用起來非常方便。 組件面板位于BCB主窗口的右下方,它由假設干個頁面組成。點擊頁標簽,可切換當前頁。點擊位于面板右端的兩個小箭頭,可橫向滾動頁標簽,使一切的頁能顯示。 每個組件都有本人的稱號,

55、只需將鼠標箭頭在組件圖標上停留一點時間,IDE就會提示該組件的稱號。在BCB中控件是指具有某些Windows窗口特性的可視組件,或者用更專業(yè)一點的說法就是屬于由TControl派生的類。由于大部分最常用的組件都是控件,因此有時也將組件面板稱為控件面板,有些書上甚至將兩者混為一談。 不同版本BCB的組件面板的頁數(shù)和每頁上的組件是有差別的,但差別不是很大。BCB支持用戶創(chuàng)建本人的組件并把它安裝到面板上,此外它也允許用戶改動組件在面板上的陳列。因此,即使對同一版本的BCB,不同用戶組件面板的內容也不盡一樣。本節(jié)中引見的是BCB 6.0規(guī)范安裝下的組件面板。 下面簡單引見組件面板上常用的各個頁,對其中

56、各個組件的詳細用法將在后續(xù)章節(jié)中結合編程技術進展引見。 1) Standard頁 Standard頁上有16個組件,常用的有:主菜單(MainMenu)、標簽(Label)、文本編輯框(Edit)、備注框(Memo)、按鈕(Button)、復選框(CheckBox)、列表框(ListBox)、組合框(ComboBox)、滾動條(ScrollBar)、單項選擇按鈕組(RadioGroup)和面板(Panel)等,如圖1-9所示。這些組件主要用于創(chuàng)建運用程序界面和各種對話框。圖1-9 Standard 頁上的組件 2) Additional頁 Additional頁上有22個組件,常用的有:快速按

57、鈕(SpeedButton)、掩碼編輯框(MaskEdit)、圖像(Image)、圖形(Shape)和圖表(Chart)等,如圖1-10所示。這些組件用于程序界面設計,圖形、圖像顯示等。圖1-10 Additional 頁上的組件 3) Win32頁 Win32頁上有19個組件,常用的有:RTF編輯器(RichEdit)、頁面控制框(PageControl)、進度顯示欄(ProgressBar)、微調按鈕(UpDown)、日期輸入框(DateTimePicker)、月份牌(MonthCalendar)和樹構造顯示框(TreeView)等,如圖1-11所示。這些控件功能強大,運用廣泛。其中,Ri

58、chEdit可顯示和編輯豐富的格式文本(這是一種規(guī)范的格式化文本文件,在Windows下擴展名為.rtf,可在Word等字處置軟件中翻開)。DateTimePicker或MonthCalendar可提供非常友好的日期輸入界面,TreeView可提供處置樹形構造所需的圖形界面,但運用較復雜。圖1-11 Win32 頁上的組件 4) System頁 System頁上有8個組件,常用的有:Timer(定時器)、MediaPlayer(媒體播放器)和OleContainer(Ole容器)等,如圖1-12所示。這些組件用于時間控制、播放多媒體和插入Ole對象等。 5) Dialogs頁 Dialogs頁

59、上有10個對話框組件,最常用的有:翻開文件對話框(OpenDialog)、保管文件對話框(SaveDialog)、字體對話框(FontDialog)、顏色對話框(ColorDialog)和打印對話框(Printdialog)等,如圖1-13所示。它們將規(guī)范Windows風格的對話框提供應運用程序,運用非常方便。圖1-12 System 頁上的組件 圖1-13 Dialogs頁上的組件 6) Data Controls、BDE、ADO、Data Access頁 Date、Controls、BDE、ADO、Date Access這幾個頁上的組件都是用于對數(shù)據(jù)庫運用系統(tǒng)開發(fā)提供支持的。與以前版本相比

60、,BCB 6.0對這幾個頁面作了較大調整。 Data Controls頁上的組件主要用于數(shù)據(jù)庫程序的界面設計,如圖1-14所示。其中,DBEdit、DBMemo、DBListBox、DBComboBox、DBRadioGroup等組件分別與Standard頁上Edit、Memo、ListBox、ComboBox、RadioGroup等組件用法類似,但運用時要與數(shù)據(jù)表中的字段對象相聯(lián)絡。圖1-14 Data Controls 頁上的組件 Data Access頁上的組件主要用于銜接各種數(shù)據(jù)集,其中最常用的是數(shù)據(jù)源(DataSource)組件。BDE是“Borland Database Engin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論