




已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫應(yīng)用技術(shù)-Delphi應(yīng)用系統(tǒng)開發(fā),第2章 Delphi概述與編程基礎(chǔ),本章學(xué)習(xí)要點(diǎn),學(xué)習(xí)Delphi的開發(fā)環(huán)境 學(xué)習(xí)Delphi程序的組成 掌握Delphi基本概念和術(shù)語 掌握Delphi可視化編程的基本步驟 學(xué)習(xí)創(chuàng)建簡單的數(shù)據(jù)庫應(yīng)用程序,Delphi是著名的INPRISE(Borland)公司開發(fā)的可視化軟件工具,它被稱為第4代編程語言,具有簡單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡單、更易于掌握,而在功能上卻毫不遜色;和VB相比,Delphi則功能強(qiáng)大、更實(shí)用??梢哉fDelphi同時(shí)兼?zhèn)淞薞C功能強(qiáng)大和VB簡單易學(xué)的特點(diǎn),它一直是程序員至愛的編程工具。 Delphi具有以下的特性:基于窗體和面向?qū)ο蟮姆椒?,高速的編譯器,強(qiáng)大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是Object Pascal語言,它才是一切的根本。Object Pascal語言是在Pascal語言的基礎(chǔ)上發(fā)展起來的,簡單易學(xué)。Delphi的版本更新中不斷添加和改進(jìn)各種特性,功能也越來越強(qiáng)大。, 2.1 Delphi可視化的集成開發(fā)環(huán)境,Delphi是可以運(yùn)行在多種操作系統(tǒng)環(huán)境中的軟件開發(fā)工具。Delphi提供了一套可視化開發(fā)工具,通過這些工具,可以很容易地創(chuàng)建程序中的可視化部分,并及時(shí)地觀察界面設(shè)計(jì)過程中的任何變化,從而快速地設(shè)計(jì)出符合要求和使用戶滿意的應(yīng)用程序。Delphi的IDE(Integrated Development Environment,集成開發(fā)環(huán)境)是進(jìn)行設(shè)計(jì)、運(yùn)行和測試等可視化編程的理想環(huán)境。, 2.1.1 Delphi啟動(dòng)和退出,標(biāo)題為“Delphi7-Project1”的Delphi主窗口。Delphi的主窗口位于屏幕的上端,包括主菜單、工具欄和組件板。 標(biāo)題為“Form1”窗體設(shè)計(jì)器。 對象觀察器(Object Inspector)。 對象列表(Object Treeview)。 標(biāo)題為“Unit1.pas”的代碼編輯器,剛啟動(dòng)時(shí)這一窗口的大部分被窗體設(shè)計(jì)器所掩蓋。,在Windows環(huán)境下,從“開始”菜單選擇“Borland Delphi7”“Delphi7”,以啟動(dòng)Delphi。首次加載Delphi7,屏幕上會(huì)出現(xiàn)如圖2-1所示的5個(gè)窗口。,按【F12】鍵或單擊工具欄上的“ ”快捷圖標(biāo),可以在窗體設(shè)計(jì)器與代碼窗口之間進(jìn)行切換。 在Delphi主窗口中,單擊右上角的“ ”關(guān)閉按鈕或者從“File”菜單選擇“Quit”,則可以退出Delphi的集成開發(fā)環(huán)境。,圖2-1 Delphi7的集成開發(fā)環(huán)境, 2.1.2 主菜單,Delphi7的主菜單包括File、Edit、Search、View、Project、Run、Component、Database、Tools、Windows和Help等11個(gè)下拉菜單,其中包括了Delphi7編程的所有命令與功能。單擊菜單欄中的菜單名,即可打開下拉菜單。在下拉菜單中顯示了各種功能選項(xiàng),包含執(zhí)行該功能的熱鍵和快捷鍵。下表給出主菜單的功能簡介。, 2.1.3 Delphi7的工具欄,Delphi7在缺省的IDE中配置了5個(gè)工具條:Standard、View、Debug、Help和Desktop。工具條中的按鈕是菜單功能的快捷方式,各種圖標(biāo)直觀地表示了它能執(zhí)行的動(dòng)作。下表給出了5個(gè)工具條中工具按鈕的名稱與功能簡介。, 2.1.4 Delphi7的組件板,包含350多個(gè)控件的組件板是Delphi7可視化編程的核心部件。它由34個(gè)選項(xiàng)卡組成,每張選項(xiàng)卡中包含若干圖形按鈕,這些圖形按鈕都代表相應(yīng)的控件(組件)。編程時(shí)可以方便地選擇需要的控件并將它放到窗體中去。 1 組件板的組成 Delphi7的組件板如圖2-2所示。,圖2-2 Delphi7的集成開發(fā)環(huán)境,組件板是一個(gè)選項(xiàng)卡風(fēng)格的工具欄,各種組件按功能組織在不同的選項(xiàng)卡中。 選項(xiàng)卡標(biāo)簽反映其功能的分類,如Standard卡中包含的是標(biāo)準(zhǔn)的常用組件、Dialogs卡中包含了常用的對話框組件等。 組件板左端的抓柄用來拖動(dòng)組件板,以便可根據(jù)用戶需要來定制組件板在IDE中的位置。 單擊導(dǎo)航按鈕可以左右滾動(dòng)組件板中的選項(xiàng)卡標(biāo)簽,以便找到所需要的選項(xiàng)卡。 在每張選項(xiàng)卡中都有一個(gè)“對象選擇按鈕”,當(dāng)在組件板上選擇了組件后,對象選擇按鈕將彈起,此時(shí)單擊它將取消所選擇的控件。 2組件板中控件的使用 將組件板上控件添加到窗體中去的方法有如下3種:,單擊組件板上所需控件的按鈕,然后在窗體適當(dāng)位置拖動(dòng)鼠標(biāo)畫出控件,即可將控件添加到窗體的指定位置。 雙擊組件板上所需控件的按鈕,即可將控件添加到窗體的中心位置。 按下【Shift】鍵不放,單擊組件板上所需控件的按鈕,所選控件出現(xiàn)藍(lán)色邊框,同時(shí)對象選擇按鈕將彈起??梢栽诖绑w適當(dāng)位置拖動(dòng)鼠標(biāo)連續(xù)畫出該類控件。系統(tǒng)將按照添加的的順序?yàn)槊總€(gè)控件確定缺省名稱。用鼠標(biāo)單擊對象選擇按鈕,即可取消該類控件的連續(xù)添加操作。,組件板中的控件分為可視控件與非可視控件兩種。在設(shè)計(jì)時(shí)可以通過設(shè)置可視控件的屬性來改變其外觀,如Button、Label、Edit等都是可視控件。非可視控件則在設(shè)計(jì)時(shí)見不到它的外觀,只在窗體上用一個(gè)圖標(biāo)表示添加了這種控件,如SaveDialog、OpenDialog、Timer等都屬于非可視控件。雖然在設(shè)計(jì)時(shí)不能見到非可視控件的外觀,但是仍然可以通過對象觀察器來設(shè)置其屬性。, 2.1.5 窗體設(shè)計(jì)器,在Delphi中,窗體設(shè)計(jì)器是開展大部分設(shè)計(jì)的工作區(qū)域,設(shè)計(jì)用戶界面直接在窗體設(shè)計(jì)器中進(jìn)行,運(yùn)行結(jié)果和設(shè)計(jì)樣板完全一致。當(dāng)部件被放到窗體上時(shí),Delphi會(huì)自動(dòng)生成大部分的用戶界面代碼,所需做的只是在它生成的框架中加入完成所需功能的程序段而已。 首次啟動(dòng)Delphi7時(shí)顯示的是窗體Form1。有兩種方法可以調(diào)整窗體的大小:,將鼠標(biāo)指向窗體的邊界處,光標(biāo)變成雙向的箭頭,按下鼠標(biāo)左鍵,并拖動(dòng)鼠標(biāo)即可改變窗體的寬度或高度。 在對象觀察器上的屬性選項(xiàng)卡中修改窗體的高度(Height)屬性和寬度(Width)屬性,也可改變窗體的大小。,可以把各種控件放在窗體中,通過移動(dòng)位置、改變尺寸等操作隨心所欲地安排它們,以此來開發(fā)應(yīng)用程序的用戶界面如圖2-3所示。可以把窗體想象成一個(gè)可以放置其它控件的容器。窗體上有柵格(Grids),供放置部件時(shí)對齊位置用,在程序運(yùn)行時(shí)Grids是不可見的。,圖2-3 Delphi7的窗體設(shè)計(jì)器 一個(gè)真正的應(yīng)用程序可能有時(shí)不止一個(gè)窗口,可以選用不同的窗體進(jìn)行設(shè)計(jì)。其他窗體可以是對話框(Dialog Box)、數(shù)據(jù)錄入框等。, 2.1.6 對象查看器,對象查看器包括對象觀察器(Object Inspector)和對象列表(Object Treeview),對象觀察器是進(jìn)行可視化編程時(shí)使用最為頻繁的工具之一。設(shè)置窗體和控件的屬性、切換設(shè)計(jì)對象以及為窗體、控件選擇或添加事件處理過程等操作都在其中進(jìn)行。 1 對象觀察器的組成 對象觀察器由“對象”列表框、“Properties”(屬性)選項(xiàng)卡和“Events”(事件)選項(xiàng)卡組成,如圖2-4所示。,圖2-4 Delphi7的對象觀察器,“對象”列表框:位于對象查看器上部的下拉列表框,其中顯示了窗體上所有對象的名稱和類型,包含窗體本身。 “對象”列表框:位于對象查看器上部的下拉列表框,其中顯示了窗體上所有對象的名稱和類型,包含窗體本身。 “Properties”(屬性)選項(xiàng)卡:顯示窗體中當(dāng)前被選擇對象的屬性信息,并允許改變對象的屬性。其中左邊一欄是屬性名,右邊一欄是屬性值。在設(shè)計(jì)時(shí),對窗體及其中控件的屬性設(shè)置主要在此進(jìn)行。 首次啟動(dòng)時(shí),對象觀察器窗口顯示的是當(dāng)前窗體Form1的屬性。對象觀察器根據(jù)對象屬性的多少,決定是否有滾動(dòng)顯示。移動(dòng)滾動(dòng)條,可以查看當(dāng)前對象的全部屬性。 “Events”(事件)選項(xiàng)卡:列出當(dāng)前對象可以響應(yīng)的事件信息。其中左邊一欄是事件名,右邊一欄是響應(yīng)事件的事件過程名,如果事件過程名是空白,說明還未定義相應(yīng)的事件過程。,屬性為數(shù)值或字符串類型:只需在屬性值一欄中直接輸入數(shù)值或字符串,輸入字符串時(shí)不必帶引號。 屬性值為布爾類型:該類型的屬性的取值只有兩種:True與False。選擇該屬性,右邊屬性值一欄出現(xiàn)下拉列表框。單擊下箭頭,在列表中選擇一項(xiàng)即可。用鼠標(biāo)雙擊屬性值欄,可以在兩個(gè)值之間切換。 屬性值為枚舉類型:該類型的屬性值有若干種,Delphi為該類屬性提供了一個(gè)下拉列表框,設(shè)置屬性時(shí),只需在下拉列表框中選擇一個(gè)列表項(xiàng)。布爾類型可以看作是枚舉類型的特例,它們的設(shè)置方法是類似的。,2 屬性選項(xiàng)卡的使用 在建立新對象(窗體或控件)之初,屬性選項(xiàng)卡的屬性值一欄給出屬性的缺省值。根據(jù)屬性類型的不同,采用不同的方法為屬性賦值。,屬性值為集合類型:該類屬性的取值為集合,集合類型的取值用方括號 表示,方括號中列出集合中的元素,每個(gè)元素之間用逗號隔開。屬性名前面一般都有一個(gè)“+”號,單擊“+”號(“+”號變“”號),屬性名下列出所有可能的元素名,通過屬性值欄可以逐個(gè)選擇集合中的元素,來構(gòu)造一個(gè)屬性值(集合)。 屬性值為對象類型:該類屬性的取值為對象,一個(gè)對象一般都有自己的屬性、事件和方法。因此屬性名前面也有一個(gè)“+”號,右邊一欄提示為對象類型(Form),并有一個(gè)“”按鈕。單擊“+”號(“+”號變“”號),屬性名下列出所有子屬性名,按照前面介紹的方法分別對這些子屬性設(shè)置屬性值即可。 為了方便設(shè)置對象類型的屬性,Delphi為許多控件的該類屬性提供了對話框,如Font屬性、Items屬性、Picture屬性、Glyph屬性等。單擊屬性值欄的“”按鈕,即可打開該屬性設(shè)置對話框。,在窗體中選中按鈕Button1,或在對象列表框中選擇按鈕Button1。 在事件選項(xiàng)卡中選擇OnClick事件,用鼠標(biāo)雙擊右邊一欄,為Button1添加OnClick事件過程。 Delphi自動(dòng)打開代碼編輯器窗口,在窗體Form1的單元文件Unit1的Interface(接口)部分插入該事件過程的聲明:,3 事件選項(xiàng)卡的使用 事件選項(xiàng)卡的事件欄中列出了當(dāng)前對象(窗體或控件)的所有預(yù)置的事件,如OnActivate、OnClick、OnKeyPress等。在進(jìn)行編程時(shí),要從這些預(yù)置的事件中選擇一個(gè)或多個(gè)事件,添加到窗體對應(yīng)的單元中,并給這些事件的處理過程添加處理代碼。下面是為按鈕對象Button1編寫OnClick事件過程的步驟:,Procedure Button1Click(Sender:TObject); 同時(shí)在Implementation(實(shí)現(xiàn))部分插入該事件過程的代碼框架: Procedure TForm1.Button1Click(Sender:TObject); begin end; 以上均是系統(tǒng)自動(dòng)生成的,這時(shí)光標(biāo)停留在過程體的首行處(begin與end之間),程序設(shè)計(jì)者只需鍵入過程代碼即可。 l 在begin 和end之間鍵入過程代碼,如: showmessage(歡迎使用Delphi7!); 為按鈕控件Button1編寫OnClick事件過程的工作完成。,按【F9】鍵運(yùn)行程序,在出現(xiàn)的程序界面中單擊Button1按鈕,將出現(xiàn)圖2-5所示的信息框。,圖2-5 事件過程執(zhí)行結(jié)果,圖2-6 對象TreeView,對象列表(Object TreeView)是Delphi7新增的工具,位于對象觀察器的上部。對象TreeView以樹狀表的形式顯示窗體中可視化或非可視化控件之間的邏輯關(guān)系。 對象TreeView與對象觀察器、窗體設(shè)計(jì)器同步,即在此三個(gè)工具的任何一個(gè)中改變焦點(diǎn)時(shí),另外兩個(gè)工具中的焦點(diǎn)也會(huì)隨之改變。 如果對象TreeView被關(guān)閉,則按【Alt】+【Shift】+【F11】組合鍵或在“View”菜單中選擇“Object TreeView”選項(xiàng),可以打開對象TreeView,如圖2-6所示。, 2.1.7 代碼編輯器,代碼編輯器是程序代碼的輸入和編輯工具,盡管可視化編程技術(shù)的運(yùn)用大大減輕了程序員編寫代碼的工作量,但并不能完全取代原始的代碼編寫工作。代碼的編寫仍然是整個(gè)程序設(shè)計(jì)的核心,一個(gè)程序的好壞將部分地取決于代碼的編寫。 代碼編輯器是Delphi提供的一個(gè)功能強(qiáng)大、使用方便的代碼編寫工具,它能提示和幫助程序員完成代碼的編寫。 1代碼編輯器的組成 代碼編輯器是一種高性能的監(jiān)視器,如圖2-7所示。它具有彩色語法高亮顯示功能(這有助于更快的查找語法錯(cuò)誤),是Brief樣式的編輯器命令(Brief是程序員的編輯器),并具有恢復(fù)刪除的能力。,圖2-7 代碼編輯器窗口,代碼編輯器是一個(gè)選項(xiàng)卡風(fēng)格的文本編輯器。通過選項(xiàng)卡標(biāo)簽可以選擇要編輯的文件,當(dāng)程序中含有不止一個(gè)窗口時(shí),會(huì)有幾個(gè)單元的源程序出現(xiàn)在代碼編輯器中。 代碼編輯器窗口的標(biāo)題欄顯示當(dāng)前正被瀏覽的文件的文件名。要查看某一特定程序的源代碼,只需用鼠標(biāo)單擊寫有該單元文件名的標(biāo)簽,就可以對該單元文件進(jìn)行編輯了。 當(dāng)單元文件較多的時(shí)候,選項(xiàng)卡右上方的導(dǎo)航按鈕可以左右滾動(dòng)選項(xiàng)卡標(biāo)簽,以便找到所需要的單元文件。 代碼窗口一開始處于窗體設(shè)計(jì)器之下,按【F12】鍵可以在代碼窗口與窗體設(shè)計(jì)器之間切換。在“對象觀察器”的事件選項(xiàng)卡中雙擊事件名右邊的事件過程欄,可以打開“代碼編輯器”,閃爍的光標(biāo)將定位于事件過程中。如果是首次進(jìn)入該事件過程,Delphi會(huì)自動(dòng)生成大部分的過程框架。,2Delphi7的代碼洞察 Delphi7的代碼洞察(Code Insight)技術(shù)包括如下的代碼信息顯示工具。,代碼完善(Code Completion) 在編寫代碼時(shí),只要輸入已創(chuàng)建對象的名稱和句點(diǎn)“.”,稍作停頓,系統(tǒng)將自動(dòng)彈出一個(gè)提示列表框,列出該對象的所有屬性和方法,如圖2-8所示。選擇所需的屬性或方法,代碼編輯器會(huì)自動(dòng)將其插入代碼行中。,參數(shù)提示(Code Parameters),在編寫代碼時(shí),只要輸入已創(chuàng)建對象的方法(內(nèi)部過程或函數(shù))名或已經(jīng)聲明的子程序(過程或函數(shù))名并輸入一個(gè)左括號,稍作停頓,系統(tǒng)將自動(dòng)彈出一個(gè)參數(shù)提示框,提示各參數(shù)的類型。,代碼模板(Code Templates) 用于提供語句模板以幫助代碼的編寫。例如,輸入“Case”,按組合鍵+,系統(tǒng)自動(dòng)彈出有關(guān)“Case”的代碼模板供程序員選用,如圖2-10左所示。選中一種模板即可添加到代碼中,既節(jié)省了代碼輸入的時(shí)間,又避免了輸入時(shí)的語法錯(cuò)誤,如圖2-10右所示。,圖2-10 Delphi7的代碼模板,符號洞察(Tooltip Symbol Insight) 在編寫代碼時(shí),將鼠標(biāo)置于一個(gè)標(biāo)識符(類型名、變量名、函數(shù)名、過程名)上,稍作停頓,系統(tǒng)將自動(dòng)彈出一個(gè)黃色提示框。提示框中顯示該標(biāo)識符的類型(變量以var表示,函數(shù)以func表示)、所屬的單元名、聲明的位置(行號)等信息,如圖2-11所示。,圖2-11 Delphi7的符號洞察, 2.2 Delphi基本概念和術(shù)語,對象(Object)在現(xiàn)實(shí)生活中是很常見的,如:一個(gè)人是一個(gè)對象,一部汽車是一個(gè)對象。如果將一部汽車拆開來看便有“發(fā)動(dòng)機(jī)、方向盤、轉(zhuǎn)向軸、車輪”每一個(gè)又是一個(gè)對象,即汽車對象是由多個(gè)“子”對象組成的。在可視化編程中,常見的對象有:窗體、編輯框、列表框等。 在可視化編程中,Delphi的窗體與控件都是程序被操作的對象,這些對象都有其自己的屬性和方法。, 2.2.1 對象的屬性,屬性(Property)是對象的一項(xiàng)描述內(nèi)容,用以描述對象的一個(gè)特性,不同的對象有不同的屬性,而每個(gè)對象都由若干屬性來描述。在可視化編程中,常見的屬性有標(biāo)題(Caption)、名稱(Name)、字體(Font)、是否可見(Visible)等。通過修改或設(shè)置某些屬性便能有效地控制對象的外觀和操作。 屬性值的設(shè)置或修改可以通過對象觀察器(Object Inspector)中的屬性窗口來進(jìn)行,也可以通過編程的方法在程序運(yùn)行的時(shí)候來改變對象的屬性。在程序中設(shè)置屬性的一般格式為: 對象名.屬性名:=屬性值;, 2.2.2 對象的事件,所謂事件(Event),是由Delphi預(yù)先定義好的、能夠被對象識別的動(dòng)作,如單擊(OnClick)事件、雙擊(OnDblClick)事件、移動(dòng)鼠標(biāo)(OnMouseMove)事件等,不同的對象能識別的事件也不相同。 對象的事件是固定的,用戶不能建立新的事件。為此,Delphi提供了豐富的內(nèi)部事件,這些事件足以應(yīng)付Windows中的絕大部分操作需要。 事件過程(Event Procudure)是程序員為處理特定事件而編寫的一段程序。當(dāng)事件由用戶觸發(fā)(如OnClick)或由系統(tǒng)觸發(fā)(如OnActivate)時(shí),對象就會(huì)對該事件作出響應(yīng)(Respond)。, 2.2.3 對象的方法,方法(Method)是與對象相關(guān)的過程與函數(shù)的統(tǒng)稱,即在對象中說明的并且用戶可以調(diào)用的公共函數(shù)的過程,由Delphi系統(tǒng)內(nèi)部定義,而不用編寫代碼。方法用于完成某種特定的功能而不能響應(yīng)某一事件,如對象移動(dòng)(Move)、畫線(Line)、顯示(Show)等。每個(gè)方法可以完成某個(gè)功能,但其實(shí)現(xiàn)步驟和細(xì)節(jié)用戶既看不到也不能修改,用戶能做的工作就是按照約定直接使用(調(diào)用)它們。 方法也被“封裝”在對象之中,不同的對象具有不同的內(nèi)部方法。Delphi提供了大量的方法供不同的對象調(diào)用。選中對象,按F1鍵激活幫助,選擇Methods,就能看到可以調(diào)用的方法列表。, 2.3 Delphi可視化編程,“可視化編程”與傳統(tǒng)的編程方法不同,不再需要編寫大量代碼去描述界面元素的外觀與位置,而是采用面向?qū)ο?、事件?qū)動(dòng)的方法,利用Delphi所提供的可視“組件”,在系統(tǒng)提供的程序框架中加入完成功能的代碼,其余的都交給Delphi去做。因此,Delphi可視化編程的一般步驟為: 設(shè)計(jì)界面:利用組件在窗體上創(chuàng)建各種對象。 設(shè)置屬性:設(shè)置窗體和組件等對象的屬性。 編寫代碼:在Delphi所提供的程序框架中加入完成功能的代碼。 當(dāng)然,也可以在創(chuàng)建對象的同時(shí),一邊設(shè)置對象的屬性,一邊編寫事件的過程代碼。, 2.3.1 創(chuàng)建工程,在Delphi中開發(fā)的每個(gè)應(yīng)用程序都被稱為工程,Delphi編程首先從建立一個(gè)工程開始。新建一個(gè)工程有如下兩種方法。 啟動(dòng)Delphi后,系統(tǒng)將自動(dòng)生成一個(gè)缺省的工程Project1。 在“File”菜單中選擇“New Application”選項(xiàng),系統(tǒng)將創(chuàng)建一個(gè)新的 工程。新工程的名稱依次為Project2、Project3 。 新創(chuàng)建的工程中包含一個(gè)缺省的主窗體Form1和相應(yīng)的單元Unit1。根據(jù)工程設(shè)計(jì)的需要,還可以添加多個(gè)窗體,單擊View工具條中的“New Form”按鈕,或者在“File”菜單中選擇“New Form”選項(xiàng),都可以在當(dāng)前的工程中添加一個(gè)新窗體。添加的窗體名稱依次為Form2、Form3 。, 2.3.2 界面設(shè)計(jì),設(shè)計(jì)工程直接面對的是窗體,因此主要工作就是在“窗體設(shè)計(jì)器”中完成窗體的設(shè)計(jì)。在窗體中可以添加各種對象,進(jìn)行窗體的界面設(shè)計(jì)。向窗體中添加對象的方法為: 單擊組件板中的組件圖標(biāo)。 在窗體的適當(dāng)位置按下鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo),即可畫出相應(yīng)的對象。 如圖2-12所示,在窗體Form1上繪出了程序所需的對象,依次分別為標(biāo)簽Label1和Button1、 Button2,同類型的對象序號依次自動(dòng)增加。,圖2-12 增加一個(gè)標(biāo)簽和兩個(gè)按鈕, 2.3.3 設(shè)置屬性,對象屬性的設(shè)置是在對象觀察器中屬性選項(xiàng)卡中進(jìn)行的,其操作方法如下:,首先設(shè)置窗體 Form1的屬性。 單擊窗體的空白 區(qū)域(不要單擊任何控件),確認(rèn)選中的是窗體,可從“對象”下拉列表框中查看。,圖2-13 設(shè)置窗體Form1的屬性,在屬性名一欄中找到標(biāo)題屬性Caption,將其值改為“第一個(gè)例子”,如圖2-13所示。 當(dāng)然,窗體的其他屬性也可根據(jù)程序的需要進(jìn)行設(shè)置。如窗體的名稱屬性Name、運(yùn)行時(shí)窗體的背景顏色、邊框風(fēng)格、窗體的大小以及最大、最小化的狀態(tài)等。 設(shè)置其他對象的屬性。單擊窗體上的對象,確認(rèn)選中該對象,然后根據(jù)需要逐一設(shè)置對象的各屬性。 選中標(biāo)簽“Labell”,標(biāo)簽的四周出現(xiàn)8個(gè)黑色小方塊(表示選中)。修改其標(biāo)題(Caption)屬性為:歡迎使用Delphi7!;用鼠標(biāo)單擊顏色(Color)屬性右邊的箭頭按鈕,從彈出的調(diào)色板窗口中選擇“黃色(clYellow)”(如圖2-14左);用鼠標(biāo)單擊字體(Font)屬性右邊的“”按鈕,從彈出字體對話框中設(shè)置相應(yīng)的字體、字體樣式和字體大小等(如圖2-14右)。,圖2-14 調(diào)色板與字體對話框,將兩個(gè)按鈕的標(biāo)題分別設(shè)置為“時(shí)間”和“關(guān)閉”。所有對象的屬性設(shè)置參見表2-3。,表2-3 屬性設(shè)置,屬性設(shè)置后的窗體如圖2-15所示。,圖2-15 屬性設(shè)置后的窗體, 2.3.4 編寫代碼及其運(yùn)行,Delphi自動(dòng)生成該事件過程的代碼框架,同時(shí)打開代碼編輯器窗口,將光標(biāo)定位在代碼框架中過程體的首行處,等待輸入過程代碼(圖2-16左)。,圖2-16 輸入事件過程代碼,在begin 和end之間鍵入過程代碼: procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption:當(dāng)前時(shí)間是+chr(13)+format(%s,timetostr(Time); end; 如圖2-16右所示,其中粗體部分是系統(tǒng)自動(dòng)生成的框架,不必重復(fù)輸入。用同樣的方法,輸入按鈕Button2的單擊(OnClick)事件過程代碼如下: procedure TForm1.Button2Click(Sender: TObject); begin close; end;,設(shè)計(jì)好的應(yīng)用程序在運(yùn)行之前最好先保存起來,即以文件的方式保存到磁盤上,以免因意外而丟失。可以單擊菜單“File”“Save All”或者單擊“Standard”工具條上的“Save All”按鈕保存文件。為上面的工程建立一個(gè)文件夾“例1”,并將單元文件以“Main.pas”為名保存,工程文件以“Myproj.dpr” 為名保存。 單擊“Debug”工具條上的“Run”按鈕或按【F9】鍵,系統(tǒng)將開始編譯、連接、運(yùn)行該工程。若發(fā)現(xiàn)錯(cuò)誤,編譯器將返回代碼編輯器,并給出提示;如無錯(cuò)誤,系統(tǒng)將生成可執(zhí)行文件Myproj.exe,并執(zhí)行它。程序執(zhí)行的結(jié)果如圖2-17左圖所示。用鼠標(biāo)單擊“時(shí)間”按鈕,窗體顯示如圖2-17右。,單擊窗體上的“關(guān)閉”按鈕可關(guān)閉該窗口結(jié)束運(yùn)行,返回“窗體設(shè)計(jì)器”窗口。,圖2-17 運(yùn)行工程, 2.3.5 創(chuàng)建簡單的數(shù)據(jù)庫應(yīng)用程序,Delphi7中嵌入的數(shù)據(jù)庫窗體向?qū)В―atabase Form Wizard)具有強(qiáng)大的功能,不需要編寫任何程序代碼便可以快速地創(chuàng)建一個(gè)簡單的數(shù)據(jù)庫應(yīng)用程序,甚至還能創(chuàng)建基于多個(gè)數(shù)據(jù)庫表的復(fù)雜的數(shù)據(jù)庫應(yīng)用程序。 1 使用Form Wizard創(chuàng)建單個(gè)數(shù)據(jù)表格的應(yīng)用程序 Form Wizard是Delphi7自帶的自動(dòng)生成數(shù)據(jù)庫維護(hù)窗體的工具,下面就介紹一下如何利用Form Wizard創(chuàng)建單個(gè)數(shù)據(jù)表格的應(yīng)用程序。,(1) 啟動(dòng)Database Form Wizard程序 首先選擇菜單“File/New/Other”選項(xiàng),屏幕上將彈出如圖2-18所示的“New Items”對話框。在“New Items”對話框中選擇“Bussiness”選項(xiàng)卡,選擇該選項(xiàng)中的“Database Form Wizard”選項(xiàng),此時(shí)即可打開一個(gè)數(shù)據(jù)庫向?qū)?yīng)用程序界面,如圖2-19所示。單擊“OK”按鈕進(jìn)入下一步。 或者直接啟動(dòng)系統(tǒng)菜單“Database”下的“Form Wizard”子菜單也可進(jìn)入如圖2-19所示的對話框。,圖2-18 New Items對話框,圖2-19 選擇數(shù)據(jù)庫 類型對話框,(2) 選擇數(shù)據(jù)庫類型 在如圖2-19所示的對話框中,用戶可以選擇窗體的類型和數(shù)據(jù)控件類型。缺省項(xiàng)是創(chuàng)建一個(gè)簡單的窗體和在窗體中包含Table表,對應(yīng)第二項(xiàng)的是創(chuàng)建一個(gè)主明細(xì)窗體和在窗體中包含Query控件?,F(xiàn)在選擇Create a single form和Create a form using TTable objects。單擊“”進(jìn)入下一步。 (3) 選擇數(shù)據(jù)庫文件 在如圖2-20所示的對話框中,用戶可以選擇本地機(jī)上的有效數(shù)據(jù)庫文件,本例選擇的數(shù)據(jù)庫文件是“D:Program FilesCommon filesBorland SharedCustoly.db”,單擊“”進(jìn)入下一步,將彈出如圖2-21所示的對話框。,圖2-20 選擇數(shù)據(jù)庫文件,圖2-21 選擇顯示字段對話框,(4) 選擇顯示字段 在如圖2-21所示的對話框中,用戶可以選擇在程序運(yùn)行過程中想要顯示的字段,單擊“ ”按鈕可以向窗體中添加選中的字段,而單擊“ ”按鈕則可以添加該數(shù)據(jù)庫中的所有字段。同樣, 單擊“ ”和“ ”按鈕可刪除已經(jīng)添加的字段。 同時(shí),用戶還可以通過“ ”和“ ”按鈕來調(diào)整選中的字段在表中的顯示索引位置。單擊“ ” 進(jìn)入下一步。 (5) 選擇布局樣式 如圖2-22所示,在該窗口中可以選擇窗體中字段顯示的布局方式。選擇第一項(xiàng)“Horzontally”方式,字段將以水平方式顯示。若選擇“Vertically”,字段將以垂直方式排列;若選擇“In a Grid”,則將會(huì)選擇“Dbgrid”控件顯示字段。單擊“ ” 進(jìn)入下一步。,(6) 選擇窗體形式 用戶可以在如圖2-23所示的對話框中選擇窗體的形式。復(fù)選項(xiàng)“Generate a main form”用來決定在項(xiàng)目中是否假如一個(gè)主窗體。,用戶選擇“Form Only”項(xiàng),表示在項(xiàng)目中只包含一個(gè)窗體,所有的控件都放置在一個(gè)窗體中;如果選擇“Form and DataModle”選項(xiàng),那么控件將會(huì)放置在兩個(gè)窗體中。 完成上述工作之后,單擊“ ”按鈕,就完成了一個(gè)簡單的數(shù)據(jù)庫應(yīng)用程序。完成后的窗體如圖2-24所示。,圖2-24 完成后的窗體,在上面沒有完成整個(gè)過程時(shí),如果對其中的某一步驟的選擇不滿意,可以單擊“” 按鈕,逐步返回到該步驟重新選擇。 完成上面的過程后,便生成了一個(gè)簡單的數(shù)據(jù)庫應(yīng)用程序。 如果對生成的應(yīng)用程序不滿意,還可以在生成的應(yīng)用程序的基礎(chǔ)上對應(yīng)用程序進(jìn)行修改。例如可以在窗體中添加新的對象,還可以對生成時(shí)已有的對象的屬性進(jìn)行修改等。 2 使用Form Wizard創(chuàng)建一對多的應(yīng)用程序 使用Form Wizard不僅可以創(chuàng)建單個(gè)數(shù)據(jù)表格的應(yīng)用程序,而且可以創(chuàng)建一對多的應(yīng)用程序,創(chuàng)建一對多的應(yīng)用程序的步驟和創(chuàng)建單個(gè)數(shù)據(jù)表格的應(yīng)用程序基本相似。下面介紹一下如何創(chuàng)建一對多的應(yīng)用程序。 (1) 啟動(dòng)Database Form Wizard程序,在彈出的窗口中選擇創(chuàng)建一對多的應(yīng)用程序,如圖2-25所示。,圖2-25 選擇一對多的應(yīng)用程序,圖2-26 選擇主數(shù)據(jù)表格,(2) 選擇主數(shù)據(jù)表格 選擇完要?jiǎng)?chuàng)建的應(yīng)用程序的類型后,就可以選擇應(yīng)用程序的主數(shù)據(jù)表格,如圖2-26所示。選擇Customer.db為主數(shù)據(jù)表格。,圖2-27 選擇主數(shù)據(jù)表格的字段,圖2-28 選擇主數(shù)據(jù)表格的顯示格式,(3) 選擇主數(shù)據(jù)表格的字段 在選擇完主數(shù)據(jù)表格后,就要為它選擇需要的字段,如圖2-27所示。單擊“ ”按鈕,選擇所有的字段。 (4) 選擇主數(shù)據(jù)表格的顯示格式 選擇完主數(shù)據(jù)表格的字段后,就要選擇主數(shù)據(jù)表格的顯示格式,如圖2-28所示。為主數(shù)據(jù)表格選擇In a grid顯示方式。 (5)為主數(shù)據(jù)表格選擇一個(gè)從數(shù)據(jù)表格 在選擇完主數(shù)據(jù)表格的顯示方式后,單擊“ ”按鈕就會(huì)彈出如圖2-29所示的窗口來選擇從數(shù)據(jù)表格。選擇orders.db為從數(shù)據(jù)表格。,圖2-29選擇從數(shù)據(jù)表格的窗口 圖2-30 選擇從數(shù)據(jù)表格的字段,(6)選擇從數(shù)據(jù)表格的字段 在選擇完從數(shù)據(jù)表格后,單擊“ ”按鈕就會(huì)彈出如圖2-30所示的窗口來選擇從數(shù)據(jù)表格的字段。選擇所有的字段。,(7) 選擇從數(shù)據(jù)表格的顯示方式 選擇從數(shù)據(jù)表格后,單擊“ ”按鈕,就可以為從數(shù)據(jù)表格選擇顯示方式,如圖2-31所示。選擇從數(shù)據(jù)表格的顯示方式為In a grid。,圖2-31 選擇從數(shù)據(jù)表格的顯示方式 圖2-32 選擇鏈接字段,(8) 選擇主從數(shù)據(jù)表格的鏈接字段 主數(shù)據(jù)表格和從數(shù)據(jù)表格之間要由一個(gè)共有的字段鏈接起來,在選擇完從數(shù)據(jù)表格的顯示方式后,單擊“ ”按鈕,如圖2-32所示,就可以選擇主數(shù)據(jù)表格和從數(shù)據(jù)表格之間鏈接的字段。 在Avai
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司游艇團(tuán)建活動(dòng)方案
- 高等教育評估師資格考試的相關(guān)試題及答案
- 2025年虛擬現(xiàn)實(shí)技術(shù)工程師考試試卷及答案
- 2025年現(xiàn)代農(nóng)業(yè)技術(shù)推廣考試試卷及答案
- 2025年心理咨詢師職業(yè)資格考試試卷及答案
- 2025年食品安全管理體系考試試題及答案
- 2025年生物醫(yī)學(xué)工程技術(shù)考試卷及答案
- 2025年數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)考試題及答案
- 2025年名師課堂與教學(xué)改革實(shí)踐能力考核試題及答案
- 2025年護(hù)理心理學(xué)考試題及答案
- 智能制造變革者
- 《輪胎制造工藝簡介》課件
- 危險(xiǎn)廢物管理培訓(xùn)材料
- 加工中心操機(jī)編程培訓(xùn)
- 2024年玉溪市事業(yè)單位招考及易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- GB/T 44679-2024叉車禁用與報(bào)廢技術(shù)規(guī)范
- 江西省九江市2023-2024學(xué)年高二下學(xué)期7月期末考試物理試題(解析版)
- 肺結(jié)核防治知識講座課件
- 汽車維修行業(yè)的法規(guī)和政策
- 科學(xué)種植活動(dòng)促進(jìn)小學(xué)生實(shí)踐能力提升的探究
- 變電站-配電房掛軌巡檢機(jī)器人技術(shù)方案
評論
0/150
提交評論