版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Delphi 7 程序設(shè)計(jì)與實(shí)驗(yàn)指導(dǎo)第一章 Delphi概述Delphi被稱為是第四代編程語言,它采用基于窗體和面向?qū)ο蟮姆椒?,具有高速的編譯器,功能強(qiáng)大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,成熟的組件技術(shù)等特點(diǎn)。 Delphi是全新的可視化編程環(huán)境,為用戶提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具;除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具。Delphi適應(yīng)于多種數(shù)據(jù)庫結(jié)構(gòu),從客戶機(jī)/服務(wù)器模式到多層數(shù)據(jù)結(jié)構(gòu)模式,而且具有高效率的數(shù)據(jù)庫管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫引擎,同時(shí)采用最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。本章主要介紹Delphi 7的功能特點(diǎn)以及Delphi
2、 7的安裝和集成開發(fā)環(huán)境(IDE)。1.1 Delphi的發(fā)展Delphi是Windows系統(tǒng)下的可視化集成開發(fā)工具,提供了強(qiáng)大的可視化組件VCL(Visual Component Library)功能,為快速、高效地開發(fā)出Windows系統(tǒng)下的應(yīng)用程序提供了方便。Delphi從最初的Delphi 1.0、Delphi 2.0發(fā)展到了現(xiàn)在的Delphi 7.0。Delphi 7.0是Windows環(huán)境下進(jìn)行交叉平臺(tái)快速應(yīng)用開發(fā)的軟件,無論是企業(yè)級(jí)用戶,還是個(gè)人開發(fā)者,都能夠利用Delphi 7.0輕松、快捷地構(gòu)建各類應(yīng)用。1.2 Delphi 7的功能特點(diǎn)1.2.1 Delphi 的主要特點(diǎn)
3、1可視化開發(fā)環(huán)境 2豐富的可視化組件VCL 3面向?qū)ο筇匦?4高效的編譯器 5強(qiáng)大的數(shù)據(jù)庫開發(fā)功能 6良好的分布式應(yīng)用開發(fā)支持 1.2.2 Delphi 7的新特性 1集成開發(fā)環(huán)境方面 2Web技術(shù)(僅限于專業(yè)版和企業(yè)版)方面 3數(shù)據(jù)庫技術(shù)方面 4COM方面 5對(duì)開發(fā)Linux平臺(tái)應(yīng)用程序支持方面1.2 Delphi 7的功能特點(diǎn)1.3 Delphi的安裝1.3.1 Delphi 7的安裝要求Delphi 7有3個(gè)版本,分別是標(biāo)準(zhǔn)版(Standard)、專業(yè)版(Professional)和企業(yè)版(Enterprise),適用于一般用途開發(fā)、較高層次開發(fā)和進(jìn)行多層數(shù)據(jù)庫及分布式應(yīng)用的開發(fā)。在安裝
4、Delphi 7之前,請先檢查一下軟硬件配置是否符合以下要求: Pentium 166以上的CPU,推薦Pentium350以上。 32MB以上的內(nèi)存,推薦64MB以上。 Windows9x、Windows NT/2000或更高版本的操作系統(tǒng)。 Delphi 7的壓縮安裝需100MB以上的硬盤空間。 VGA或更高分辨率的顯示器。1.3 Delphi的安裝1.3.2 Delphi 7的安裝步驟 (1) 啟動(dòng)Windows 98,將Delphi 7安裝盤放入光驅(qū),系統(tǒng)會(huì)自動(dòng)彈出Delphi 7的歡迎界面,如圖1-1所示。圖1-1 安裝歡迎界面1.3 Delphi的安裝(2) 單擊Next按鈕,進(jìn)入
5、下一步,安裝向?qū)崾居脩糨斎胄蛄刑?hào)以及授權(quán)碼,如圖1-2所示。用戶可以在說明書或軟件包裝上找到所需信息,也可在根目錄下的有關(guān)文件中找到。圖1-2 輸入序列號(hào)1.3 Delphi的安裝(3) 輸入正確的序列號(hào)后,單擊Next按鈕,將顯示安裝所需的軟件許可協(xié)議,如果用戶同意,單擊Next按鈕進(jìn)入下一步。(4) 安裝向?qū)崾居脩暨x擇安裝形式,如圖1-3所示。圖1-3 選擇安裝類型1.3 Delphi的安裝(5) 安裝向?qū)г儐柺欠裥枰猇isiBroker/CORBA支持,用戶可根據(jù)實(shí)際情況自由選擇。(6) 單擊Next按鈕以后,安裝向?qū)崾鞠到y(tǒng)將安裝三種版本的微軟Office組件,但只有一種會(huì)被注冊,
6、作為默認(rèn)Office組件,用戶可根據(jù)需要選擇,如圖1-4所示。 圖1-4 選擇微軟Office組件1.3 Delphi的安裝(7) 根據(jù)安裝機(jī)器當(dāng)中的Office的類型選擇對(duì)應(yīng)的選項(xiàng),然后單擊Next按鈕,此時(shí)將出現(xiàn)安裝附加組件窗口,如圖1-5所示,一般情況下建議用戶選擇默認(rèn)設(shè)置。圖1-5 安裝附件組件1.3 Delphi的安裝(8) 單擊Next按鈕,安裝向?qū)崾据斎隓elphi 7安裝路徑,默認(rèn)路徑如圖1-6所示。單擊Change按鈕可改變安裝目錄,在此建議使用默認(rèn)路徑以免引起混亂。圖1-6 選擇安裝路徑1.3 Delphi的安裝(9) 單擊Next按鈕,安裝向?qū)г儐柺欠駥惭b數(shù)據(jù)庫保存到
7、本地硬盤,如圖1-7所示。圖1-7 保存安裝數(shù)據(jù)庫1.3 Delphi的安裝(10) 單擊Next按鈕,彈出準(zhǔn)備安裝窗口,如圖1-8所示。如果用戶發(fā)現(xiàn)存在遺漏之處,還可以單擊Back按鈕回到上一對(duì)話框進(jìn)行修改。圖1-8 準(zhǔn)備安裝1.3 Delphi的安裝(11) 單擊Install按鈕正式開始安裝,如圖1-9所示。在此過程中用戶可隨時(shí)單擊Cancel按鈕終止安裝過程。圖1-9 正式安裝1.3 Delphi的安裝(12) 安裝完畢后,系統(tǒng)將自動(dòng)進(jìn)行程序各個(gè)部分的配置,配置完成以后,將提示安裝過程完畢,如圖1-10所示。圖1-10 安裝完畢1.3 Delphi的安裝(13) 單擊Finish按鈕,
8、彈出一個(gè)對(duì)話框,如圖1-11所示,提示是否重新啟動(dòng)計(jì)算機(jī)以替代在安裝過程中鎖定的文件,用戶可根據(jù)提示繼續(xù)進(jìn)行。圖1-11 提示重新啟動(dòng)計(jì)算機(jī)1.4 Delphi的集成開發(fā)環(huán)境Delphi 7系統(tǒng)安裝完成后,單擊“開始程序Borland Delphi 7Delphi 7”即可啟動(dòng)Delphi 7。Borland Delphi 7程序組包含以下部分:即Help、BDE Administrator、Database Desktop、Datapump、Delphi 7、Image Editor、Register Now、SQL Explorer、SQL Monitor、WinSight 32和XML
9、Mapper。Delphi 7系統(tǒng)的集成開發(fā)環(huán)境由7個(gè)部分構(gòu)成,如圖1-12所示。這7個(gè)部分是:主菜單、快捷工具欄、組件面板、窗體設(shè)計(jì)器、代碼編輯器、對(duì)象樹狀查看器(Object TreeView)和對(duì)象查看器(Object Inspector)。它們分布在Delphi 7主菜單、窗體設(shè)計(jì)器、代碼編輯和瀏覽窗口、對(duì)象樹狀查看窗口和對(duì)象查看窗口等窗口中。1.4 Delphi的集成開發(fā)環(huán)境圖1-12 Delphi 7集成開發(fā)環(huán)境1.4 Delphi的集成開發(fā)環(huán)境1.4.1 Delphi 7主窗口 Delphi 7主窗口位于集成開發(fā)環(huán)境的頂端,如圖1-13所示。圖1-15 Delphi 7集成開發(fā)環(huán)
10、境的主窗口 主窗口包含主菜單、工具欄和組件面板,是Delphi 7集成開發(fā)環(huán)境的核心。通過主窗口,開發(fā)者可控制從工程(又稱項(xiàng)目)創(chuàng)建、界面設(shè)計(jì)、程序編制、調(diào)試到運(yùn)行的整個(gè)應(yīng)用開發(fā)過程。1.4 Delphi的集成開發(fā)環(huán)境1主菜單 主菜單及其下拉菜單提供了Delphi 7集成開發(fā)環(huán)境的所有功能。Delphi 7主菜單除包括通常Windows應(yīng)用程序都具有的File、Edit、View、Window及Help等菜單項(xiàng)外,還有與Delphi 7工程、運(yùn)行及配置等相關(guān)的菜單項(xiàng)。2.快捷工具欄(Speed ToolBar) 快捷工具欄位于Delphi 7主窗口的左下方它提供了與主菜單的常用菜單項(xiàng)相對(duì)應(yīng)的命
11、令按鈕,可以在不打開主菜單的情況下快速執(zhí)行這些功能。各按鈕的功能見書表1-9所示。 1.4 Delphi的集成開發(fā)環(huán)境3.組件面板Delphi 7主窗口的另一部分是組件面板,位于主窗口的右下方(如圖1-26)。組件按功能、基類或特性進(jìn)行了分類,用一個(gè)具有多頁面的組件面板進(jìn)行管理,為用戶使用組件進(jìn)行應(yīng)用設(shè)計(jì)帶來了很大的方便。組件面板的布局如圖1-16所示。圖1-16 組件面板每一組件選項(xiàng)卡都是以鼠標(biāo)箭頭開始的,它表明該選項(xiàng)卡當(dāng)前處于初始狀態(tài),用戶尚未選擇任何組件。當(dāng)用戶單擊選擇某個(gè)組件后,即可將該組件添加到窗體。1.4 Delphi的集成開發(fā)環(huán)境1.4.2 窗體設(shè)計(jì)器用戶界面是應(yīng)用系統(tǒng)與用戶直接
12、交互的界面。設(shè)計(jì)用戶界面是設(shè)計(jì)應(yīng)用程序的重要部分。Delphi的用戶界面由窗體構(gòu)成,窗體的設(shè)計(jì)是在窗體設(shè)計(jì)器中完成的。Delphi 7提供了一個(gè)功能強(qiáng)大的、所見即所得的窗體設(shè)計(jì)器。用戶只要從組件面板中選擇需要的組件添加到窗體,就可獲得所需的應(yīng)用程序界面。在窗體設(shè)計(jì)器中還可對(duì)窗體中所包含的組件進(jìn)行刪除或編輯操作。在Delphi 7中創(chuàng)建一個(gè)新的應(yīng)用程序時(shí),系統(tǒng)將自動(dòng)在當(dāng)前工程中添加1個(gè)新窗體,默認(rèn)名為Form1。1.4 Delphi的集成開發(fā)環(huán)境1.4.3 對(duì)象樹狀查看器對(duì)象樹狀查看器以樹狀結(jié)構(gòu)顯示當(dāng)前工程所包含的所有對(duì)象,就像在Windows系統(tǒng)的文件管理器中顯示各文件夾及文件的樹狀結(jié)構(gòu)一樣,
13、如圖1-17所示。圖1-17 對(duì)象樹狀查看器 1.4 Delphi的集成開發(fā)環(huán)境1.4.4 對(duì)象查看器對(duì)象查看器的主要功能是對(duì)對(duì)象進(jìn)行設(shè)計(jì)和管理,它是聯(lián)系界面各組件和程序編碼的媒介。對(duì)象查看器由對(duì)象列表框、屬性選項(xiàng)卡和事件選項(xiàng)卡三個(gè)部分組成,如圖1-18所示。對(duì)象查看器有兩項(xiàng)主要功能:(1) 設(shè)置或修改窗體以及包含于窗體的對(duì)象屬性。(2) 設(shè)置對(duì)象響應(yīng)的事件處理程序。 圖1-18 對(duì)象查看器1.4 Delphi的集成開發(fā)環(huán)境1.4.5 代碼編輯和瀏覽窗口代碼編輯和瀏覽窗口包括兩部分,其外觀如圖1-19所示。左邊是代碼樹狀瀏覽器,右邊是代碼編輯器,標(biāo)題欄顯示的是正處于當(dāng)前單元文件的名稱。代碼編輯
14、器是進(jìn)行源程序的編輯窗口。可以同時(shí)對(duì)多個(gè)單元文件進(jìn)行編輯,此時(shí)各單元文件以多個(gè)標(biāo)簽頁的形式出現(xiàn),選擇相應(yīng)的標(biāo)簽頁即可對(duì)該單元文件進(jìn)行編輯,底部的狀態(tài)欄有當(dāng)前行列、改寫/插入等編輯狀態(tài)提示。代碼瀏覽器以樹狀圖方式顯示單元文件的信息。圖1-19 代碼編輯和瀏覽窗口1.4 Delphi的集成開發(fā)環(huán)境習(xí)題1Delphi 7有哪些主要特點(diǎn)?2Delphi 7有哪些新功能?3簡述Delphi 7的安裝要求。4Delphi 7集成開發(fā)環(huán)境由哪幾部分組成?簡述各部分的功能。Delphi 7 程序設(shè)計(jì)與實(shí)驗(yàn)指導(dǎo)第二章 面向?qū)ο蟮腜ascalDelphi的編程語言即Object Pascal是在Pascal的基礎(chǔ)
15、上發(fā)展起來的,它繼承了Pascal語言語法結(jié)構(gòu)嚴(yán)謹(jǐn)和編譯代碼高效優(yōu)化等優(yōu)點(diǎn)。本章將介紹Object Pascal的數(shù)據(jù)類型、常量、變量、運(yùn)算符、語句、函數(shù)和過程等。2.1 數(shù)據(jù)類型2.1.1 簡單數(shù)據(jù)類型簡單類型包括有序類型和實(shí)型兩種。1有序類型有序類型包括整型、字符型、布爾型、枚舉型和子界型。有序類型是一種線性的數(shù)據(jù)結(jié)構(gòu),每個(gè)值都有唯一的前驅(qū)(除第一個(gè))和唯一的后繼(除最后一個(gè))。(1) 整型整型的表示范圍及存儲(chǔ)格式見表2-1。類型取值范圍存儲(chǔ)格式Integer-21474836482147483647有符號(hào)32位整數(shù)Cardinal04294967295無符號(hào)32位整數(shù)Shortint-1
16、28127有符號(hào)8位整數(shù)Smallint-3276832767有符號(hào)16位整數(shù)Longint-21474836482147483647有符號(hào)32位整數(shù)Int64-263263-l有符號(hào)64位整數(shù)Byte0255無符號(hào)8位整數(shù)Word065535無符號(hào)16位整數(shù)Longword04294967295無符號(hào)32位整數(shù)表2-1 整型的取值范圍和存儲(chǔ)格式2.1 數(shù)據(jù)類型2.1 數(shù)據(jù)類型(2) 字符型字符型的類型標(biāo)識(shí)符是Char。字符型的數(shù)據(jù)只能是單個(gè)字符,不能是一串字符。例如ABC,x=? 等都不是字符型的數(shù)據(jù),而是字符串。(3) 布爾型通常用到的布爾類型是Boolean,一個(gè)Boolean類型的變量
17、占一個(gè)字節(jié),它只有兩種取值:true和false。定義變量i,ch,t分別為整型、字符型、布爾型。var i: Interge; ch: Char; t: Boolean;2.1 數(shù)據(jù)類型(4) 枚舉類型枚舉類型是用一些標(biāo)識(shí)符來表示一系列有序數(shù),即由一些標(biāo)識(shí)符組成的一個(gè)線性表。定義枚舉類型的語法是:typetypeName=(val1,.,valn)(5) 子界類型子界類型指的是某個(gè)有序類型(稱為基類)的一個(gè)子集。定義子界類型的語法是:typetypeName=Low.High;2.1 數(shù)據(jù)類型2實(shí)型表2-2給出了實(shí)型的表示范圍和存儲(chǔ)格式。類型范圍有效位所占位數(shù)Real2.9*10-241.7
18、*1030811-28Real482.9*10-391.7*103811-26Single1.510-453.4*1038784Double5.0*10-3241.7*1030815168Extended3.6*10-49511.1*104932192010Comp-263+l263-l19208Currency-922337203685477.5808922337203685477.580719208表2-2 實(shí)型的表示范圍和存儲(chǔ)格式2.1 數(shù)據(jù)類型2.1.2 字符串類型字符串類型是用一對(duì)單引號(hào)括起來的一系列字符。字符串類型的表示范圍和存儲(chǔ)格式見表 2-3。 類型最多字符字節(jié)數(shù)字符集Shor
19、tString2552256BANSI向后兼容AnsiString23142GBSBCS,MBCSLongString23142GBUnicodeWideString23042GB等價(jià)于AnsiChar表2-3 字符串類型的表示范圍和存儲(chǔ)格式2.1 數(shù)據(jù)類型2.1.3 結(jié)構(gòu)類型結(jié)構(gòu)數(shù)據(jù)類型是一種復(fù)合數(shù)據(jù)類型,由多個(gè)數(shù)據(jù)組成。結(jié)構(gòu)類型包括集合類型、數(shù)組類型、記錄類型、文件類型等。1集合類型集合類型是一組相同類型元素的組合。定義集合類型:typeName=set of BaseType2數(shù)組數(shù)組是一些具有相同類型元素的有序組合。 (1) 靜態(tài)數(shù)組 靜態(tài)數(shù)組的聲明格式為:typeName=array
20、indexType1,.,indexTypen of BaseType;2.1 數(shù)據(jù)類型(2) 動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組沒有固定的大小或長度。當(dāng)賦值或使用某些函數(shù)(如SetLength)時(shí),動(dòng)態(tài)數(shù)組在內(nèi)存中重新分配。動(dòng)態(tài)數(shù)組的聲明格式為:type Name=array of BaseType;定義動(dòng)態(tài)數(shù)組不需聲明元素的個(gè)數(shù)。例如:typeDynamicarray=array of Real;vara1,a2:Dynamicarry;a1:=a2; /a1和a2指向相同的內(nèi)存單元。2.1 數(shù)據(jù)類型3記錄類型記錄類型(有的語言中被稱為結(jié)構(gòu))是一個(gè)不同種類元素的集合,每個(gè)元素稱為字段(field)。在聲明時(shí)
21、,指定記錄的名字和每個(gè)字段。聲明格式為:typeRecordTypeName=recordFieldList 1:type1;FieldList 2:type2; FieldList n:type n;end;2.1 數(shù)據(jù)類型4文件類型文件類型是由相同類型的元素組成的有序集合。文件類型的聲明格式為:typefileTypeName = file of type例:聲明一個(gè)文件類型RecordList,以上面已定義的TdateRec為數(shù)據(jù)類型。typeRecordList = file of TdateRec;var Myrecordlist:RecordList;2.1 數(shù)據(jù)類型2.1.4 可
22、變類型有時(shí)要對(duì)一些數(shù)據(jù)類型變化的數(shù)據(jù)進(jìn)行操作,并且在編譯期間不能確定數(shù)據(jù)的類型,這時(shí)就可以使用可變類型的數(shù)據(jù)??勺冾愋涂梢允褂贸涗?、集合、靜態(tài)數(shù)組、文件等結(jié)構(gòu)類型、指針類型及長整型外的所有類型。可變類型有一個(gè)特殊的值Null,表示不明的或丟失的數(shù)據(jù)??勺冾愋妥兞康穆暶鞲袷綖椋簐arv1:Variant;2.2 常量與變量2.2.1 標(biāo)識(shí)符標(biāo)識(shí)符是描述Object Pascal程序各個(gè)部分的名稱,這些部分包括標(biāo)記、對(duì)象、過程、類型、單元、變量及程序。標(biāo)識(shí)符的大小寫無關(guān)(即它不區(qū)分大小寫),并且遵循以下規(guī)則:可為任意長度,但只有前255個(gè)字符有效。標(biāo)識(shí)符的第1個(gè)字符必須是字母或下劃線。跟在第1個(gè)
23、字符后面的字符必須是字母、數(shù)字或下劃線。標(biāo)識(shí)符中不允許出現(xiàn)空格。 2.2.2 常量常量是一個(gè)在程序的運(yùn)行過程中具有不變值的標(biāo)識(shí)符,常量的聲明格式如下:Const 常量名=表達(dá)式; 變量不能在一個(gè)常量聲明中使用,但算術(shù)和邏輯運(yùn)算符可以,下面的函數(shù)可以在常量聲明中使用。Abs Low Round Chr Odd SizeOf Hi OrdSucc High Pred Swap Length Ptr Trunc Lo2.2 常量與變量2.2 常量與變量2.2.3 變量變量是程序代碼中代表一個(gè)內(nèi)存地址的標(biāo)識(shí)符,而此地址中的內(nèi)容在程序執(zhí)行過程中可以改變。在變量使用之前必須先聲明,變量聲明格式如下:var
24、 變量名表:類型名; 例:var s:string; i:integer;flag:Boolean;2.3 表達(dá)式與運(yùn)算符2.3.1 表達(dá)式表達(dá)式就是變量、常量、字符串、運(yùn)算符及函數(shù)按照一定規(guī)則的組合。例:Peoples Republic Of +ChinaGross/12Max(x,y)-Min(x,y)2.3.2 運(yùn)算符1賦值運(yùn)算符(:=)賦值運(yùn)算符“:=”是先計(jì)算賦值運(yùn)算符右邊表達(dá)式的值,再將結(jié)果賦給左邊的變量。2.3 表達(dá)式與運(yùn)算符2算術(shù)運(yùn)算符 表2-4 算術(shù)運(yùn)算符運(yùn)算符作用操作數(shù)類型結(jié)果類型+表示正值Integer或RealInteger或Real算術(shù)加Integer或RealInt
25、eger或Real表示負(fù)值Integer或RealInteger或Real算術(shù)減Integer或RealInteger或Real*算術(shù)的乘運(yùn)算Integer或RealInteger或Real/浮點(diǎn)數(shù)的除運(yùn)算Integer或RealRealDiv整型數(shù)的除運(yùn)算IntegerIntegerMod模運(yùn)算IntegerInteger2.3 表達(dá)式與運(yùn)算符3關(guān)系運(yùn)算符關(guān)系運(yùn)算符是對(duì)兩個(gè)類型相容且可以比較大小的數(shù)據(jù)進(jìn)行比較,結(jié)果為布爾類型,見表2-5。 表2-5 關(guān)系運(yùn)算符運(yùn)算符作用結(jié)果類型=等于Bealoon不等于Bealoon大于Bealoon=大于或等于BealoonIn屬于Bealoon2.3 表
26、達(dá)式與運(yùn)算符4邏輯運(yùn)算符邏輯運(yùn)算符對(duì)邏輯類型的操作數(shù)進(jìn)行運(yùn)算,結(jié)果為布爾型,見表2-6。 表2-6 邏輯運(yùn)算符運(yùn)算符作用操作數(shù)類型結(jié)果類型not邏輯非BealoonBealoonand邏輯與BealoonBealoonor邏輯或BealoonBealoonxor邏輯異或BealoonBealoon2.3 表達(dá)式與運(yùn)算符5集合運(yùn)算符 表2-7 集合運(yùn)算符運(yùn)算符作用操作數(shù)類型結(jié)果類型+集合的并集集合類型集合類型-集合的差集集合類型集合類型*集合的交集集合類型集合類型=A=A=B,B是否是A的子集集合類型Bealoon=兩個(gè)集合是否相等集合類型Bealoon兩個(gè)集合是否不相等集合類型Bealooni
27、ns in A,s是否屬于集合A有序類型,集合類型Bealoon2.3 表達(dá)式與運(yùn)算符6運(yùn)算符的優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)not1(最高)*,/,div ,mod,and2+, ,or,xor3關(guān)系運(yùn)算符4(最低)表2-8 Object Pascal各運(yùn)算符的優(yōu)先級(jí)2.4 語句2.4.1 注釋注釋是添加在程序中用來說明代碼功能的語句,它是非執(zhí)行語句,對(duì)程序的執(zhí)行部分不會(huì)產(chǎn)生任何影響,有助于提高程序的可讀性。在Object Pascal中,有三種注釋標(biāo)記:花括號(hào)“”注釋:位于 “”中的內(nèi)容為注釋。雙斜杠“/”注釋: “/”之后到本行結(jié)束的內(nèi)容為注釋。圓括號(hào)及星號(hào)對(duì)“(*)”注釋:(*)中的內(nèi)容為注釋。例
28、如以下語句都是注釋:The first kind Of comment./The secondkind Of comment.(*The third kind Of comment.*)2.4 語句2.4.2 簡單語句和復(fù)合語句簡單語句是Object Pascal中最簡單也最常用的語句,簡單語句用分號(hào)分隔。賦值語句、函數(shù)、過程調(diào)用語句等是簡單語句,例如下面的語句都是簡單語句:r:=m+n; /兩個(gè)值相加并賦值ShowMessage(Im a student.);復(fù)合語句是多個(gè)簡單語句的組合,復(fù)合語句以begin表示開始,以end表示結(jié)束。例如: begini:=1;j:=i+1;s:=abc;
29、end;2.4 語句2.4.3 條件語句條件語句是Object Pascal語言提供的選擇結(jié)構(gòu)語句,主要有如下兩種:1if語句if語句的表示形式:if then else 2.4 語句【例2-1】求兩個(gè)數(shù)中的最大值。if ab thenmax:=a /在變量a之后不能加“;”Elsemax:=b;【例2-2】符號(hào)函數(shù)。 -1 (x0)用if語句的嵌套實(shí)現(xiàn),如下:if x0 then y:=1else y:=0;2.4 語句2case語句case語句的表示形式:case of : : else end;2.4 語句【例2-3】編寫一個(gè)程序,輸入一個(gè)年份,判斷是否是閏年。閏年的條件是滿足下面條件之
30、一:(1) 能被4整除,但不能被100整除的年份;(2) 能被100整除,也能被400整除的年份。對(duì)這兩個(gè)條件都不符合的年份不是閏年。程序功能:輸入一個(gè)年份,顯示其是否為閏年的信息。界面設(shè)計(jì):四個(gè)組件:兩個(gè)文本框Label1和Lable2,分別顯示提示和結(jié)果信息;一個(gè)Edit組件Edit1,用來輸入要進(jìn)行判斷的年份;一個(gè)Button組件Button1,用來查詢結(jié)果。如圖2-1所示。2.4 語句圖2-1 窗體界面程序代碼:procedure TForm1.Button1Click(Sender: TObject);var year:Integer; flag:Boolean;2.4 語句begi
31、n year:=StrtoInt(Edit1.text); /將字符串轉(zhuǎn)變?yōu)檎?if year mod 4 = 0 then begin if year mod 100 =0 then begin if year mod 400=0 then flag:=true else flag:=false; end else flag:=true; end else flag:=false; if flag then Label2.Caption:=該年份是閏年 else Label2.Caption:= 該年份不是閏年;end;2.4 語句 2.4.4 循環(huán)控制語句 循環(huán)語句可以使用戶重復(fù)執(zhí)行一條
32、或多條語句,直到滿足某個(gè)條件時(shí)為止。 1for語句 for語句的一般形式為: for 循環(huán)變量:= to/downto do ; 【例2-4】求1100所有整數(shù)的累加和。 var s,i: Integer; s:=0; for i:=l to 100 do s:=s+i;2.4 語句2while語句while語句的一般形式為:while dowhile后面的為邏輯表達(dá)式,先計(jì)算表達(dá)式的結(jié)果,如果表達(dá)式為true,while語句將重復(fù)執(zhí)行循環(huán)體。如果表達(dá)式結(jié)果為false,則跳出循環(huán),執(zhí)行while之后的語句。【例2-5】求1100所有整數(shù)的累加和。vars,i: Integer;i:=1;s:
33、=0;while i=100 dobegins:=s+i; i:=i+1; end;2.4 語句3repeat語句repeat語句的一般形式為:repeat until 當(dāng)使用repeat語句時(shí),先執(zhí)行循環(huán)體,再判斷表達(dá)式,只要until后面的表達(dá)式為true,則將再執(zhí)行循環(huán)體。因此,repeat語句下面的循環(huán)體至少執(zhí)行一次。【例2-6】求1100所有整數(shù)的累加和。vars,i: Integer;i:=1;s:=0;repeats:=s+i;i:=i+1;until i100;2.4 語句4break語句 功能是強(qiáng)行退出循環(huán),break語句只能用在循環(huán)體內(nèi)?!纠?-7】利用break語句退出一
34、個(gè)while循環(huán)。vars: String;beginwhile true do /條件恒為真 begin ReadLn(s); /讀入一字符串 if s= then break; /不輸入任何字符,則退出循環(huán) WriteLn(s); /輸出字符串 end;end;2.4 語句5continue語句continue語句也用在循環(huán)體中,其作用是強(qiáng)行結(jié)束本次循環(huán),轉(zhuǎn)入循環(huán)開始處,開始執(zhí)行下一次循環(huán)操作?!纠?-8】使用continue語句,求1100所有奇數(shù)之和。vari,s: Integer;s=0;beginfor i:=1 to 100 do begin if i mod 2=0 then
35、continue; /如果為空,跳過剩余語句,轉(zhuǎn)到下一個(gè)循環(huán) s:=s+i; end;end;2.5 函數(shù)和過程函數(shù)和過程是實(shí)現(xiàn)一定功能的語句塊,是程序中的特定功能單元??梢栽诔绦虻钠渌胤奖徽{(diào)用,也可以進(jìn)行遞歸調(diào)用。函數(shù)和過程的區(qū)別在于函數(shù)有返回值,而過程沒有返回值。2.5.1 函數(shù)和過程的聲明函數(shù)和過程在使用前必須進(jìn)行聲明。1函數(shù)的聲明函數(shù)的聲明是在程序的type區(qū),具體形式如下:function ():;2.5 函數(shù)和過程函數(shù)的定義是在程序的implementation部分,具體形式如下:function ():;varbegin := /也可以用Result系統(tǒng)保留字代替end;在be
36、gin與end之間是在函數(shù)調(diào)用時(shí)實(shí)現(xiàn)特定功能的一系列語句。函數(shù)值的返回有兩種方式:將返回值直接賦給函數(shù)名。將返回值賦給Result。2.5 函數(shù)和過程【例2-9】求兩個(gè)數(shù)中的最大數(shù)。function Max(a,b: integer):integer; /兩個(gè)形參為整型值a、b,函數(shù)返回值為整型varm: Integer;beginif ab thenm:= aelsem:= b;Max:= m; /或result := m;end;2.5 函數(shù)和過程2過程的聲明過程的聲明與函數(shù)類似,所不同的是使用的保留字不同,而且少了一個(gè)返回值類型; 過程的聲明是在程序的type區(qū),具體形式如下:proce
37、dure ():;過程的定義是在程序的implementation部分,具體形式如下:procedure (); begin end;2.5 函數(shù)和過程【例2-10】顯示一行num個(gè)星號(hào)*。procedure ShowStar(num:Integer);var i: Integer; s:String; begin s:= ; for i:=1 to num do s:= s+*; ShowMessage(s); end;2.5 函數(shù)和過程2.5.2 重載函數(shù)和過程所謂重載,是指在同一個(gè)作用范圍內(nèi)給不同的函數(shù)或過程取同一個(gè)名稱。重載可以方便編程,重載函數(shù)必須用指令字overload來進(jìn)行說明。
38、 下面的兩個(gè)函數(shù)就是重載函數(shù): function Max(a:Integer;b:Integer):Integer;overload; /求兩個(gè)整數(shù)的最大值 function Max(a:Real;b:Real):Real;overload; /求兩個(gè)實(shí)數(shù)的最大值下面兩條語句就調(diào)用了不同的函數(shù): Max(3.7,4.6); /調(diào)用的是第二個(gè)重載函數(shù)Max(3,4); /調(diào)用的是第一個(gè)重載函數(shù)2.5 函數(shù)和過程2.5.3 參數(shù)1形參與實(shí)參函數(shù)或過程的聲明和定義時(shí)參數(shù)列表中的參數(shù)稱為形式參數(shù),簡稱形參;而函數(shù)或過程調(diào)用時(shí)參數(shù)列表中的參數(shù)稱為實(shí)在參數(shù),簡稱實(shí)參。2數(shù)值參數(shù)、變量參數(shù)和常量參數(shù)(1)
39、數(shù)值參數(shù)在調(diào)用函數(shù)或過程時(shí),數(shù)值參數(shù)在運(yùn)行過程中只改變其形參的值,不改變其實(shí)參的值,即形參不會(huì)影響原來實(shí)參的值。(2) 變量參數(shù)如果用戶想改變傳遞的參數(shù)值,就需要使用變量參數(shù),即在被調(diào)用程序的參數(shù)表中的形參前加上保留字var。2.5 函數(shù)和過程(3) 常量參數(shù)如果當(dāng)過程或函數(shù)執(zhí)行時(shí)要求不改變形參的值,最保險(xiǎn)的辦法是使用常量參數(shù)。在參數(shù)表的參數(shù)名稱前加上保留字const可以使一個(gè)形參成為常量參數(shù)。使用常量參數(shù)代替數(shù)值參數(shù)可以保護(hù)用戶的參數(shù),使用戶在不想改變參數(shù)值時(shí)不會(huì)意外地將新的值賦給這個(gè)參數(shù)。 2.5.4 作用域在Object Pascal中,根據(jù)變量的作用域,可將變量分為:全局變量和局部變量
40、。所謂變量的作用域,是指變量的有效范圍。全局變量在整個(gè)程序中都有效,其作用域?yàn)檎麄€(gè)程序;局部變量只在聲明它的函數(shù)和過程中有效,其作用域只限于該函數(shù)或過程本身。 2.5 函數(shù)和過程例:typevarForm1: TForm1; /全局變量Form1implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);var m,n:Integer; /局部變量m,nForm1:Tform1;(*局部變量Form1,與上面的全局變量同名,在過程TForm1.FormCreate中局部變量起作用。*)2.5 函數(shù)和過程2.5.5 函數(shù)和
41、過程的調(diào)用1函數(shù)和過程的調(diào)用(1) 函數(shù)的調(diào)用函數(shù)調(diào)用的一般形式為:()函數(shù)的調(diào)用往往是將返回值賦給某個(gè)變量或參與運(yùn)算。例如調(diào)用例2-9,將其返回值賦給變量x的語句為:x:=Max(3,6);(2) 過程的調(diào)用過程的調(diào)用的一般形式為: ();其中的實(shí)參可以是常量、變量或表達(dá)式,但實(shí)參的個(gè)數(shù)和類型與形參完全匹配,即個(gè)數(shù)相同、類型一致。例如:調(diào)用例2-10的過程ShowStar的語句為:ShowStar(20);2.5 函數(shù)和過程2函數(shù)和過程的遞歸調(diào)用所謂遞歸調(diào)用,是指函數(shù)A調(diào)用函數(shù)B,而函數(shù)B又調(diào)用函數(shù)A的情況,或是指一個(gè)函數(shù)調(diào)用自身的特殊情況。 【例2-11】遞歸調(diào)用program Proje
42、ct1;($SappTypeConsole)varalpha:Integer;procedure Test2(var A:Integer):forword;(*Test2被說明為前置過程*)procedure Testl(Var A:Integer);begina:=a-1;if a0 thenTest2(a);Writeln(a);end;procedure Test2(var a:Integer); 經(jīng)前置說明的Test2的執(zhí)行部分begin a:=a div 2; if a0 thenTest1(a); 在Test2中調(diào)用已執(zhí)行的過程Test1end; begina1pha:=15; /
43、給a1pha賦初值Test1(a1plla);(*第一次調(diào)用Test1,遞歸開始*)end;習(xí)題1Object Pascal語言中有哪些常用的數(shù)據(jù)類型?變量在使用前必須先定義,如何定義各種數(shù)據(jù)類型的變量?簡述Object Pascal中標(biāo)識(shí)符的命名應(yīng)遵循哪些規(guī)則。Object Pascal中提供了哪些類型運(yùn)算符,在表達(dá)式中其優(yōu)先級(jí)從高到低如何排列。4注釋語句有哪幾種形式?5條件語句有哪幾種形式?它們在什么情況下適用。6循環(huán)語句有哪幾種形式?break語句與continue語句有何異同。7如何聲明、定義和調(diào)用函數(shù)和過程。8什么是重載?如何進(jìn)行重載函數(shù)和過程。9什么是變量的作用域?根據(jù)變量的作用域
44、,可將變量分為哪幾類。習(xí)題10分析下列程序段的運(yùn)行結(jié)果。 a:=False; b:=False; c:=True; d:=20; if a then d:=d-12 else if not b then if c then begin x:=10; d:=d+3; endelse x:=34;運(yùn)行后,d,x的值分別是 、 。 習(xí)題 s:=0; for i=3 to 14 do s:=s+i;運(yùn)行后,s的值是 。 Function Fun(x:Integer):Integer; begin if x=0 then y=0 else if x0 then y:=x+4 else y:=x-5;en
45、d;則函數(shù)調(diào)用Fun(0)、Fun(4)、Fun(-7)的值分別是 、 、 。11編程實(shí)現(xiàn):輸入兩個(gè)整數(shù),求這兩個(gè)數(shù)之間的所有奇數(shù)之和。Delphi 7 程序設(shè)計(jì)與實(shí)驗(yàn)指導(dǎo)第三章 面向?qū)ο蟪绦蛟O(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-oriented Programming,簡稱OOP)方法是一種以模擬現(xiàn)實(shí)世界的概念來組織程序的全新方法,其立意于創(chuàng)建軟件重用代碼,具備更好地模擬現(xiàn)實(shí)世界環(huán)境的能力。能夠支持面向?qū)ο蟪绦蛟O(shè)計(jì)的語言稱之為面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Delphi是完全面向?qū)ο蟮?,具有真正OOP擴(kuò)展的可視化編程環(huán)境,將可視化編程與面向?qū)ο蟮拈_發(fā)框架緊密地結(jié)合起來。本章主要介紹面向?qū)ο蟮某绦蛟O(shè)計(jì)
46、方法。3.1 面向?qū)ο蟮目梢暬幊滩襟E面向?qū)ο蟮目梢暬幊桃话惆ㄒ韵虏襟E:l創(chuàng)建應(yīng)用程序。l設(shè)計(jì)應(yīng)用程序的界面,添加各窗體的組件對(duì)象。l設(shè)置主窗體組件對(duì)象的屬性。l編寫程序代碼(主要是按鈕的事件處理代碼)。l保存文件。l編譯、運(yùn)行程序?!纠?-1】創(chuàng)建一個(gè)工程,其中有一個(gè)窗體InputForm,用于輸入教師基本信息。下面以例3-1為例,介紹面向?qū)ο蟮目梢暬幊痰牟襟E。3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.1 建立新工程在Delphi 7集成環(huán)境下選擇FileNewApplication菜單項(xiàng),或使用工具條上New按鈕,然后在New Items窗口中選擇Application,若此前未打開任
47、何工程,確認(rèn)后,F(xiàn)orm Designer窗口中會(huì)出現(xiàn)一個(gè)空白窗體Forml,在Code Edit窗口中還會(huì)出現(xiàn)與Forml對(duì)應(yīng)的代碼單元Unitl。若先前已打開了工程并且沒有對(duì)修改過的工程進(jìn)行保存,則系統(tǒng)會(huì)提示是否保存等信息,處理完畢后系統(tǒng)將關(guān)閉該工程,然后新建一個(gè)應(yīng)用程序。3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.2 設(shè)計(jì)程序界面InputForm窗體設(shè)計(jì)界面如圖3-1所示,界面上包含五個(gè)標(biāo)簽(Label),用于顯示輸入提示信息,兩個(gè)文本框(Edit),分別用于輸入姓名、工齡;二個(gè)組合列表框(ComboBox),分別用于選擇職稱和部門的輸入內(nèi)容;三個(gè)按鈕(Button),分別用于清除、顯示和
48、退出程序。InputForm窗體及其包含的組件屬性見書表3-1。3.1 面向?qū)ο蟮目梢暬幊滩襟E圖3-1 InputForm窗體設(shè)計(jì)界面3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.3 編寫程序代碼本例所要設(shè)計(jì)的是按鈕組件對(duì)象的事件處理程序。雙擊窗體上的按鈕,將打開代碼編輯器,在begin和end之間輸入如下各按鈕的事件處理代碼。(*“清除”按鈕事件處理代碼*)procedure TInputForm.BtnClearClick(Sender:TObject)begin(*清空各文本框*) Edit1.Text:= ; Edit2.Text:= ;end;3.1 面向?qū)ο蟮目梢暬幊滩襟E(*“顯示”
49、按鈕事件處理代碼*)procedure TInputForm.BtnShowClick(Sender:TObject);begin MessageDlg(這是顯示教師基本信息的窗體, mtInformation, mbOk, 0);end;(*“退出”按鈕事件處理代碼*)procedure TInputForm.BtnExitClick(Sender:TObject);beginTInputForm.Close; /關(guān)閉TInputForm窗體end; 3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.4 保存所有文件選擇FileSave All選項(xiàng),由于這個(gè)新建的工程還沒有命名,所以首先會(huì)出現(xiàn)一個(gè)Sa
50、ve As對(duì)話框,默認(rèn)的單元名是Unitl,用戶可以用更具描述意義的名字代替它。在這里,使用InputUnit.pas進(jìn)行命名。保存完單元文件后,又會(huì)出現(xiàn)Save As對(duì)話框,要求為工程文件命名,在這里,把它命名為InputPrj.dpr。注意:在進(jìn)行程序設(shè)計(jì)前,應(yīng)該先建立一個(gè)目錄,用來存放工程文件,便于管理。3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.5 運(yùn)行程序運(yùn)行程序的方法主要有以下幾種:l 打開Run菜單,選擇Run子菜單。l 快捷鍵:F9。l 單擊工具欄的按鈕。其他的程序運(yùn)行方式在本章第五節(jié)程序調(diào)試中將詳細(xì)介紹。其運(yùn)行后,在文本框中分別輸入姓名(張紅)、工齡(19),并選擇職務(wù)(副教授)
51、和部門(外語系)的值,如圖3-2所示。按下“退出”按鈕,將關(guān)閉“教師基本信息”窗口,結(jié)束程序的運(yùn)行。3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.6 生成exe文件打開工程文件,選擇菜單項(xiàng)ProjectBuild ,生成可執(zhí)行文件,文件名與工程文件名同名,擴(kuò)展名為.exe??梢酝ㄟ^雙擊.exe文件圖標(biāo)啟動(dòng)應(yīng)用程序。例如:由工程文件InputPrj.dpr生成exe文件的過程是:選擇菜單項(xiàng)ProjectBuild InputPrj,生成InputPrj.exe文件,雙擊InputPrj.exe文件圖標(biāo),即可運(yùn)行應(yīng)用程序。圖3-2 InputForm運(yùn)行界面3.1 面向?qū)ο蟮目梢暬幊滩襟E3.1.7 制
52、作安裝包在完成了應(yīng)用程序的設(shè)計(jì)后,就要將最終的產(chǎn)品打包發(fā)送給用戶。目前一般使用安裝程序InstallShield來制作安裝盤。1創(chuàng)建新的項(xiàng)目(1) 進(jìn)入Delphi 7集成開發(fā)環(huán)境,編譯并執(zhí)行應(yīng)用程序InputPrj.exe。(2) 單擊 開始程序InstallShieldExpress,打開InstallShield Express Borland Limited Edition窗口。 (3) 選擇FileNew命令,將彈出如圖3-3所示的New Project對(duì)話框。3.1 面向?qū)ο蟮目梢暬幊滩襟E(4) 單擊按鈕,彈出“Select a File Name”對(duì)話框。輸入安裝程序名為“人事
53、管理”,然后選擇保存位置為C:Documents and SettingsAdministratorMy documentsMysetups,單擊“保存”按鈕,返回到圖3-3所示的界面,單擊“OK”按鈕。圖3-3 New Project對(duì)話框3.1 面向?qū)ο蟮目梢暬幊滩襟E這樣就在C:Documents and SettingsAdministratorMy documentsMysetups路徑下創(chuàng)建一個(gè)名為“人事管理”的安裝項(xiàng)目,如圖3-4所示。圖3-4 制作新安裝項(xiàng)目的界面3.1 面向?qū)ο蟮目梢暬幊滩襟E2制作安裝程序的步驟整個(gè)安裝程序的制作分為以下6個(gè)步驟。(1) 組織安裝項(xiàng)目。安裝制
54、作的第1步是配置項(xiàng)目中常見的設(shè)置,可再細(xì)分為以下幾步。 General Information:配置整個(gè)項(xiàng)目的一些基本信息。選擇Organize Your SetupGeneral Information,可以在屏幕的右方設(shè)置項(xiàng)目的基本信息。在這些基本信息中以下幾個(gè)是必須設(shè)置的。 Subject:項(xiàng)目名。 Product Name:產(chǎn)品名。 Installdir:安裝的目標(biāo)文件夾。安裝項(xiàng)目的基本信息的設(shè)定如圖3-5所示3.1 面向?qū)ο蟮目梢暬幊滩襟E圖3-5 基本信息的設(shè)定 Features:使整個(gè)項(xiàng)目中需要安裝的文件按不同的用途分組。 Setup Types:安裝類型設(shè)置,用戶根據(jù)不同的需求
55、選擇不同的安裝類型。3.1 面向?qū)ο蟮目梢暬幊滩襟E(2) 指定項(xiàng)目文件。安裝制作的第2步工作是向安裝項(xiàng)目中添加文件。選擇Specify Application DataFiles,可以在屏幕右方的幾個(gè)窗口向安裝項(xiàng)目中添加文件,如圖3-6所示。 在“Source computers folders”窗口中定位到F:Delphi61第三章,此時(shí)“Source computers files”列表中顯示了該文件夾下的文件。 鼠標(biāo)單擊“Source computers files”列表中的“InputPrj.exe”文件,將其拖到“Destination computers folders”的“Pr
56、ogramFilesFolderINSTALLDIR”上松開鼠標(biāo),這樣在該文件夾中就多了一個(gè)名為“InputPrj.exe”的文件。若系統(tǒng)有數(shù)據(jù)庫文件,用同樣的方法將數(shù)據(jù)庫文件拖動(dòng)到“DatabaseDATABASEDIR”文件夾中,本例中沒有數(shù)據(jù)庫文件。3.1 面向?qū)ο蟮目梢暬幊滩襟E圖3-6 向安裝項(xiàng)目中添加文件窗口 (3) 配置目標(biāo)系統(tǒng)(Configure the Target System)。是讓安裝程序在安裝過程中能夠自動(dòng)配置目標(biāo)系統(tǒng)的一些參數(shù),如桌面快捷方式、ODBC數(shù)據(jù)源(若有數(shù)據(jù)庫文件)等。 選擇Configure the Target SystemShortcuts/Fold
57、ers,將顯示如圖3-7所示的視圖。3.1 面向?qū)ο蟮目梢暬幊滩襟E圖3-7 創(chuàng)建快捷方式的窗口 鼠標(biāo)右擊中間窗口的“ Desktop”,選擇彈出式菜單中的New Shortcuts命令,創(chuàng)建名為“InputPrj”的快捷方式(如圖3-7所示)。 若有數(shù)據(jù)庫文件,則還需要配置ODBC數(shù)據(jù)源:選擇Configure the Target SystemODBCresources,系統(tǒng)顯示了本機(jī)上存在的ODBC數(shù)據(jù)源,可以通過選擇決定是否將其中的某些數(shù)據(jù)源安裝到目標(biāo)機(jī)器上。3.1 面向?qū)ο蟮目梢暬幊滩襟E(4) 設(shè)置安裝界面(Customize the Setup Appearance)。安裝制作的
58、第4步工作是選擇安裝過程中將要顯示的界面。選擇Customize the Setup AppearanceDialogs,將顯示如圖3-8所示的界面。選中需要顯示的對(duì)話框前面的復(fù)選框。(5) 設(shè)定安裝所需的前提條件(Define Setup Requirements and Actions)。安裝制作的第5步工作主要是定義安裝的前提條件,包含以下幾個(gè)步驟: Requirements:選擇安裝的軟硬件環(huán)境。 Custom Action:選擇需進(jìn)行的安裝操作。 Support Files:選擇所支持的文件。3.1 面向?qū)ο蟮目梢暬幊滩襟E圖3-8 安裝過程中顯示對(duì)話框的設(shè)置(6) 制作安裝程序的最
59、后階段(Prepare for Release)。 選擇Prepare for ReleaseBuild Your Release,編譯安裝項(xiàng)目。 選擇Prepare for ReleaseTest Your Release,測試安裝程序。3.1 面向?qū)ο蟮目梢暬幊滩襟E 選擇Prepare for ReleaseDistribute Your Release,發(fā)布安裝程序。至此應(yīng)用程序InputPrj的安裝程序就制作完成。最后,測試安裝程序,如圖3-9所示。圖3-9 安裝程序運(yùn)行界面3.2 對(duì)象和類的概念3.2.1 對(duì)象對(duì)象是一種數(shù)據(jù)結(jié)構(gòu),是類的實(shí)例。了解對(duì)象,最關(guān)鍵的是掌握對(duì)象的特性。一個(gè)
60、對(duì)象最突出的三個(gè)特征是封裝性、繼承性、多態(tài)性。定義了類之后,就可以創(chuàng)建該類的實(shí)例,即對(duì)象,通過對(duì)象來訪問類的成員。對(duì)象聲明的語法格式如下:var ObjectName:Classname;其中Classname是已定義過的類名。例如:聲明Tstudent類(已定義過)的對(duì)象Classmate可以用以下語句,var Classmate:Tstudent; 3.2.2 類在Object Pascal語言中,類和記錄比較相似,也是一個(gè)構(gòu)造類型,并且由屬性和方法構(gòu)成。其中屬性又包括類的內(nèi)部屬性和外部屬性,也就是供內(nèi)部使用的一些數(shù)據(jù)變量和供外部使用的一些數(shù)據(jù)變量;方法則是該類或其實(shí)例可以操作的過程和函數(shù)
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)中藥學(xué)(中藥制劑工藝)試題及答案
- 2025年中職(蜂產(chǎn)品加工與營銷)蜂蜜加工技術(shù)階段測試試題及答案
- 2025年大學(xué)汽車服務(wù)工程(汽車售后服務(wù)管理)試題及答案
- 2025年大學(xué)環(huán)境科學(xué)(環(huán)境營養(yǎng)研究)試題及答案
- 巴西介紹英語
- 中國銀行新員工培訓(xùn)課件
- 養(yǎng)老院老人緊急救援人員培訓(xùn)制度
- 養(yǎng)老院老人活動(dòng)參與制度
- 養(yǎng)老院老人醫(yī)療護(hù)理服務(wù)制度
- 養(yǎng)老院消防安全管理制度
- 耳鼻喉科2025年工作總結(jié)及2026年工作規(guī)劃
- 2026年酒店服務(wù)員考試題及答案
- 普速鐵路行車技術(shù)管理課件 項(xiàng)目二 行車組織基礎(chǔ)
- 《(2025年)中國類風(fēng)濕關(guān)節(jié)炎診療指南》解讀課件
- 炎德·英才·名校聯(lián)考聯(lián)合體2026屆高三年級(jí)1月聯(lián)考語文試卷(含答及解析)
- 麥當(dāng)勞行業(yè)背景分析報(bào)告
- 中國心理行業(yè)分析報(bào)告
- 2025至2030中國生物芯片(微陣列和和微流控)行業(yè)運(yùn)營態(tài)勢與投資前景調(diào)查研究報(bào)告
- 結(jié)核性支氣管狹窄的診治及護(hù)理
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試模擬測試卷附答案
- 急腹癥的識(shí)別與護(hù)理
評(píng)論
0/150
提交評(píng)論