第1章-Delphi基礎知識ppt課件(全)_第1頁
第1章-Delphi基礎知識ppt課件(全)_第2頁
第1章-Delphi基礎知識ppt課件(全)_第3頁
第1章-Delphi基礎知識ppt課件(全)_第4頁
第1章-Delphi基礎知識ppt課件(全)_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章

Delphi基礎知識

Delphi是快速應用軟件開發(fā)工具RAD(RapidApplicationDevelopment)。Delphi使用了當今世界上最為先進的很多程序開發(fā)思想,使用Delphi開發(fā)軟件無疑會大大提高軟件開發(fā)的效率。Delphi2005是針對微軟公司Framework技術而開發(fā)的,其目的是為了使Delphi開發(fā)者能夠輕松使用多種語言(如C#語言和Pascal語言)開發(fā).NET應用。從1995年到現(xiàn)在,Delphi經歷了多代發(fā)展歷程,本書采用較新版本Delphi2005作為開發(fā)平臺。1.1Delphi2005簡介

Delphi2005是Windows系統(tǒng)下的可視化集成開發(fā)工具,它提供了強大的可視化組件VCL(VisualComponentLibrary)功能,使程序員可以快速、高效地開發(fā)出Windows系統(tǒng)下的應用程序。和其它軟件開發(fā)工具相比Delphi在網絡編程、數據庫編程、程序界面方面更勝一籌,而且增加了對Linux平臺下應用程序開發(fā)的更強大的支持。Delphi2005使用的語言是ObjectPascal語言,但是它已經支持win32和.NET框架了。1.1.1Delphi的特點和優(yōu)點

1.可視化的集成開發(fā)環(huán)境Delphi提供了可視化的集成開發(fā)環(huán)境IDE(IntegratedDevelopmentEnvironment)??梢暬h(huán)境是指用戶在設計程序界面的時候,無需為程序界面編寫代碼,只需要將相應的組件添加到窗體上,調節(jié)其大小和位置即可,Delphi會自動生成相應的代碼。Delphi的集成開發(fā)環(huán)境不僅可以非常方便地設計出用戶的程序界面,而且程序的界面設計、屬性設置、代碼編寫、程序調試、運行、生成可執(zhí)行文件等等操作都可以在這個集成開發(fā)環(huán)境中進行,使得軟件設計變得一種非??旖?、高效。2.真正的面向對象面向對象的程序設計OOP(ObjectOrientedProgramming)是Delphi誕生的基礎。像VisualBasic這樣的語言是偽面向對象的,它不支持封裝、繼承性和多態(tài)性等面向對象的技術。相對于VisualBasic等語言而言Delphi是完全的面向對象的程序設計。它以Pascal語言為基礎,通過將常用功能封裝為組件或者類,獲得了極高的程序開發(fā)效率。3.可擴充的VCL庫VCL(VisualComponentLibrary)組件庫是Delphi的重要的組成部分。Delphi提供了豐富的組件庫,這些組件是程序開發(fā)強有力的工具。Delphi的VCL組件庫具有良好的可擴充性,它允許程序使用第三方組件,用戶將第三方組件添加到Delphi中,然后就可以像使用自帶的VCL組件一樣方便地使用這些組件了。4.高效的、完全的編譯器許多Windows應用開發(fā)工具采用不完全編譯或者生成偽代碼。偽代碼是機器不可執(zhí)行代碼,它必須在運行時翻譯成可執(zhí)行代碼,這就大大降低了系統(tǒng)的性能。Pascal編譯器以編譯速度快而著名,Delphi正是建立在此基礎之上的,Delphi的編譯速度是其它開發(fā)工具無法比擬的。Delphi使用的是完全編譯器和連接器,產生100%的本地可執(zhí)行代碼。5.強大的數據庫開發(fā)功能Delphi提供了DataBaseDesktop和BDEAdministrator等工具,使得利用Delphi開發(fā)數據庫應用程序變得非常容易。提供訪問InterBase、Oracle、SQLServer、Sybase、Infomix和DB2數據庫服務器的SQLLinksBDE驅動器,并且允許無限制地分發(fā)這些驅動程序。SQL數據庫瀏覽器可以瀏覽和編輯特定服務器的數據。圖形化查詢建立工具SQLBuilder具有較強的數據處理和轉換輸出能力。SQL監(jiān)視器可以監(jiān)視與SQL服務器的通信,從而可以調整SQL應用程序的性能。6.支持分布式數據庫開發(fā)Delphi支持多種分布式模式的開發(fā),從簡單的消息通信程序到龐大的多層次應用。在Delphi中可以方便地建立客戶機—服務器結構的二層分布式應用,還可以方便地建立客戶機—應用服務器—數據庫服務器結構的多層分布式應用程序。7.Web技術擴展Delphi從AtoZed軟件公司引入了IntraWeb技術,IntraWeb類組件可以使用戶以窗體工具的形式使用IntraWeb技術來設計WebBroker,WebSnap以及Web服務器應用程序。Delphi還支持Apache2Web服務器作為WebBroker、WebSnap和SOAP的目標環(huán)境。8.對開發(fā)Linux平臺應用程序更強大的支持Inprise公司最新的Linux平臺上的RAD工具Kylix是Delphi的Linux版。從集成開發(fā)環(huán)境上比較,Kylix與Delphi最大的區(qū)別在于Kylix采用的是支持跨平臺的CLX組件庫,而Delphi采用的是VCL類庫,CLX與VCL有很多相似之處,但CLX不僅是一個可視化組件庫,更是一個跨平臺的組件庫。Kylix上所使用的支持跨平臺的CLX組件庫是基于Qt的,而Delphi采用的VCL類庫是基于Win32API的。Borland公司稱,在下一個Delphi版本中,將會同時支持CLX和VCL,就是說Delphi開發(fā)的應用程序只需要進行必要的修改就可以移植到Linux平臺上。9.支持.NET技術Delphi2005支持ASP.NET技術和ADO.NET技術。用戶使用Delphi2005可以非常方便地開發(fā)出WebApplication和WebServices程序,還可以開發(fā)出ADO.NET數據庫應用程序。1.1.2對象的一些基本概念

在面向對象的編程(OOP)中對象是一個比較時髦的詞匯,使用非常頻繁。和VisualBasic等語言相比,Delphi是真正的面向對象的程序設計語言。那么什么是對象呢?我們可以把對象理解成為一種編程結構,這種編程結構將數據和函數封裝成一個單元,而外界可以通過對象的接口(對象的屬性、方法和事件)來訪問對象。在本節(jié),將主要講述對象、屬性、方法和事件。1.類和對象對象(Object)和類(Class)是在面向對象的編程中經常使用到的概念。類是對象的抽象和概括,而對象則是類的一個實例。比如說人類就是一個類,而張三則是一個具體的實例,張三就是一個對象。人類就是對很多人的一個抽象。如果把類細分還可以分為基類、派生類等等。比如人類可以分為黃色人種、黑色人種、白色人種和棕色人種等等。那么各個人種又可以看成是不同的幾個類。這些類是人類的派生類,它們具有人類這個類的一些特性(屬性),也就是說這些類繼承了人類這個類的屬性、方法和事件。張三是黃色人種這個類的一個實例,張三是一個具體的對象。Tom是白色人種的一個實例,Tom也是一個對象。每個類都有自己的屬性、方法和事件。Delphi中的對象有標簽、按鈕、列表框、圖像框等等。2.對象的屬性屬性(Property)是用來描述對象的。比如對象的高度、寬度、顏色、位置等等。屬性的表現(xiàn)形式為數據。比如說張三的高度為172厘米,張三的體重為65千克,張三的皮膚顏色為黃色等等。我們可以這樣來表示:張三.高度:=172;張三.體重:=65;張三.皮膚顏色:="黃色";一般來說給一個對象的屬性賦值的格式為:對象.屬性:=屬性值(或者是表達式);我們以Delphi中的對象為例來說說如何為對象的屬性賦值。例如,設置標簽Label1的顯示內容為"屬性舉例"。標簽Label1是對象,標簽有一個屬性是Caption,表示在標簽上要顯示的內容。因此,我們可以這樣設置屬性:Label1.Caption:="屬性舉例";在Delphi集成環(huán)境中,當用戶輸入對象的名稱Label1后,打一個點號,則系統(tǒng)馬上彈出一個下拉列表框,在這個下拉列表框中顯示了Label這個類的所有屬性和方法等內容。用戶只需要在里面選擇即可,非常方便。Delphi中常見的屬性有Caption(標題)、Name(名稱)、Font(字體)等等。請看下例:Label1.Caption:='聰明的程序員使用Delphi。';Label1.Font.Size:=10;Label1.Font.Name:='隸書';3.對象的方法方法(Method)是封裝在對象中的一段代碼,用來實現(xiàn)預先規(guī)定好了的功能。方法是對象能夠執(zhí)行的動作,它由Delphi內部定義,用戶不用編寫代碼即可實現(xiàn)某種功能,如Show(顯示)、Move(移動)、Line(劃線)。不同的對象有自己的方法集合。在程序中調用方法的語法為:對象.方法(方法需要的參數);例如我們以一個Delphi對象為例,調用編輯框的方法SetFocus讓編輯框得到焦點。代碼為:Edit1.SetFocus;4.對象的事件事件(Event)是作用在對象上,并且能夠被對象識別的動作。用戶不能建立新的事件,為此Delphi提供了大量的事件,以滿足程序員的需要。比如,用鼠標點擊命令按鈕,命令按鈕能夠識別這個動作,并且,程序會立即去執(zhí)行存放在命令按鈕的單擊事件過程里面的代碼,這樣就完成了用戶和程序之間的交互。在面向過程的程序設計中,程序是按照預先設置好的順序執(zhí)行的。這就意味著程序與用戶之間的交互相當有限。在面向對象的程序設計中引入了一個新的概念,也就是事件驅動機制。程序的執(zhí)行不再按照某個固定不變的順序進行。程序代碼放在事件過程(EventProcedure)中。一個事件發(fā)生后,程序會自動執(zhí)行對應的事件過程。事件的觸發(fā)就是事件是怎樣發(fā)生的。事件的觸發(fā)有以下4種方式:(1)用戶通過交互方式觸發(fā)事件。比如,用戶單擊命令按鈕就觸發(fā)了命令按鈕的單擊事件。(2)時間觸發(fā)。在Delphi中有一個組件Timer,它有一個屬性Interval,這個組件能夠每隔Interval毫秒自動觸發(fā)OnTimer事件。(3)系統(tǒng)觸發(fā)。例如,OnCreate事件在窗體加載到內存的時候自動發(fā)生。OnClose事件在窗體從內存中卸載的時候自動觸發(fā)。(4)可以用代碼調用使事件發(fā)生。例如執(zhí)行form1.Close;語句后程序自動觸發(fā)Onclose事件關閉窗體。

1.2Delphi2005集成開發(fā)環(huán)境

Delphi的集成開發(fā)環(huán)境IDE(IntegratedDevelopmentEnvironment)是設計程序界面、編寫程序代碼、調試程序、生成可執(zhí)行文件的軟件環(huán)境。Delphi2005的集成開發(fā)環(huán)境使得開發(fā)Delphi應用程序變得非常方便。1.2.1Delphi集成開發(fā)環(huán)境組成

Delphi集成開發(fā)環(huán)境由多個部分構成:主窗口、窗體設計器、對象查看器、結構瀏覽器、組件欄、代碼編輯器等構成,如圖1-1所示。代碼編輯器沒有顯示出來,雙擊窗體設計器可以進入代碼編輯器。集成開發(fā)環(huán)境的各個部分是一個有機體,它們協(xié)同工作。圖1-1Delphi2005集成開發(fā)環(huán)境1.Delphi主窗口Delphi主窗口是Delphi集成開發(fā)環(huán)境的控制中心,它具有Windows應用程序的風格,Delphi主窗口包括3個部分:標題欄、主菜單和工具欄。(1)主菜單主菜單提供了所有進行程序開發(fā)所需要的命令和功能,包括創(chuàng)建、打開、保存各種類型的文件、編輯程序、視圖查看、修改選項等功能。Delphi共有11個主菜單項,參見表1-1所示。2.Delphi窗體設計器Delphi窗體設計器是設計應用程序界面的工作區(qū)域,運行時程序界面完全與設計時的界面一樣。系統(tǒng)自動產生用戶界面代碼,用戶只需要完成相應功能的程序段。窗體在運行時稱之為窗口,一般來說一個應用程序不止一個窗口。窗口是由標題欄、工作區(qū)構成。標題欄給出窗體的標題,右邊還有控制按鈕,用于在運行期間關閉、最大化、最小化窗口。工作區(qū)是添加組件的位置,工作區(qū)上有柵格(Grids),用于組件對齊使用,柵格的密度可以調節(jié),在運行期間柵格式不可見的。3.對象查看器(ObjectInspector)利用對象查看器可以設置窗體中各個組件以及窗體的屬性,或者使各個組件或窗體響應不同的事件。選擇菜單“View|ObjectInspector”命令可以顯示對象查看器。屬性(Property)是對象的一些數據,用于描述對象的顏色、大小、字體等等。事件(Event)是一種消息處理機制,它能夠捕捉某種動作并做出一些響應。例如鼠標單擊事件、鼠標移動事件、窗體改變大小事件等等。(1)Properties頁(屬性頁)Properties頁用于在設計時查看或者修改對象的相關屬性。對象的屬性可以在程序運行時通過代碼改變,也可以在Properties頁中改變,也就是程序運行前設置初始值。根據屬性類型的不同,可以采用不同的屬性設置方法,如下給出了屬性設置的不同方法。屬性為數值類型或者字符串類型。只需要直接輸入屬性值即可,例如Name、Caption屬性就可以直接在屬性右邊的編輯框中直接輸入屬性值。屬性為布爾型或者枚舉型。選擇該屬性,在該屬性右邊的組合框中選擇適當的屬性值即可,例如Label的Visible屬性,BitBtn的Kind屬性就屬于這種類型。通過對話框設置屬性。有些屬性的右邊有按鈕,單擊該按鈕出現(xiàn)對話框,在對話框中可以設置該對象的屬性值,例如Font、Picture、Items、Glyph等屬性就是通過這種方法設置的。直接調節(jié)對象的大小和位置也可以設置對象的部分屬性,例如Left、Top、Width和Height等等。子屬性設置。有的屬性還有子屬性。例如Font,它的左邊有一個符號,單擊該符號則變成號,同時Font的子屬性被展開,此時用戶可以設置其子屬性Color、Name、Size等等。屬性為集合類型。單擊該屬性左邊的符號,該號變成號,然后再設置該屬性的集合元素。例如Anchors就屬于這種類型。(2)Events頁(事件頁)在Events頁面中可以設置對象或者窗體的響應事件。不同對象預置了不同的一些事件,例如OnClick、OnActivate、OnKeyPress等等。在編寫程序的時候要為某些預置的事件編寫響應的代碼程序。4.結構瀏覽器(Structrue)結構瀏覽器以樹狀結構的形式顯示窗體中各個組件之間的邏輯關系。結構瀏覽器和對象查看器是同步協(xié)調工作的。在設置屬性或者編寫事件過程的時候,可以在結構瀏覽器選擇好某個對象,然后再在對象查看器中設置屬性或者編寫事件過程,這樣遠比直接在對象查看器的對象組合框中選擇對象方便。結構瀏覽器如圖1-4所示。如果結構瀏覽器樹被關閉,選擇菜單“View|Structure”可以顯示結構瀏覽器。5.代碼編輯器代碼編輯器是程序代碼輸入和編輯的工具,盡管可視化編程技術自動生成了一些代碼,但是用戶仍然有很多代碼需要手工完成,因此代碼編寫仍然是程序設計的核心工作。Delphi的代碼編輯器是一個功能強大、使用方便的代碼編寫工具。(1)代碼編輯器的組成代碼編輯器是一個多頁的文本編輯器。有時候應用程序由幾個窗體構成,此時單元就不止一個。通過選項卡可以選擇不同的頁面,每個頁面就是一個單元文件。代碼編輯器的標題顯示單元文件名。如圖1-5所示為代碼編輯器。代碼模板功能:代碼模板用于提供語句模板以幫助代碼編寫。例如用戶輸入“for”,然后按“Ctrl-—J”,系統(tǒng)自動顯示for循環(huán)語句的語法供用戶參考防止代碼出錯。如圖1-8所示為代碼模板功能。左圖列表框給出for語句的兩種格式,第一種是帶begin和end的格式,第二種是不帶begin和end的格式,右圖是選擇第一種for循環(huán)格式,并按回車鍵后顯示的for語句格式。圖1-8代碼模板功能6.組件欄組件欄是建立Delphi應用程序的要素,Delphi2005提供了豐富的組件庫,并將這些組件按照功能分類并顯示在不同的選項卡中。常見的選項卡如圖1-10所示。單擊每個組件選項卡左邊的“+”號就可以展開該組件選項卡,并顯示該組件選項卡中的所有組件供用戶選用。如圖1-11為展開后的Standard組件選項卡。使用組件欄右上角的兩個圖標可以在多個組件中進行切換。【例1-1】編制一個簡單的Win32應用程序。通過本程序讀者可以初步了解Delphi集成環(huán)境的使用方法。說明:本程序保存在“d:\delphi2005\ch1\eg1-1”文件夾中,以后的程序也保存在相應的文件夾中。請讀者在編寫Delphi程序的時候養(yǎng)成新建文件夾的習慣,本書中,編寫程序前新建文件夾這一步驟一律省略。步驟如下:

(1)選擇菜單“File”->“New”->“VCLFormsApplication-DelphiforWin32”。在窗體上添加按鈕Button1和標簽Label1,調節(jié)好窗體Form1、Button1和Label1的大小和位置。

(2)設置Button1的Caption屬性為“確定”。界面如圖1-12所示。(3)編寫代碼,選中Button1,此時在Events中顯示的是Button1對象,在對象查看器中選中Events頁,并找到OnClick事件,用鼠標雙擊右邊空白欄,如圖1-13所示。此時打開代碼編輯器,系統(tǒng)自動在窗體Form1的單元Unit1的Interface(接口)部分插入該過程的聲明,同時在Implementation(實現(xiàn))部分插入該過程的框架。如圖1-13所示。圖1-13在代碼編輯器中輸入事件過程(4)在事件過程框架中也就是在Begin和End之間(光標所在處)輸入代碼:procedureTForm1.Button1Click(Sender:TObject);beginlabel1.Caption:='聰明的程序員使用Delphi!';//本行為輸入的代碼end;1.2.2Delphi應用程序所包含的文件我們以【例1-1】為例來看看Delphi中的一些主要文件。由于上次編寫【例1-1】程序保存文件時,系統(tǒng)只會自動保存項目文件和單元文件,而其它一些文件是在編譯、運行、生成exe文件過程中形成的。先打開【例1-1】中的項目文件和單元文件,并編譯該項目和生成project1.exe文件。此時系統(tǒng)形成如下幾個文件:Project1.bdsproj、project1.cfg、project1.dof、project1.dpr、project1.exe、project1.res、unit1.dcu、unit1.dfm和unit1.pas。如果讀者對這些文件不是特別熟悉,建議不要刪除其中任何文件,另外養(yǎng)成每個應用程序占用一個文件夾的習慣。這樣應用程序的文件就不會張冠李戴了。1.單元文件單元是擴展名為pas的源程序代碼,單元中可以定義或者聲明常量、變量、函數、過程、對象、組件等等。設計單元的好處是,單元可供其它應用程序共享。單元還可以獨立編譯為擴展名為dcu的文件,編譯后的dcu文件可以連接到可執(zhí)行文件中。單元文件不能夠獨立運行。單元文件分為如下幾種。(1)與窗體相關的單元文件,這種單元文件與窗體一一對應。(2)用于存儲公用函數、過程、常量、變量的單元文件,例如math。(3)組件文件,該單元提供組件開發(fā)接口。單元文件是有一定結構的,一般一個單元文件由名稱、接口、實現(xiàn)和初始化4個部分組成,各個部分說明如下:unit子句:標識單元名,單元名與單元文件的文件名相匹配。interface接口部分:說明本單元哪些部分可以供其它單元或者程序訪問,在此聲明的函數、過程、類型、常量、變量可供其它單元或者程序共享。接口部分只有聲明,不能有定義,定義在實現(xiàn)部分完成。implementation實現(xiàn)部分:接口部分聲明的函數、過程、類型、常量、變量等的具體實現(xiàn)在此完成,實現(xiàn)部分也可以說明函數、過程、類型、常量、變量等,但是它們僅供本單元使用。initialization初始化部分:可選部分,用于初始化程序所需數據。請看【例1-1】中的單元文件project1.pas。說明:在接口部分的uses短語后有一些單元名稱,例如Windows,Messages,SysUtils等等,這些單元是系統(tǒng)的標準單元或者是其它程序的單元,本單元要使用它們,因此需要在接口部分的uses短語后指明這些單元。2.窗體描述文件每個窗體都包含一個擴展名為dfm的窗體描述文件,該窗體描述文件用于描述窗體及窗體內組件的屬性。鼠標右鍵單擊窗體選擇“ViewasText”菜單可以顯示窗體描述文件。請看【例1-1】中的窗體描述文件Unit1.dfm。objectForm1:TForm1Left=192Top=107Width=205Height=104Caption='Form1'Color=clBtnFaceFont.Charset=DEFAULT_CHARSETFont.Color=clWindowTextFont.Height=-11Font.Name='MSSansSerif'Font.Style=[]OldCreateOrder=FalsePixelsPerInch=96TextHeight=13

objectLabel1:TLabelLeft=16Top=8Width=153Height=25AutoSize=FalseCaption='Label1'

endobjectButton1:TButtonLeft=120Top=48Width=65Height=25Caption='確定'TabOrder=0OnClick=Button1Click

endend細心的讀者一定可以從窗體文件中看到窗體及窗體內組件的一些屬性。窗體描述文件就是在設計應用程序界面時系統(tǒng)自動生成的一些代碼。鼠標右鍵單擊窗體描述文件選擇“Viewasform”可以重新以界面的形式顯示窗體。3.項目文件項目文件的擴展名為dpr。項目文件是應用程序的宏觀框架,它管理著應用程序的多個單元。以【例1-1】為例,請看項目文件project1.dpr。選擇菜單“View|Units…”出現(xiàn)ViewUnit對話框,在對話框中選擇項目文件“project1”按“OK”按鈕。ViewUnit對話框如圖1-15所示。project1.dpr文件如下:programProject1;usesForms,Unit1in'Unit1.pas'{Form1};{$R*.res}beginApplication.Initialize;Application.CreateForm(TForm1,Form1);Application.Run;end.1.2.3組件的畫法為了創(chuàng)建Delphi應用程序需要在窗體上添加各種組件,并且調整這些組件的位置和大小。在窗體上畫組件包括:組件的添加、改變組件的大小、組件的復制和刪除、組件的對齊等等。1.添加組件將組件添加到窗體上,有如下幾種方法:單擊所需組件,然后在窗體適當位置上拖動鼠標畫出組件,即可完成組件的添加。雙擊所需組件,即可添加該組件到窗體的中心位置,然后用鼠標調整該組件的大小和位置

溫馨提示

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

評論

0/150

提交評論