版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Delphi7.0程序設(shè)計(jì)入門
1.1循序漸進(jìn)學(xué)理論
1.1.1算法與程序設(shè)計(jì)
1.算法
算法具有以下5個(gè)特點(diǎn):
(1)輸入性。
(2)輸出性。
(3)可執(zhí)行性。
(4)有窮性。
(5)確定性。
2.程序設(shè)計(jì)
【例1-1】?jī)蓚€(gè)數(shù)a和b,如果a大于b,就交換它們的位置,否則不交換。具體的算法如下:(1)比較a和b的大小;(2)如果a小于等于b,轉(zhuǎn)到第(5)步;(3)如果a大于b,轉(zhuǎn)到第(4)步;(4)將a賦值給t,將b賦值給a,將t賦值給b;(5)程序結(jié)束。上面的算法是用自然語(yǔ)言描述的,用自然語(yǔ)言描述的算法計(jì)算機(jī)并不能直接執(zhí)行,要讓計(jì)算機(jī)執(zhí)行必須把由自然語(yǔ)言描述的算法的每一步轉(zhuǎn)換成計(jì)算機(jī)語(yǔ)言的語(yǔ)句,這個(gè)過(guò)程就是程序設(shè)計(jì)。1.1.2面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)
1.類與對(duì)象
類是對(duì)象的模板,它定義了對(duì)象的特征和行為規(guī)則,對(duì)象是通過(guò)類產(chǎn)生的,類和對(duì)象都由唯一的名字進(jìn)行標(biāo)識(shí),分別是類名和對(duì)象名。2.屬性
屬性是類或?qū)ο蟮囊环N成份,它反應(yīng)類創(chuàng)建的對(duì)象的特征,如對(duì)象的名稱、大小、標(biāo)題等等。3.方法與事件
方法是對(duì)象具有的功能,而事件是對(duì)象能夠響應(yīng)的刺激。方法與事件是類的成份,它們共同決定了對(duì)象的行為特征。
4.事件驅(qū)動(dòng)的程序設(shè)計(jì)
面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的基本編程模式是事件驅(qū)動(dòng)。通過(guò)該方法設(shè)計(jì)的應(yīng)用程序,程序的執(zhí)行是由事件驅(qū)動(dòng)的,一旦程序啟動(dòng)后就根據(jù)發(fā)生的事件執(zhí)行相應(yīng)的程序代碼(事件過(guò)程),如果無(wú)事件發(fā)生,則程序就空閑著,等待事件的發(fā)生,此時(shí)用戶也可以啟動(dòng)其它的應(yīng)用程序。5.可視化編程的一般步驟
(1)利用系統(tǒng)給定的可視化類設(shè)計(jì)出程序運(yùn)行界面(窗口)。
(2)設(shè)計(jì)窗口和可視化工具的屬性。(3)編寫(xiě)事件過(guò)程代碼。
1.1.3Delphi7.0概述
Delphi是Borland公司推出的非常理想的可視化編程環(huán)境,特別適合于快速規(guī)范地開(kāi)發(fā)Windows應(yīng)用程序。從Borland公司推出Delphi1.0至今,Delphi已經(jīng)發(fā)展了7代產(chǎn)品,每一代都是伴隨Windows操作平臺(tái)的升級(jí)而升級(jí)。使用Delphi,用戶可以輕松地進(jìn)行各種復(fù)雜應(yīng)用程序的開(kāi)發(fā)。
1.1.4Delphi7.0的集成開(kāi)發(fā)環(huán)境
1.Delphi7.0的主窗口
(1)菜單欄(2)工具欄(3)組件板
2.Delphi7.0的窗體設(shè)計(jì)器
3.Delphi7.0的對(duì)象觀察器(ObjectInspector)
4.代碼編輯器5.代碼瀏覽器
1.1.5利用Delphi開(kāi)發(fā)應(yīng)用程序的方法步驟
現(xiàn)在通過(guò)編寫(xiě)一個(gè)小程序來(lái)說(shuō)明利用Delphi7.0開(kāi)發(fā)應(yīng)用程序的方法步驟。
【例1-2】編寫(xiě)一個(gè)顯示歡迎詞的程序,程序啟動(dòng)時(shí)的運(yùn)行界面如圖1-9所示。單擊【顯示】按鈕,將在窗體上顯示“Delphi7.0歡迎您!”,如圖1-10所示。單擊【關(guān)閉】按鈕,將關(guān)閉應(yīng)用程序。
開(kāi)發(fā)步驟如下:
(1)新建項(xiàng)目(2)保存項(xiàng)目(3)為窗體添加組件(4)設(shè)置窗體和組件的屬性(5)編寫(xiě)程序代碼(6)運(yùn)行程序
1.1.6Delphi7.0程序的組成
1.單元文件(1)標(biāo)志性語(yǔ)句——unit。(2)接口部分——interface和implementation之間的部分。(3)implementation之后是實(shí)現(xiàn)部分。2.項(xiàng)目文件(1)標(biāo)志性語(yǔ)句——program。(2)說(shuō)明體部分——uses與begin之間的部分,不包括begin語(yǔ)句。(3)程序體部分——begin和end之間的部分。1.2典型實(shí)例練能力1.2.1典型實(shí)例一:顯示與清除文本
【實(shí)例題目】編寫(xiě)一個(gè)程序完成如下功能:程序運(yùn)行時(shí),單擊【顯示】按鈕,編輯框(TEdit組件)顯示“你好,中國(guó)”,字體大小為18號(hào),字體顏色為藍(lán)色;單擊【清除】按鈕,編輯框顯示的文本被清除。程序設(shè)計(jì)界面如圖1-18所示,程序運(yùn)行界面如圖1-19所示。1.3上機(jī)練習(xí)重應(yīng)用1.3.1上機(jī)練習(xí)一:文本及懸停文字的顯示【練習(xí)題目】設(shè)置一個(gè)文本及懸停文字的顯示程序,程序的設(shè)計(jì)界面如圖1-20所示。程序運(yùn)行時(shí),單擊【顯示】按鈕,窗體上顯示“開(kāi)放的中國(guó)歡迎你!”文字,如圖1-21所示。若將鼠標(biāo)指針停留在【顯示】按鈕上一小會(huì)兒,就顯示懸停文字“單擊將顯示歡迎詞”,如圖1-22所示。單擊【關(guān)閉】按鈕,將關(guān)閉應(yīng)用程序。若將鼠標(biāo)指針停留在【關(guān)閉】按鈕上一小會(huì)兒也將顯示懸停文字“單擊將關(guān)閉程序”。2.1循序漸進(jìn)學(xué)理論2.1.1基本數(shù)據(jù)類型
1.整型
描述存儲(chǔ)各種整數(shù)數(shù)據(jù)的類型即整型。
2.實(shí)型
描述存儲(chǔ)各種實(shí)數(shù)數(shù)據(jù)的類型為實(shí)型。
3.字符型
描述存儲(chǔ)單個(gè)字符數(shù)據(jù)的類型。
4.字符串型
5.布爾型布爾型是描述存儲(chǔ)True(真)和False(假)數(shù)據(jù)的類型。2.1.2Delphi7.0中的標(biāo)識(shí)符與保留字1.標(biāo)識(shí)符
標(biāo)識(shí)符是一種符號(hào),用來(lái)表示常量、變量、類型、過(guò)程、函數(shù)和對(duì)象等語(yǔ)法實(shí)體。標(biāo)識(shí)符又分標(biāo)準(zhǔn)標(biāo)識(shí)符和自定義標(biāo)識(shí)符。系統(tǒng)規(guī)定的標(biāo)識(shí)符叫標(biāo)準(zhǔn)標(biāo)識(shí)符,用戶或程序員定義的標(biāo)識(shí)符叫自定義標(biāo)識(shí)符。(1)標(biāo)準(zhǔn)標(biāo)識(shí)符包括下面5種標(biāo)識(shí)符:
標(biāo)準(zhǔn)常量:例如Boolean類型數(shù)據(jù)的取值True和False。
標(biāo)準(zhǔn)類型:例如表2-1至表2-6中的各種類型說(shuō)明名。
標(biāo)準(zhǔn)過(guò)程:例如Put、Reset等。
標(biāo)準(zhǔn)函數(shù):例如sin(正弦函數(shù))、Cos(余弦)等。
標(biāo)準(zhǔn)文件:例如Input、TextFile等。(2)自定義標(biāo)識(shí)符必須遵循如下的命名規(guī)則:
由字母、數(shù)字和下劃線“_”組成。
以字母或下劃線開(kāi)頭。
不能與保留字同名。
最好不與標(biāo)準(zhǔn)標(biāo)識(shí)符同名。2.保留字3.指令符2.1.3Delphi7.0中的常量與變量1.常量
(1)直接常量直接常量就是在程序中直接使用的各種常量,如整型常量516、-111等;實(shí)型常量1.2、0.0、3.6E5等;字符常量'a'、'10'等;字符串常量:'www'、'中國(guó)'等;布爾常量True和False。(2)符號(hào)常量符號(hào)常量就是用一個(gè)符號(hào)(自定義標(biāo)識(shí)符)來(lái)表示常量。符號(hào)常量在使用前必須先定義,定義符號(hào)常量的定義格式如下。[格式]:Const
常量名1=常量值1;
常量名2=常量值2;…
常量名n=常量值n;
符號(hào)常量也可以具有數(shù)據(jù)類型,稱類型常量。符號(hào)常量中的類型可以是標(biāo)準(zhǔn)類型,也可以是高級(jí)類型。類型常量的定義格式如下。[格式]:Const
常量名1:類型名1=常量值1;…
常量名n:類型名n=常量值n;2.變量(1)變量的聲明
聲明變量的語(yǔ)法格式如下:[格式]:Var
變量名1:類型名1;
變量名2:類型名2;…
變量名n:類型名n;(2)變量的使用2.1.4Delphi7.0中的運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符
(1)取正運(yùn)算符“+”(2)取負(fù)運(yùn)算符“-”
(3)加法運(yùn)算符“+”(4)減法運(yùn)算符“-”
(5)乘法運(yùn)算符“*”(6)除法運(yùn)算符“/”
(7)整除運(yùn)算符“div”(8)取余運(yùn)算符“mod”注意:
取正運(yùn)算符和取負(fù)運(yùn)算符是單目運(yùn)算符,其它6個(gè)運(yùn)算符為雙目運(yùn)算符。
加法運(yùn)算符、減法運(yùn)算符和乘法運(yùn)算符的結(jié)果的類型為參加運(yùn)算的兩個(gè)數(shù)據(jù)中的精度高的類型。
/、div和mod運(yùn)算符中的除數(shù)不能為0。2.字符串運(yùn)算符
Delphi只有一個(gè)字符串運(yùn)算符“+”——連接運(yùn)算符,用于把兩個(gè)或多個(gè)字符串連接在一起形成一個(gè)新的字符串。例如'abc'+'def'的值為'abcdef'。3.位運(yùn)算符4.運(yùn)算符的優(yōu)先級(jí)
表達(dá)式中通常有多個(gè)運(yùn)算符,在計(jì)算表達(dá)式的值時(shí),必須弄清這些運(yùn)算符的運(yùn)算次序,即運(yùn)算符的優(yōu)先級(jí)。5.表達(dá)式
(1)算術(shù)表達(dá)式
算術(shù)表達(dá)式就是將算術(shù)運(yùn)算符、圓括號(hào)和滿足該運(yùn)算符要求的有關(guān)數(shù)據(jù)(數(shù)值型常量、變量和函數(shù)等)連接起來(lái)的式子。(2)字符串表達(dá)式利用字符串運(yùn)算符將字符串常量、字符串變量或字符串函數(shù)連接起來(lái)的式子稱字符串表達(dá)式。字符串表達(dá)式的格式如下:
s1+s2
其中s1和s2可以是字符串常量、變量或函數(shù)。2.1.5Delphi7.0的語(yǔ)句書(shū)寫(xiě)規(guī)則與賦值語(yǔ)句1.語(yǔ)句書(shū)寫(xiě)規(guī)則
Delphi的語(yǔ)句分簡(jiǎn)單語(yǔ)句和復(fù)合語(yǔ)句,兩者之間并沒(méi)有太大差別。只是復(fù)合語(yǔ)句由兩條以上的簡(jiǎn)單語(yǔ)句組成,同時(shí)必須書(shū)寫(xiě)在“begin”和“end”語(yǔ)句之間。兩種語(yǔ)句中的每條語(yǔ)句的末尾都是分號(hào)(只有程序的最后一條語(yǔ)句是句號(hào))。為區(qū)分不同的語(yǔ)句,每條語(yǔ)句以分號(hào)隔開(kāi),可以在一行寫(xiě)幾條語(yǔ)句,也可以把一條語(yǔ)句寫(xiě)在幾行上。2.賦值語(yǔ)句
賦值語(yǔ)句的語(yǔ)法格式及功能如下。
[格式1]:變量名:=表達(dá)式;[功能]:將表達(dá)式的值賦值給變量。
[格式2]:對(duì)象.屬性名:=表達(dá)式;
[功能]:將表達(dá)式的值賦值給對(duì)象的屬性。
[說(shuō)明]:表達(dá)式的結(jié)果與變量或?qū)ο蟮膶傩酝瑢儆谝环N類型。2.1.6Delphi7.0的常用函數(shù)與過(guò)程1.?dāng)?shù)學(xué)類函數(shù)
(1)絕對(duì)值函數(shù)
[調(diào)用格式]:Abs(x);
(2)取整數(shù)函數(shù)
[調(diào)用格式1]:Trunc(x):Int64;[調(diào)用格式2]:Round(x):Int64;[調(diào)用格式3]:Int(x):Extended;
(3)取小數(shù)函數(shù)
[調(diào)用格式]:Frac(x):Extended;(4)平方函數(shù)
[調(diào)用格式]:Sqr(x):Extended;(5)平方根函數(shù)
[調(diào)用格式]:Sqrt(x):Extended;(6)三角函數(shù)
[調(diào)用格式1]:Sin(x):Extended;[調(diào)用格式2]:Cos(x):Extended;[調(diào)用格式3]:ArcTan(x):Extended;(7)指數(shù)函數(shù)
[調(diào)用格式]:Exp(x):Real;
(8)自然對(duì)數(shù)函數(shù)
[調(diào)用格式]:Ln(x):Real;
(9)隨機(jī)數(shù)函數(shù)
[調(diào)用格式]:Random(x);2.字符串處理函數(shù)與過(guò)程
(1)大小寫(xiě)轉(zhuǎn)換函數(shù)
[調(diào)用格式1]:LowerCase(consts:String):String;
(2)比較字符串大小函數(shù)
[調(diào)用格式1]:CompareStr(consts1,s2:String):Integer;[調(diào)用格式2]:CompareText(consts1,s2:String):Integer;(3)求字符串長(zhǎng)度函數(shù)
[調(diào)用格式]:Length(s):Integer;
(4)查找位置函數(shù)
[調(diào)用格式]:Pos(s1,s2:String):Integer;(5)合并字符串過(guò)程
[調(diào)用格式]AppendStr(vars1:String;Consts2:String);(6)截取子字符串函數(shù)
[調(diào)用格式]:Copy(s:String;m,n:Integer):String;(7)刪除子字符串過(guò)程
[調(diào)用格式]:Delete(vars:String;m,n:Integer);(8)插入子字符串過(guò)程
[調(diào)用格式]:Insert(S1:String;vars:String;k:Integer);(9)數(shù)值和字符串相互轉(zhuǎn)換函數(shù)
[調(diào)用格式1]:IntToStr(m:Integer):String;[調(diào)用格式2]:StrToInt(s:String):Integer;[調(diào)用格式3]:FloatToStr(f:Extended):String;[調(diào)用格式4]:StrToFloat(s:String):Extended;2.2典型實(shí)例練能力2.2.1典型實(shí)例一:求整數(shù)各位數(shù)字【實(shí)例題目】利用本章學(xué)習(xí)的算術(shù)運(yùn)算符和算術(shù)表達(dá)式,編寫(xiě)一個(gè)程序,實(shí)現(xiàn)下面的功能:輸入一個(gè)任意4位整數(shù),計(jì)算千位、百位、十位和個(gè)位上的數(shù)字。程序設(shè)計(jì)界面如圖2-1所示,程序運(yùn)行界面如圖2-2所示。程序運(yùn)行時(shí),輸入任意整數(shù),單擊按鈕【個(gè)位數(shù)字】,將顯示個(gè)位數(shù)字,單擊按鈕【十位數(shù)字】,將顯示十位數(shù)字,其它依此類推。2.3上機(jī)練習(xí)重應(yīng)用2.3.1上機(jī)練習(xí)一:簡(jiǎn)單的函數(shù)計(jì)算器【練習(xí)題目】常用的計(jì)算器能求很多種函數(shù)的值,用戶也可以編寫(xiě)一個(gè)程序計(jì)算某些函數(shù)的值。程序的設(shè)計(jì)界面如圖2-3所示,程序運(yùn)行時(shí)輸入自變量,單擊【】、【】、【】和【】按鈕,將分別計(jì)算出x的相應(yīng)函數(shù)值,并顯示在函數(shù)值后面的編輯框中。程序運(yùn)行界面如圖2-4所示。3.1循序漸進(jìn)學(xué)理論3.1.1基本的順序結(jié)構(gòu)語(yǔ)句及其應(yīng)用
順序結(jié)構(gòu)是程序設(shè)計(jì)中最常用也是最簡(jiǎn)單的程序結(jié)構(gòu)。所謂順序結(jié)構(gòu)就是其中的語(yǔ)句是按照先后順序依次執(zhí)行,程序執(zhí)行的流程不會(huì)發(fā)生跳轉(zhuǎn)。
【例3-1】設(shè)計(jì)一個(gè)程序,程序設(shè)計(jì)界面如圖3-1所示。在程序設(shè)計(jì)時(shí),編輯框顯示“遠(yuǎn)方的朋友,歡迎您”文字,字號(hào)為12號(hào),字體為宋體,字體顏色為紅色。程序運(yùn)行時(shí),單擊【改變】按鈕,編輯框文本內(nèi)容不變,但字號(hào)改為20號(hào),字體變?yōu)殡`書(shū),顏色變?yōu)樗{(lán)色,如圖3-2所示。3.1.2選擇結(jié)構(gòu)語(yǔ)句及其基本應(yīng)用1.關(guān)系表達(dá)式與邏輯表達(dá)式
(1)關(guān)系運(yùn)算符和關(guān)系表達(dá)式
關(guān)系運(yùn)算符就是用來(lái)對(duì)兩個(gè)表達(dá)式進(jìn)行大小比較的運(yùn)算符。用關(guān)系運(yùn)算符把兩個(gè)運(yùn)算對(duì)象連接起來(lái)表示它們大小關(guān)系的式子稱為關(guān)系表達(dá)式。
關(guān)系表達(dá)式的一般格式及其功能如下。[格式]:表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2[功能]:比較兩個(gè)表達(dá)式值的大小。
注意:關(guān)系運(yùn)算遵循以下規(guī)律。
關(guān)系表達(dá)式兩邊的數(shù)據(jù)類型必須一致。
9個(gè)關(guān)系運(yùn)算符的運(yùn)算級(jí)別相同,而且都是所有運(yùn)算符中級(jí)別最低的。在同級(jí)別運(yùn)算符中,按從左到右的順序運(yùn)算,括號(hào)里的表達(dá)式最先運(yùn)算。
當(dāng)對(duì)字符進(jìn)行大小比較時(shí),Delphi對(duì)字母的大小寫(xiě)是有區(qū)別的,并按照每個(gè)字符的ASCII碼值大小予以比較。
(2)邏輯運(yùn)算符和邏輯表達(dá)式
邏輯表達(dá)式就是用邏輯運(yùn)算符把若干個(gè)關(guān)系表達(dá)式或邏輯值(True或False)連接起來(lái)的式子。
邏輯表達(dá)式的運(yùn)算步驟是:對(duì)雙目運(yùn)算符,先運(yùn)算兩個(gè)表達(dá)式的值,再進(jìn)行邏輯比較;對(duì)單目運(yùn)算符(Not),先計(jì)算表達(dá)式的值,再進(jìn)行取反操作。
注意:邏輯運(yùn)算遵循以下規(guī)律。
邏輯運(yùn)算符與第二章講解的位運(yùn)算符符號(hào)相同,但含義不同。當(dāng)邏輯運(yùn)算符兩邊的數(shù)據(jù)為數(shù)值時(shí),此時(shí)的邏輯運(yùn)算符轉(zhuǎn)化為位運(yùn)算符,結(jié)果為整數(shù)而不是邏輯值。
邏輯運(yùn)算符的優(yōu)先級(jí)別是:Not為第一級(jí),And為第二級(jí),Or和Xor為第三級(jí)。先運(yùn)算級(jí)別高的,后運(yùn)算級(jí)別低的,同級(jí)別運(yùn)算符,按從左到右的順序運(yùn)算。而括號(hào)里的表達(dá)式最先運(yùn)算,不管其級(jí)別高低。
2.單分支與雙分支IF語(yǔ)句
IF語(yǔ)句常用來(lái)實(shí)現(xiàn)單分支或雙分支,它的語(yǔ)法格式有兩種,分別如下。
[格式1]:IF(條件)Then
語(yǔ)句1;[格式2]:IF(條件)Then
語(yǔ)句1Else//Else之前(語(yǔ)句1之后)沒(méi)有分號(hào)語(yǔ)句2;注意:(1)對(duì)語(yǔ)法格式2(雙分支IF語(yǔ)句),語(yǔ)句1后面沒(méi)有分號(hào),因?yàn)镮F…Then…Else語(yǔ)句是一個(gè)完整的語(yǔ)句。(2)兩種語(yǔ)法格式中的語(yǔ)句1和語(yǔ)句2都可以是簡(jiǎn)單語(yǔ)句或復(fù)合語(yǔ)句(復(fù)合語(yǔ)句必須包含在begin和end之間)?!纠?-2】編寫(xiě)一個(gè)做算術(shù)題的程序,程序的設(shè)計(jì)界面如圖3-3所示。程序執(zhí)行時(shí),單擊【出題】按鈕,將隨機(jī)產(chǎn)生100以內(nèi)的非負(fù)加數(shù)和被加數(shù),當(dāng)在等號(hào)“=”右邊的方框里寫(xiě)出正確答案后,單擊【結(jié)果】按鈕,將顯示“答案正確”;如果輸入的答案不正確,將顯示“答案錯(cuò)誤”,如圖3-4所示。3.多分支Case語(yǔ)句
[格式]:Case(表達(dá)式)of
值1:語(yǔ)句1;
值2:語(yǔ)句2;
…
值n:語(yǔ)句n;Else//這里的Else之前可以有分號(hào)語(yǔ)句n+1;end;注意:(1)“表達(dá)式”的值必須是順序類型,即整型、字符型、布爾型、子界型和枚舉型。(2)“值1”到“值n”應(yīng)該是“表達(dá)式”可能出現(xiàn)的值,它們還應(yīng)該各不相同。(3)語(yǔ)句可以是簡(jiǎn)單語(yǔ)句,也可以是復(fù)合語(yǔ)句。(4)Else語(yǔ)句可以省略,省略時(shí)如果“表達(dá)式”的值與“值1”~“值n”中的任何一個(gè)值均不相等,則不執(zhí)行任何分支,直接跳轉(zhuǎn)到end;后面的語(yǔ)句執(zhí)行。(5)Case語(yǔ)句可以用IF語(yǔ)句來(lái)實(shí)現(xiàn),但I(xiàn)F語(yǔ)句不一定能用Case語(yǔ)句實(shí)現(xiàn)。
【例3-3】
某個(gè)團(tuán)體按如下規(guī)定交會(huì)費(fèi):收入在0~499元之間的交0.5%,收入在500~999元之間的交1%,收入在1000~1999元之間的交1.5%,收入在2000元及以上的交2%。請(qǐng)編寫(xiě)程序?qū)崿F(xiàn):根據(jù)輸入的收入金額,計(jì)算出應(yīng)該上交的會(huì)費(fèi)。程序設(shè)計(jì)界面如圖3-5所示,程序運(yùn)行界面如圖3-6所示。
3.1.3循環(huán)結(jié)構(gòu)語(yǔ)句及其基本應(yīng)用
1.While語(yǔ)句
[格式]:While(循環(huán)條件)do//循環(huán)條件為關(guān)系或邏輯表達(dá)式,其值為True或False
循環(huán)體;//“循環(huán)體”可以是簡(jiǎn)單語(yǔ)句或復(fù)合語(yǔ)句注意:(1)可以在循環(huán)體的任何位置放置Break語(yǔ)句,用來(lái)強(qiáng)制終止整個(gè)循環(huán)。(2)也可以在循環(huán)體的任何位置放置Continue語(yǔ)句,在該次循環(huán)執(zhí)行完之前就結(jié)束本次循環(huán),重新判斷循環(huán)條件,根據(jù)循環(huán)條件的值,決定是否繼續(xù)執(zhí)行循環(huán)。顯然,Continue語(yǔ)句和Break語(yǔ)句含義是不同的。(3)Break語(yǔ)句和Continue語(yǔ)句通常放置在循環(huán)體中的IF語(yǔ)句之后,即在滿足某個(gè)條件的時(shí)候,結(jié)束循環(huán)或結(jié)束本次循環(huán)。(4)注意循環(huán)條件,它決定了是否執(zhí)行循環(huán)以及執(zhí)行多少次循環(huán)。
【例3-4】
利用While語(yǔ)句求2+3+…+50的和。程序設(shè)計(jì)界面如圖3-7所示,程序運(yùn)行界面如圖3-8所示。
2.Repeat語(yǔ)句
[格式]:Repeat
循環(huán)體;Until(循環(huán)條件);注意:(1)循環(huán)體可以是簡(jiǎn)單語(yǔ)句,也可以是復(fù)合語(yǔ)句,對(duì)于復(fù)合語(yǔ)句,不需要用begin…end括起來(lái)。(2)也可以使用Break和Continue語(yǔ)句來(lái)終止循環(huán)或結(jié)束本次循環(huán)。(3)是在“循環(huán)條件”為False時(shí)執(zhí)行循環(huán),為True時(shí)退出循環(huán)。
【例3-5】
用Repeat語(yǔ)句實(shí)現(xiàn)【例3-4】的功能,程序設(shè)計(jì)界面和程序運(yùn)行界面分別如圖3-7和3-8所示。
3.For語(yǔ)句
[格式]:For循環(huán)變量:=初值To(DownTo)終值Do
循環(huán)體;注意:(1)“循環(huán)變量”只能是順序類型(一共5種類型,請(qǐng)查閱前面章節(jié))。(2)格式中的“初值”和“終值”就是循環(huán)變量的“初值”和“終值”。(3)對(duì)遞增循環(huán),每循環(huán)一次,循環(huán)變量的值自動(dòng)增加1;對(duì)遞減循環(huán),每循環(huán)一次,循環(huán)變量自動(dòng)減少1。(4)循環(huán)體可以是簡(jiǎn)單語(yǔ)句也可以是復(fù)合語(yǔ)句,若為復(fù)合語(yǔ)句,需要用begin…end括起來(lái)。(5)在循環(huán)體中可以使用Continue和Break語(yǔ)句,它們也通常位于IF語(yǔ)句之后。
【例3-6】用For語(yǔ)句實(shí)現(xiàn)【例3-4】的功能,程序設(shè)計(jì)界面和程序運(yùn)行界面仍然如圖3-7和3-8所示。
3.2典型實(shí)例練能力
3.2.1典型實(shí)例一:郵箱登錄程序
【實(shí)例題目】在很多場(chǎng)合需要輸入密碼,例如使用銀行卡、登錄電子郵箱、QQ聊天等。下面利用IF語(yǔ)句編寫(xiě)一個(gè)類似登錄服務(wù)的簡(jiǎn)單程序,程序的設(shè)計(jì)界面如圖3-9所示。程序?qū)崿F(xiàn)的功能如下:在編輯框中輸入密碼,單擊【確定】按鈕,如果輸入的密碼正確(假定正確密碼是“123abc”),就在另一個(gè)編輯框顯示“歡迎使用本系統(tǒng)”文本信息,文本的字號(hào)為18號(hào),字體為隸書(shū),字體顏色為藍(lán)色,如圖3-10所示。如果輸入的密碼不正確,就顯示“警告,密碼錯(cuò)!”文本,文本字號(hào)還是18號(hào),字體為楷體,字體顏色為紅色,如圖3-11所示。
3.2.2典型實(shí)例二:購(gòu)物打折程序
【實(shí)例題目】節(jié)日來(lái)臨,商家為促銷搞優(yōu)惠活動(dòng),具體優(yōu)惠辦法如下:(1)一次性購(gòu)物金額少于100元的,不優(yōu)惠;(2)一次性購(gòu)物金額大于等于100元但少于300元的,優(yōu)惠5%;(3)一次性購(gòu)物金額大于等于300元但少于500元的,優(yōu)惠10%;(4)一次性購(gòu)物金額大于等于500元但少于1000元的,優(yōu)惠15%;(5)一次性購(gòu)物金額大于等于1000元的,優(yōu)惠20%。請(qǐng)編寫(xiě)程序?qū)崿F(xiàn)上面的功能,當(dāng)輸入購(gòu)物金額時(shí),單擊【付款】按鈕,計(jì)算實(shí)際支付的金額。程序設(shè)計(jì)界面如圖3-12所示,程序運(yùn)行界面如圖3-13所示。
圖3-12程序設(shè)計(jì)界面
圖3-13程序運(yùn)行界面
3.2.3典型實(shí)例三:計(jì)算數(shù)學(xué)中常量的值
【實(shí)例題目】編一個(gè)程序按下列公式求e的值(要求精度達(dá)到1e-5)。
程序的設(shè)計(jì)界面如圖3-14所示,程序運(yùn)行時(shí),單擊【計(jì)算】按鈕,將計(jì)算并顯示符合給定精度的值,如圖3-15所示。圖3-14程序設(shè)計(jì)界面
圖3-15程序運(yùn)行界面
3.2.4典型實(shí)例四:素?cái)?shù)判斷程序
【實(shí)例題目】編寫(xiě)一個(gè)判斷某數(shù)是否為素?cái)?shù)的應(yīng)用程序,程序的設(shè)計(jì)界面如圖3-16所示。程序運(yùn)行時(shí),在編輯框中輸入任意一個(gè)正整數(shù),單擊【判斷】按鈕,在另一個(gè)編輯框顯示該數(shù)是否為素?cái)?shù),如圖3-17所示。要求:通過(guò)For語(yǔ)句來(lái)實(shí)現(xiàn)。
圖3-16程序設(shè)計(jì)界面
圖3-17程序運(yùn)行界面
3.2.5典型實(shí)例五:枚舉法求百錢買百雞問(wèn)題
【實(shí)例題目】我國(guó)古代有個(gè)著名的百錢買百雞問(wèn)題:用100元錢買100只雞,公雞每只5元,母雞每只3元,小雞每3只1元,問(wèn)該如何買?買法有許多種,請(qǐng)找出其中的一種。程序設(shè)計(jì)界面如圖3-18所示,程序運(yùn)行界面如圖3-19所示。
圖3-18程序設(shè)計(jì)界面
圖3-19程序運(yùn)行界面
3.3上機(jī)練習(xí)重應(yīng)用
3.3.1上機(jī)練習(xí)一:求階乘
【練習(xí)題目】關(guān)于階乘的問(wèn)題數(shù)學(xué)上也經(jīng)常遇到,請(qǐng)編寫(xiě)程序求的值。程序設(shè)計(jì)界面如圖3-20所示,程序運(yùn)行界面如圖3-21所示。圖3-20程序設(shè)計(jì)界面
圖3-21程序運(yùn)行界面
3.3.2上機(jī)練習(xí)二:求兩數(shù)之間不能被4整除的數(shù)
【練習(xí)題目】在兩個(gè)編輯框中任意輸入兩個(gè)正整數(shù),求它們之間所有不能被4整除的數(shù),并顯示出來(lái)。程序設(shè)計(jì)界面如圖3-22所示,程序運(yùn)行界面如圖3-23所示。請(qǐng)編程實(shí)現(xiàn)上面的功能。
4.1循序漸進(jìn)學(xué)理論
4.1.1數(shù)組的概念數(shù)組是一些具有相同類型的元素按一定順序組成的序列。其中每個(gè)元素由其對(duì)應(yīng)的位置來(lái)指定,這個(gè)位置就是數(shù)組的索引號(hào)(又稱下標(biāo)),數(shù)組元素與索引號(hào)是一一對(duì)應(yīng)的,用戶可以通過(guò)這個(gè)索引號(hào)來(lái)存取數(shù)組的每個(gè)元素。數(shù)組中的各元素是順序地安排在內(nèi)存中一段連續(xù)的存儲(chǔ)空間中。按照數(shù)組在定義時(shí)是否確定了元素個(gè)數(shù)可以將數(shù)組分為靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組。
4.1.2一維靜態(tài)數(shù)組的定義與使用
1.一維靜態(tài)數(shù)組類型的定義一維靜態(tài)數(shù)組類型的定義格式如下。
[格式]:Type
數(shù)組類型名=array[下標(biāo)類型]of基類型
數(shù)組num1各元素排列位置示意圖
2.一維靜態(tài)數(shù)組元素的使用
程序中一般并不整體地使用數(shù)組,而是使用數(shù)組元素,引用數(shù)組元素的格式如下。
[格式]:數(shù)組名[下標(biāo)]
【例4-1】隨機(jī)產(chǎn)生5個(gè)兩位正整數(shù)并存放到一維數(shù)組中,然后找出其中的最大值及其下標(biāo)。程序設(shè)計(jì)界面如圖4-2所示,程序運(yùn)行界面如圖4-3所示。圖4-2程序設(shè)計(jì)界面
圖4-3程序運(yùn)行界面
4.1.3二維數(shù)組及多維數(shù)組的定義與使用
1.二維靜態(tài)數(shù)組類型的定義二維靜態(tài)數(shù)組比一維靜態(tài)數(shù)組多一個(gè)下標(biāo),其定義格式如下。[格式1]:Type
數(shù)組類型名=Array[下標(biāo)類型1,下標(biāo)類型2]of基類型[格式2]:Type
數(shù)組類型名=Array[下標(biāo)類型1]ofArray[下標(biāo)類型2]of基類型2.二維靜態(tài)數(shù)組的使用
引用二維數(shù)組的數(shù)組元素的格式如下。
[格式]:二維數(shù)組名[下標(biāo)1,下標(biāo)2]
【例4-2】編寫(xiě)程序?qū)崿F(xiàn)下面的功能:輸入兩個(gè)學(xué)生三門功課的成績(jī),并統(tǒng)計(jì)每個(gè)學(xué)生的總成績(jī)。程序設(shè)計(jì)界面如圖4-4所示,程序運(yùn)行界面如圖4-5所示。圖4-4程序設(shè)計(jì)界面
圖4-5程序運(yùn)行界面
4.1.4動(dòng)態(tài)數(shù)組的定義與使用
1.動(dòng)態(tài)數(shù)組的定義
一維動(dòng)態(tài)數(shù)組的定義格式如下。
[格式]:Type
數(shù)組類型名=Arrayof基類型
多維動(dòng)態(tài)數(shù)組的定義格式如下。
[格式]:Type
數(shù)組類型名=ArrayofArrayof…Arrayof(基類型)注意:關(guān)于動(dòng)態(tài)數(shù)組,應(yīng)注意以下幾點(diǎn)。(1)動(dòng)態(tài)數(shù)組的下標(biāo)是從零開(kāi)始。(2)動(dòng)態(tài)數(shù)組各行的長(zhǎng)度可以不相等。(3)無(wú)論是靜態(tài)數(shù)組還是動(dòng)態(tài)數(shù)組,都可以調(diào)用標(biāo)準(zhǔn)函數(shù)Low、High和Length來(lái)返回?cái)?shù)組的最小下標(biāo)值、最大下標(biāo)值和數(shù)組的長(zhǎng)度。2.動(dòng)態(tài)數(shù)組的使用
【例4-3】設(shè)計(jì)一個(gè)程序,程序的設(shè)計(jì)界面如圖4-6所示,程序運(yùn)行界面分別如圖4-7和4-8所示。程序運(yùn)行時(shí)單擊【一維數(shù)組】按鈕,將隨機(jī)生成一個(gè)一維數(shù)組(長(zhǎng)度為1-9中的某個(gè)數(shù)),并顯示;單擊【二維數(shù)組】按鈕,將會(huì)隨機(jī)生成一個(gè)具有兩行的二維數(shù)組(每行長(zhǎng)度為1-9中的某個(gè)數(shù)),兩個(gè)數(shù)組的元素值都是100以內(nèi)的非負(fù)整數(shù)。圖4-6程序設(shè)計(jì)界面圖4-7程序運(yùn)行界面圖4-8程序運(yùn)行界面4.2典型實(shí)例練能力4.2.1典型實(shí)例一:冒泡法排序【實(shí)例題目】編寫(xiě)一個(gè)冒泡法排序程序,程序的設(shè)計(jì)界面如圖4-9所示。程序運(yùn)行時(shí),單擊【輸入】按鈕將從鍵盤上輸入任意10個(gè)整數(shù)并顯示在第一個(gè)編輯框中,然后單擊【冒泡排序】按鈕,10個(gè)整數(shù)將按照從小到大的順序重新排列,如圖4-10所示。圖4-9程序設(shè)計(jì)界面
圖4-10程序運(yùn)行界面4.2.2典型實(shí)例二:二維數(shù)組的“鞍點(diǎn)”
【實(shí)例題目】所謂二維數(shù)組的“鞍點(diǎn)”是指在本行中最大但在本列中最小的數(shù)組元素,有的數(shù)組有“鞍點(diǎn)”,有的數(shù)組沒(méi)有。編程尋找一個(gè)從鍵盤上輸入的3行4列數(shù)組的“鞍點(diǎn)”。程序設(shè)計(jì)界面如圖4-11所示,程序運(yùn)行界面如圖4-12和圖4-13所示。圖4-11程序設(shè)計(jì)界面圖4-12程序運(yùn)行界面(一)
圖4-13程序運(yùn)行界面(二)4.3上機(jī)練習(xí)重應(yīng)用4.3.1上機(jī)練習(xí)一:選擇法排序
【練習(xí)題目】編寫(xiě)一個(gè)選擇法排序程序,程序的設(shè)計(jì)界面如圖4-14所示。程序運(yùn)行時(shí)單擊【輸入整數(shù)】按鈕,將允許用戶輸入5個(gè)整數(shù),并以逗號(hào)隔開(kāi)的形式顯示在第一個(gè)編輯框中。單擊【選擇法排序】按鈕,則排好序的5個(gè)整數(shù)將顯示在第二個(gè)編輯框里(從小到大排列),程序運(yùn)行界面如圖4-15所示。圖4-14程序設(shè)計(jì)界面圖4-15程序運(yùn)行界面4.3.2上機(jī)練習(xí)二:求學(xué)生的平均成績(jī)
【練習(xí)題目】某班有M名同學(xué),本學(xué)期開(kāi)了N門課,期末考試后,要統(tǒng)計(jì)每個(gè)學(xué)生的平均分。請(qǐng)你編寫(xiě)一個(gè)程序?qū)崿F(xiàn)該功能,程序的設(shè)計(jì)界面如圖4-16所示,程序運(yùn)行時(shí)單擊【形成學(xué)號(hào)與成績(jī)】按鈕將生成有序的學(xué)號(hào)并隨機(jī)產(chǎn)生成績(jī),然后單擊【計(jì)算平均分】按鈕,將計(jì)算出每個(gè)學(xué)生的平均分,如圖4-17所示。5.1循序漸進(jìn)學(xué)理論
5.1.1過(guò)程與函數(shù)的概念
1.過(guò)程的概念
Delphi語(yǔ)言的過(guò)程有兩種:標(biāo)準(zhǔn)過(guò)程與自定義過(guò)程。標(biāo)準(zhǔn)過(guò)程是系統(tǒng)內(nèi)部定義好的過(guò)程。自定義過(guò)程是用戶自己編寫(xiě)代碼定義的過(guò)程,它又分為事件過(guò)程與通用過(guò)程兩種。2.函數(shù)的概念
函數(shù)也是完成某一功能的程序段,與過(guò)程最重要的區(qū)別在于函數(shù)有返回值而過(guò)程沒(méi)有。Delphi的函數(shù)也有兩類:標(biāo)準(zhǔn)函數(shù)和自定義函數(shù)。
5.1.2過(guò)程的定義與調(diào)用
5.1.2過(guò)程的定義與調(diào)用通用過(guò)程由用戶自己創(chuàng)建并通過(guò)程序調(diào)用,創(chuàng)建通用過(guò)程也稱過(guò)程聲明或過(guò)程定義。
[格式]:Procedure過(guò)程名([形參表])//Procedure表示這是一個(gè)過(guò)程,有形參也可以沒(méi)有局部聲明//聲明常量、變量或另一個(gè)過(guò)程或函數(shù)等
begin
語(yǔ)句;//簡(jiǎn)單語(yǔ)句或復(fù)合語(yǔ)句都可以
end;
2.過(guò)程的調(diào)用
創(chuàng)建的通用過(guò)程是為了調(diào)用的,通用過(guò)程只有通過(guò)調(diào)用才能被執(zhí)行。若想要調(diào)用某個(gè)過(guò)程,該過(guò)程必須在調(diào)用語(yǔ)句之前定義。
[格式1]:過(guò)程名(實(shí)參表);[格式2]:過(guò)程名;或者:過(guò)程名();
【例5-1】定義一個(gè)過(guò)程,用來(lái)在一個(gè)Memo組件中顯示若干行歡迎詞,歡迎詞的顯示次數(shù)是隨機(jī)的,但至少顯示3次,至多顯示7次。程序的設(shè)計(jì)界面如圖5-2所示,程序運(yùn)行時(shí),單擊【顯示歡迎詞】按鈕,將在Memo組件中顯示出若干行歡迎詞,如圖5-3所示。圖5-2程序設(shè)計(jì)界面圖5-3程序運(yùn)行界面5.1.3函數(shù)的定義與調(diào)用
1.函數(shù)的定義
函數(shù)也是完成一定功能的程序段,與過(guò)程的主要區(qū)別就是函數(shù)有返回值,其定義方式稍有不同,函數(shù)的定義格式如下。
[格式]:Function函數(shù)名(形參表):返回值類型;
局部聲明
begin
語(yǔ)句;end;
2.函數(shù)的調(diào)用
函數(shù)也是通過(guò)調(diào)用來(lái)運(yùn)行的,調(diào)用函數(shù)的一般格式如下。[格式1]:變量名=函數(shù)名(實(shí)參列表);[格式2]:表達(dá)式運(yùn)算符函數(shù)名(實(shí)參列表);注意:函數(shù)有一個(gè)返回值,函數(shù)調(diào)用就相當(dāng)于一個(gè)同類型的值,可以和同類型的數(shù)據(jù)一樣作為表達(dá)式或表達(dá)式的一部分參加運(yùn)算。圖5-4程序設(shè)計(jì)界面圖5-5程序運(yùn)行界面5.1.4參數(shù)的傳遞
1.常量參數(shù)和值參的傳遞
在過(guò)程或函數(shù)的首部中,定義形參時(shí),如果形參名前有保留字Const,說(shuō)明該參數(shù)是常量參數(shù)。在函數(shù)或過(guò)程中不允許給常量參數(shù)賦值。在定義形參時(shí),如果形參前沒(méi)有任何保留字,則說(shuō)明該參數(shù)為值參,在函數(shù)或過(guò)程中可以給值參賦值,但在調(diào)用該函數(shù)或過(guò)程時(shí)不會(huì)改變與之對(duì)應(yīng)的實(shí)參的值。值參的這種傳遞方式稱為值傳遞,值傳遞是一種單向傳遞,即可把實(shí)參值傳遞給形參,但對(duì)形參的改變不會(huì)傳給實(shí)參。
【例5-3】編寫(xiě)一個(gè)求兩個(gè)數(shù)的乘積的應(yīng)用程序,程序設(shè)計(jì)界面如圖5-6所示。程序運(yùn)行時(shí),在“操作數(shù)1”右邊編輯框輸入任意整數(shù),在“操作數(shù)2”右邊編輯框也輸入任意整數(shù),單擊按鈕【運(yùn)算】將把兩個(gè)操作數(shù)的乘積運(yùn)算出來(lái)并顯示在最下面一個(gè)編輯框里,如圖5-7所示。要求把求兩個(gè)數(shù)的乘運(yùn)算編寫(xiě)成一個(gè)通用過(guò)程。
圖5-6程序設(shè)計(jì)界面圖5-7程序運(yùn)行界面2.變量參數(shù)(變參)的傳遞
在定義過(guò)程或函數(shù)時(shí),形參表中Var之后的參數(shù)即是變參。變參是按地址傳遞的,即在調(diào)用過(guò)程或函數(shù)時(shí),實(shí)參的地址被傳遞給形參,故形參和實(shí)參實(shí)際上是同一個(gè)地址單元?!纠?-4】重新做【例5-3】,希望得到正確的答案。程序設(shè)計(jì)界面如圖5-6所示,程序的運(yùn)行界面如圖5-8所示。
圖5-8程序運(yùn)行界面5.1.5子程序的嵌套與遞歸
1.子程序的嵌套
在Delphi中把過(guò)程與函數(shù)統(tǒng)稱為子程序,子程序既能嵌套定義也能嵌套調(diào)用。嵌套定義的含義是,在一個(gè)子程序中的定義中又包含了另一個(gè)子程序的定義。嵌套調(diào)用是指在調(diào)用某個(gè)子程序時(shí),該子程序又調(diào)用了其它的子程序。在嵌套定義時(shí),被包含的子程序稱為內(nèi)層子程序,包含其它子程序的子程序稱為外層子程序。緊鄰的兩層稱為鄰層,否則稱為隔層。關(guān)于子程序的嵌套定義和嵌套調(diào)用必須遵循如下規(guī)則:(1)外層必須完全包含內(nèi)層。(2)外層可以調(diào)用內(nèi)層中的鄰層子程序,但不能隔層調(diào)用。(3)內(nèi)層可以調(diào)用外層中的鄰層和隔層子程序。(4)同一層的子程序允許后定義的子程序調(diào)用先定義的子程序,反之,需要用Forward(超前引用)在子程序的首部后面對(duì)后定義的子程序予以說(shuō)明才能調(diào)用。
【例5-5】組合數(shù)的計(jì)算公式為。
請(qǐng)用子程序的嵌套來(lái)求組合數(shù)。程序設(shè)計(jì)界面如圖5-9所示,程序運(yùn)行界面如圖5-10所示。
圖5-9程序設(shè)計(jì)界面
圖5-10程序運(yùn)行界面
2.子程序的遞歸
子程序直接或間接調(diào)用自身稱為子程序的遞歸調(diào)用。
【例5-6】有6個(gè)人坐在一塊兒,問(wèn)第6個(gè)人多大年紀(jì)?他說(shuō)他比第5個(gè)人大3歲;再問(wèn)第5個(gè)人多少歲,他說(shuō)比第4個(gè)人大3歲;再問(wèn)第4個(gè)人多少歲,他說(shuō)比第3個(gè)人大3歲;問(wèn)第3個(gè)人多少歲,他說(shuō)比第2個(gè)人大3歲;問(wèn)第2個(gè)人多少歲,他說(shuō)比第1個(gè)人大3歲;最后問(wèn)到第1個(gè)人多少歲,他說(shuō)12歲。請(qǐng)問(wèn)第6個(gè)人多少歲?用子程序遞歸調(diào)用來(lái)實(shí)現(xiàn)。程序設(shè)計(jì)界面如圖5-11所示,程序運(yùn)行界面如圖5-12所示。
圖5-11程序設(shè)計(jì)界面
圖5-12程序運(yùn)行界面
從程序設(shè)計(jì)的角度來(lái)說(shuō),遞歸過(guò)程必須解決兩個(gè)問(wèn)題:一是遞歸計(jì)算的公式,二是遞歸結(jié)束的條件。本題可以寫(xiě)成:遞歸計(jì)算公式:A(n)=A(n-1)+3n>=1遞歸結(jié)束條件:A(1)=1
凡是能夠表示成上述式子的數(shù)學(xué)問(wèn)題均可以用遞歸來(lái)實(shí)現(xiàn),在遞歸函數(shù)中一般可采用雙分支語(yǔ)句來(lái)實(shí)現(xiàn):if(遞歸結(jié)束條件)then函數(shù)名:=遞歸終止值else函數(shù)名:=遞歸公式;式子中的函數(shù)名也可以用Result來(lái)代替。5.2典型實(shí)例練能力
5.2.1典型實(shí)例一:驗(yàn)證哥德巴赫猜想【實(shí)例題目】德國(guó)著名數(shù)學(xué)家哥德巴赫提出:任何一個(gè)大于等于6的偶數(shù)都可以表示為兩個(gè)素?cái)?shù)之和。請(qǐng)編寫(xiě)程序驗(yàn)證這一猜想。程序的設(shè)計(jì)界面如圖5-13所示,程序運(yùn)行時(shí),在第一個(gè)編輯框里輸入任意大于等于6的偶數(shù),單擊【驗(yàn)證】按鈕,則在另一編輯框里顯示兩個(gè)符合要求的素?cái)?shù)。程序運(yùn)行界面如圖5-14所示。要求判斷某數(shù)是否為素?cái)?shù)用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)。圖5-13程序設(shè)計(jì)界面
圖5-14程序運(yùn)行界面
5.2.2典型實(shí)例二:斐波那契(Fibonacci)數(shù)列
【實(shí)例題目】斐波那契(Fibonacci)數(shù)列是一個(gè)典型的可用遞歸求解的問(wèn)題。該數(shù)列來(lái)源于兔子的繁殖,大意是:小兔子和大兔子沒(méi)有繁殖能力,只有老兔子才有繁殖能力。假設(shè)第1個(gè)月有一對(duì)小兔子,第2個(gè)月長(zhǎng)成大兔子,第3個(gè)月長(zhǎng)成老兔子,并生出一對(duì)小兔子;第4個(gè)月,老兔子繼續(xù)生出一對(duì)小兔子,同時(shí)原來(lái)的小兔子長(zhǎng)成大兔子,這樣在第4個(gè)月就有一對(duì)老兔子,一對(duì)大兔子和一對(duì)小兔子共3對(duì)兔子;依此類推,假設(shè)兔子永遠(yuǎn)不死,請(qǐng)編寫(xiě)程序求出任意一個(gè)月有多少對(duì)兔子。程序設(shè)計(jì)界面如圖5-15所示,程序運(yùn)行時(shí)輸入月數(shù),然后單擊【計(jì)算】按鈕,將顯示出該月的兔子對(duì)數(shù),如圖5-16所示。
圖5-15程序設(shè)計(jì)界面
圖5-16程序運(yùn)行界面
5.3上機(jī)練習(xí)重應(yīng)用
5.3.1上機(jī)練習(xí)一:分離字母和數(shù)字字符
【練習(xí)題目】編寫(xiě)一個(gè)程序,用來(lái)分離出字符串中的字母字符和數(shù)字字符。程序的設(shè)計(jì)界面如圖5-17所示。程序運(yùn)行時(shí),在第一個(gè)編輯框中輸入任意一串字符,然后單擊【分離】按鈕,將把字母和數(shù)字分離開(kāi)來(lái)并顯示在對(duì)應(yīng)的編輯框中,如圖5-18所示。
圖5-17程序設(shè)計(jì)界面
圖5-18程序運(yùn)行界面
5.3.2上機(jī)練習(xí)二:校園歌手評(píng)分程序
【練習(xí)題目】
請(qǐng)為某次校園歌手大賽編寫(xiě)一個(gè)評(píng)分程序,設(shè)共有裁判六人,評(píng)分滿分為10分,除去一個(gè)最高分,再除去一個(gè)最低分,剩余的評(píng)分的平均值即為選手得分。程序的設(shè)計(jì)界面如圖5-19所示,程序運(yùn)行時(shí),分別在6個(gè)編輯框中輸入6個(gè)評(píng)委的評(píng)分,然后按【得分】按鈕,將算出該選手的得分并在相應(yīng)的編輯框中顯示出來(lái),如圖5-20所示。按【清除】按鈕,將清除掉所有編輯框中的內(nèi)容。要求:編寫(xiě)一個(gè)過(guò)程求選手得分,得分通過(guò)參數(shù)返回給調(diào)用過(guò)程。6.1循序漸進(jìn)學(xué)理論
6.1.1枚舉類型的定義與使用
1.枚舉類型的定義
枚舉類型就是將要用到的數(shù)據(jù)一一列舉出來(lái),因此,枚舉類型要求數(shù)據(jù)個(gè)數(shù)有限,特別適合于表示物體的顏色、人的職業(yè)、星期幾、月份等非數(shù)值型數(shù)據(jù)。枚舉類型的定義格式如下。
[格式]:Type
類型標(biāo)識(shí)符=(標(biāo)識(shí)符1,標(biāo)識(shí)符2,標(biāo)識(shí)符3…標(biāo)識(shí)符n);2.枚舉類型的使用
枚舉類型屬于順序類型,枚舉類型的每個(gè)元素對(duì)應(yīng)一個(gè)有序的整數(shù)
,其中第一個(gè)元素對(duì)應(yīng)序數(shù)0。因此,枚舉類型本質(zhì)上是用一些枚舉常量來(lái)表示一組連續(xù)的整數(shù)。但枚舉常量不能直接進(jìn)行算術(shù)運(yùn)算,可以進(jìn)行關(guān)系運(yùn)算或間接的算術(shù)運(yùn)算。例如,有下列枚舉類型的定義:TypeColor1=(Red,Green,Blue,Yellow);
【例6-1】編寫(xiě)一個(gè)設(shè)置文本格式的應(yīng)用程序,程序的設(shè)計(jì)界面如圖6-1所示。程序運(yùn)行時(shí),在編輯框中顯示的文本是“輕松學(xué)習(xí)Delphi”。程序運(yùn)行時(shí),單擊【宋體】按鈕,文本字體為宋體;單擊【隸書(shū)】按鈕,文本字體為隸書(shū);單擊【黑體】按鈕,文本字體變?yōu)楹隗w。圖6-2是單擊隸書(shū)時(shí)的運(yùn)行界面。要求用枚舉類型實(shí)現(xiàn)。圖6-1程序設(shè)計(jì)界面
圖6-2程序運(yùn)行界面
6.1.2子界類型的定義與使用
1.子界類型的定義
子界類型表示有序類型中的一部分,子界類型的定義格式如下。
[格式]:Type
類型標(biāo)識(shí)符=常量1..常量2;2.子界類型的使用子界類型允許進(jìn)行多種運(yùn)算,這取決于子界類型的基類型。和枚舉類型一樣,可以進(jìn)行關(guān)系運(yùn)算。但和枚舉類型也有不同之處,子界類型可以直接進(jìn)行算術(shù)運(yùn)算,而且子界類型的第一個(gè)元素的序數(shù)值為1而不是0。6.1.3集合類型的定義與使用
1.集合類型的定義
集合是具有相同性質(zhì)但又可以區(qū)分開(kāi)來(lái)的對(duì)象的全體。集合的對(duì)象可以是無(wú)限的,也可以是有限的。集合中的對(duì)象稱為元素。
集合類型的定義格式如下。
[格式]:Type
類型標(biāo)識(shí)符=setof基類型;
2.集合類型的使用
定義了集合類型和聲明了集合類型變量后就可以使用集合類型。在使用集合類型時(shí)需注意三點(diǎn):集合變量的取值;集合的交、并和差運(yùn)算;集合的各種關(guān)系運(yùn)算。
【例6-2】編寫(xiě)一個(gè)判斷字符串中是否有元音字母的程序,程序的設(shè)計(jì)界面如圖6-3所示。程序運(yùn)行時(shí),在“輸入單詞”后面的編輯框中輸入一個(gè)任意單詞,然后單擊【判斷】按鈕,將在“結(jié)果”旁的編輯框中顯示有無(wú)元音字母的文本。其中,元音字母為“a,e,i,o,u”等字母,程序運(yùn)行界面如圖6-4所示。要求用集合類型實(shí)現(xiàn)。圖6-3程序設(shè)計(jì)界面
圖6-4程序運(yùn)行界面
6.1.4記錄類型的定義與使用
1.記錄類型的定義記錄類型的定義格式如下。
[格式]:Type
記錄類型標(biāo)識(shí)符=Record
字段1:類型1;
字段2:類型2;
…
字段n:類型n;end;2.記錄類型的使用
(1)限定訪問(wèn)記錄的字段格式如下:[格式]:記錄變量名.字段名(2)使用With語(yǔ)句訪問(wèn)記錄的字段格式如下:[格式]:With記錄變量名Do語(yǔ)句注意:With語(yǔ)句也可以嵌套。
【例6-3】編寫(xiě)一個(gè)程序,用來(lái)輸入和顯示某單位員工基本信息。程序的設(shè)計(jì)界面如圖6-5所示,程序運(yùn)行時(shí),單擊【輸入信息】按鈕,用戶可以輸入員工的基本信息,包括姓名、職稱和基本工資。單擊【查看信息】按鈕,可以顯示剛剛輸入的該單位員工的基本信息,如圖6-6所示。
圖6-5程序設(shè)計(jì)界面
圖6-6程序運(yùn)行界面
6.2典型實(shí)例練能力
6.2.1典型實(shí)例一:顏色選擇程序
【實(shí)例題目】編寫(xiě)一個(gè)顏色選擇程序,程序的設(shè)計(jì)界面如圖6-7所示。程序運(yùn)行時(shí),單擊【顯示各種顏色】按鈕,將顯示各種顏色以及代表該顏色的數(shù)字;在“你喜歡的顏色的數(shù)字=”旁的編輯框中輸入數(shù)字,單擊【選擇】按鈕,將顯示用戶選擇的顏色,程序運(yùn)行界面如圖6-8所示。圖6-7程序設(shè)計(jì)界面
圖6-8程序運(yùn)行界面
6.2.2典型實(shí)例二:學(xué)生信息處理程序
【實(shí)例題目】假設(shè)某個(gè)班只有5名學(xué)生,考試完畢需要記錄每個(gè)學(xué)生的學(xué)號(hào)、姓名和各科成績(jī)(語(yǔ)文、數(shù)學(xué)、英語(yǔ)和文科綜合)。編寫(xiě)一個(gè)學(xué)生信息的輸入和顯示程序,要求能夠輸入和顯示學(xué)生的學(xué)號(hào)、姓名和各科成績(jī)。程序設(shè)計(jì)界面如圖6-9,程序運(yùn)行時(shí),單擊【輸入并顯示學(xué)生信息】按鈕,將輸入學(xué)生的信息并顯示在窗體上,如圖6-10所示。圖6-9程序設(shè)計(jì)界面
圖6-10程序運(yùn)行界面
6.3上機(jī)練習(xí)重應(yīng)用
6.3.1上機(jī)練習(xí)一:尋找1~100之間的全部素?cái)?shù)
【練習(xí)題目】編寫(xiě)一個(gè)尋找1~100之間的全部素?cái)?shù)的程序,程序的設(shè)計(jì)界面如圖6-11所示。程序運(yùn)行時(shí),單擊【尋找素?cái)?shù)】按鈕將顯示1~100之間的全部素?cái)?shù),如圖6-12所示。單擊【清除】按鈕,窗體上顯示的素?cái)?shù)將消失。
圖6-11程序設(shè)計(jì)界面
圖6-12程序運(yùn)行界面
6.3.2上機(jī)練習(xí)二:摸彩球
【練習(xí)題目】商場(chǎng)搞促銷活動(dòng),顧客憑購(gòu)物發(fā)票摸彩球。在裝球的小箱子里連續(xù)摸三次,每次摸的球都要放回去,如果三次摸的球顏色各不相同,那么該顧客就中獎(jiǎng)了。假設(shè)箱子里一共只有3種顏色的球,分別為紅色球、綠色球和藍(lán)色球,請(qǐng)編寫(xiě)程序找出不同的摸獎(jiǎng)辦法,并顯示摸出的球。程序設(shè)計(jì)界面如圖6-13所示,程序運(yùn)行界面如圖6-14所示。要求用枚舉類型實(shí)現(xiàn)。7.1循序漸進(jìn)學(xué)理論
7.1.1文本類組件的使用
1.TLabel組件
(1)Caption屬性:即標(biāo)題屬性,這是TLabel組件最重要的屬性,用來(lái)設(shè)置該組件中顯示的文本。(2)AutoSize屬性:該屬性用來(lái)決定標(biāo)簽是否自動(dòng)隨文本的長(zhǎng)短而改變大小。(3)WordWrap屬性:該屬性用來(lái)決定標(biāo)簽的文本是否可以折行顯示。(4)Alignment屬性:該屬性用來(lái)決定標(biāo)簽中顯示的文本的對(duì)齊方式。
(5)Enabled屬性:該屬性用來(lái)決定該組件是否能即響應(yīng)用戶的操作。
(6)Visible屬性:該屬性用來(lái)決定在程序運(yùn)行時(shí)組件是否可見(jiàn)。
(7)Font屬性:該屬性用來(lái)設(shè)置標(biāo)簽組件中顯示的文本字體,是一個(gè)對(duì)象屬性。2.TEdit組件
(1)TEdit組件的常用屬性
Text屬性:該屬性代表顯示在編輯框中的文本。
ReadOnly屬性:該屬性用來(lái)決定編輯框中顯示的文本是否可以修改。
PasswordChar屬性:該屬性用來(lái)決定用戶輸入的字符是原樣顯示還是以密碼方式顯示。
CharCase屬性:該屬性用來(lái)控制編輯框中文本的大小寫(xiě)。
AutoSelect屬性:該屬性用來(lái)決定當(dāng)編輯框獲得焦點(diǎn)時(shí),是否自動(dòng)選定顯示的文本。
BorderStyle屬性:該屬性用來(lái)決定編輯框組件是否有邊框。
CanUndo屬性:該屬性用來(lái)指出對(duì)編輯框中顯示的內(nèi)容改變是否能夠撤消。
HideSelection屬性:該屬性用來(lái)決定當(dāng)編輯框失去焦點(diǎn)時(shí),選中的文本是否還是以選中的方式提供視覺(jué)提示。
MaxLength屬性:該屬性用來(lái)決定編輯框中最多能夠輸入或顯示的字符個(gè)數(shù)。
Modified屬性:該屬性是一個(gè)運(yùn)行屬性,用來(lái)指示編輯框中的內(nèi)容是否發(fā)生了改變。
SelStart屬性:該屬性也是一個(gè)運(yùn)行屬性,用來(lái)設(shè)置或指示選中文本的第一個(gè)字符的位置,文本框的第一個(gè)字符位置為0。
SelText屬性:該屬性也是一個(gè)運(yùn)行屬性,用來(lái)設(shè)置或指示選中的文本。
SelLength屬性:該屬性也是一個(gè)運(yùn)行屬性,用來(lái)設(shè)置或指示選中文本的長(zhǎng)度。(2)TEdit組件的常用方法
SetFocus方法:該方法用于為編輯框設(shè)置焦點(diǎn),無(wú)參數(shù)。
Clear方法:該方法用來(lái)清除編輯框中的所有文本,無(wú)參數(shù)。
ClearSelection方法:該方法用來(lái)清除編輯框中選中的文本,無(wú)參數(shù)。
Undo方法:該方法用來(lái)撤消在編輯框中最近所做的編輯操作。
ClearUndo方法:該方法用來(lái)清除“撤消”緩沖區(qū),從而不能對(duì)以前的操作做撤消操作,該方法無(wú)參數(shù)。
SelectAll方法:該方法用來(lái)選中編輯框中的所有文本。
CopyToClipboard方法:該方法用來(lái)把選中的文本復(fù)制到剪貼板上,相當(dāng)于復(fù)制操作。
CutToClipboard方法:該方法用來(lái)把選中的文本移動(dòng)到剪貼板上,相當(dāng)于剪切操作。
PasteFromClipboard方法:該方法用來(lái)把剪切板上的文本粘貼到插入點(diǎn)處,相當(dāng)于粘貼操作。
(3)TEdit組件的常用事件
OnChange事件:當(dāng)Text屬性值發(fā)生改變時(shí)將觸發(fā)該事件。
OnKeyPress事件:當(dāng)用戶按下鍵盤上一個(gè)ASCII碼鍵時(shí)將觸發(fā)該事件。
OnKeyDown事件:用戶按下鍵盤上的任何鍵時(shí)都會(huì)觸發(fā)該事件。
OnKeyUp事件:當(dāng)用戶按下任何一個(gè)鍵后再松開(kāi)時(shí)將觸發(fā)該事件。
【例7-1】設(shè)計(jì)一個(gè)簡(jiǎn)易賬號(hào)和密碼的檢驗(yàn)程序。對(duì)輸入的賬號(hào)和密碼規(guī)定如下:(1)賬號(hào)為不超過(guò)6位的數(shù)字,密碼為4位字符,在本題中,賬號(hào)假設(shè)為123456,密碼假定為Pass。(2)輸入密碼時(shí),在屏幕上不顯示輸入的字符,而用“*”代替。(3)當(dāng)輸入不正確,如賬號(hào)為非數(shù)字字符或賬號(hào)和密碼輸入不正確時(shí),將顯示出消息框進(jìn)行提示。程序的設(shè)計(jì)界面如圖7-1所示,程序的運(yùn)行界面如圖7-2所示。圖7-1程序設(shè)計(jì)界面
圖7-2程序運(yùn)行界面
3.TMemo組件
(1)TMemo組件的常用屬性
ScrollBars屬性:該屬性用來(lái)設(shè)置備注框是否出現(xiàn)滾動(dòng)條以及滾動(dòng)條的種類。
Lines屬性:按行處理文本。
WordWrap屬性:該屬性用來(lái)決定當(dāng)輸入的文本到達(dá)右邊界時(shí)是否插入軟回車,以便換到下一行再輸入。(2)TMemo組件的常用方法
Add方法:該方法用來(lái)向字符串列表的尾部添加一個(gè)字符串。其語(yǔ)法格式如下:
functionAdd(constS:string):Integer;virtual;
Clear方法:該方法用來(lái)清空字符串列表。其語(yǔ)法格式如下:
procedureClear;virtual;abstract;
Delete方法:該方法用來(lái)從字符串列表中刪除一個(gè)指定的字符串。其語(yǔ)法格式如下:
procedureDelete(Index:Integer);virtual;abstract;
Insert方法:該方法用來(lái)向字符串列表中插入一個(gè)字符串。其語(yǔ)法格式如下:
procedureInsert(Index:Integer;constS:string);virtual;abstract;
Move方法:該方法用來(lái)在字符串列表中移動(dòng)字符串的位置。其語(yǔ)法格式如下:
procedureMove(CurIndex,NewIndex:Integer);virtual;
LoadFromFile方法:該方法的作用是用指定的文件填充字符串列表。其語(yǔ)法格式如下:
procedureLoadFromFile(constFileName:string);virtual;
SaveToFile方法:該方法用來(lái)把字符串列表中的數(shù)據(jù)寫(xiě)到某文件中去。其語(yǔ)法格式如下:
procedureSaveToFile(constFileName:string);virtual;
【例7-2】編寫(xiě)一個(gè)對(duì)文本文件進(jìn)行操作的應(yīng)用程序,程序的設(shè)計(jì)界面如圖7-3所示。程序運(yùn)行時(shí)在“輸入文件名”后面的文本框中輸入一個(gè)文本文件名,然后按【打開(kāi)】按鈕將打開(kāi)該文件。當(dāng)用戶修改了文件的內(nèi)容后,可以通過(guò)單擊【保存】按鈕把文件保存起來(lái)?!炯羟小俊ⅰ緩?fù)制】和【粘貼】按鈕的功能與剪貼板的相應(yīng)命令功能一致?!緞h除】按鈕的功能是刪除選中的文本。程序的運(yùn)行界面如圖7-4所示。
圖7-3程序設(shè)計(jì)界面
圖7-4程序運(yùn)行界面
4.TMaskEdit組件
(1)EditMask屬性:該字符用于控制輸入數(shù)據(jù)的格式。
(2)EditText屬性:該屬性代表TMaskEdit組件中輸入的格式化文本。7.1.2按鈕類組件的使用
1.TButton組件
(1)TButton組件的主要屬性
Caption屬性:標(biāo)題屬性。
Cancel屬性:決定該按鈕是否為取消按鈕,默認(rèn)值為False。
Default屬性:決定該按鈕是否為默認(rèn)按鈕,缺省值為False。
(2)TButton組件的常用事件
OnClick事件:?jiǎn)螕羰录荰Button組件的最常用事件。
OnMouseDown事件:鼠標(biāo)按下瞬間觸發(fā)該事件。
OnMouseMove事件:鼠標(biāo)在TButton組件上移動(dòng)時(shí)觸發(fā)該事件。
OnMouseUp事件:在TButton組件上松開(kāi)按下的鼠標(biāo)時(shí)將觸發(fā)該事件。2.TBitBtn組件
(1)Glyph屬性:為按鈕指定一個(gè)位圖文件,顯示在按鈕的表面。(2)Kind屬性:決定位圖按鈕的種類。位圖按鈕使用最多的屬性就是Kind。
3.TRadioButton組件和TRadioGroup組件
(1)TRadioButton組件的主要屬性
Caption屬性:用來(lái)設(shè)置單選按鈕的提示文字。
Alignment屬性:用來(lái)決定單選按鈕的標(biāo)題文字出現(xiàn)的位置。
Checked屬性:該屬性用于標(biāo)記單選按鈕的狀態(tài)。(2)TRadioButton組件的常用事件
OnClick事件:在單選按鈕上單擊時(shí)將發(fā)生該單選按鈕的OnClick事件。
4.TCheckBox組件
(1)TCheckBox組件的主要屬性
Checked屬性:該屬性用來(lái)標(biāo)志復(fù)選框組件是否被選中。
AllowGrayed屬性:用來(lái)設(shè)定復(fù)選框是否能處于變灰狀態(tài)。
State屬性:該屬性用來(lái)確定該組件的狀態(tài)。(2)TCheckBox組件的常用事件
OnClick事件:?jiǎn)螕羰录趶?fù)選框上單擊時(shí)將發(fā)生該事件。
【例7-3】程序運(yùn)行時(shí),在單選按鈕組“統(tǒng)計(jì)年齡”中將自動(dòng)生成3行2列共5個(gè)單選按鈕,如圖7-7所示。在統(tǒng)計(jì)年齡單選按鈕組中任意選中一個(gè)單選按鈕,備注框中立即顯示所選的項(xiàng)。單擊【關(guān)閉】按鈕或【Close】位圖按鈕,程序關(guān)閉。單擊【不可用】按鈕,統(tǒng)計(jì)年齡單選按鈕組不可用。程序設(shè)計(jì)界面如圖7-6所示,程序運(yùn)行界面如圖7-7所示。圖7-6程序設(shè)計(jì)界面
圖7-7程序運(yùn)行界面7.1.3列表類組件的使用
1.TListBox組件
(1)TListBox組件的常用屬性
Items屬性:該屬性用來(lái)存放列表框中的列表項(xiàng),屬于TStrings類。
Columns屬性:該屬性用來(lái)設(shè)置在列表框中顯示列表項(xiàng)的列數(shù)。
Count屬性:該屬性是一個(gè)運(yùn)行屬性,用來(lái)返回列表框中列表項(xiàng)的數(shù)目。
MultiSelect屬性:該屬性用來(lái)設(shè)置能否在列表框中選擇多個(gè)列表項(xiàng),即是否允許多選。
ExtendedSelect屬性:該屬性只有在MultiSelect屬性值為True時(shí)才起作用,用來(lái)決定列表框是否允許擴(kuò)展多選。
ItemIndex屬性:該屬性用來(lái)設(shè)置或返回選中的列表項(xiàng)的序號(hào),第一個(gè)列表項(xiàng)的序號(hào)值為0。
Selected屬性:該屬性用來(lái)測(cè)試某個(gè)列表項(xiàng)是否被選中。
SelCount屬性:在MultiSelect屬性值為True時(shí),用來(lái)返回選中的列表項(xiàng)的個(gè)數(shù)。
Sorted屬性:該屬性用來(lái)設(shè)置列表框中的列表項(xiàng)是否按字母順序排序。
TopIndex屬性:該屬性用來(lái)設(shè)置或獲取顯示在列表框中的第一個(gè)列表項(xiàng)的序號(hào)。(2)TListBox組件的常用方法
Clear方法:該方法的作用是清除列表框中的所有列表項(xiàng),該方法無(wú)參數(shù)。
ClearSelection方法:該方法的作用是清除列表框中所有被選中的選項(xiàng)。
SelectAll方法:該方法用來(lái)選中列表框中的所有文本。
MoveSelection方法:該方法用來(lái)把列表框中的所有選中的列表項(xiàng)移動(dòng)到另一個(gè)列表框中。
CopySelection方法:該方法用來(lái)把列表框中的所有選中的列表項(xiàng)復(fù)制到另一個(gè)列表框中。(3)TListBox組件的常用事件TListBox組件響應(yīng)的主要事件有:OnClick、OnKeyDown、OnKeyPress、OnKeyUp等。
2.TComboBox組件
(1)DropDownCount屬性:該屬性用來(lái)設(shè)置組合框的列表框中所能顯示的列表項(xiàng)的最大數(shù)目,默認(rèn)情況下,列表框中可以顯示8個(gè)列表項(xiàng),當(dāng)超過(guò)8個(gè)列表框時(shí)將顯示出垂直滾動(dòng)條。(2)Style屬性:該屬性用來(lái)設(shè)置或返回組合框的風(fēng)格。
【例7-4】編寫(xiě)一個(gè)向列表框中添加選項(xiàng)的應(yīng)用程序,程序的設(shè)計(jì)界面如圖7-8所示,程序的運(yùn)行界面如圖7-9所示。程序運(yùn)行時(shí),在“輸入”后面的編輯框里輸入任意文本并按Enter鍵后,如果該文本不在列表框就自動(dòng)添加到列表框中,如果該文本已在列表框中就不添加到列表框并且將編輯框里的文本以高亮度顯示,同時(shí)在列表框中選中相應(yīng)的列表項(xiàng)。圖7-8程序設(shè)計(jì)界面
圖7-9程序運(yùn)行界面7.1.4TTimer時(shí)鐘組件的使用
(1)TTimer組
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《人體內(nèi)臟》課件
- 《庫(kù)管基本財(cái)務(wù)培訓(xùn)》課件
- 2024虞姣離婚后財(cái)產(chǎn)分割及子女教育資助協(xié)議書(shū)3篇
- 2024溫州大學(xué)實(shí)驗(yàn)室數(shù)據(jù)安全保密與應(yīng)急處理合同3篇
- 2024版教育技術(shù)研發(fā)咨詢協(xié)議2篇
- 2024版基礎(chǔ)設(shè)施建設(shè)勞務(wù)合作分包協(xié)議版B版
- 《中東和非洲》課件
- 2024車輛租用標(biāo)準(zhǔn)協(xié)議條款版B版
- 火車站臺(tái)改造工程圍擋施工合同
- 汽車零部件合作合同
- 幼兒園大班主題課程《愛(ài)在我身邊》主題活動(dòng)方案
- 廣西桂林市(2024年-2025年小學(xué)三年級(jí)語(yǔ)文)部編版期末考試(上學(xué)期)試卷(含答案)
- 煤炭行業(yè)智能化煤炭篩分與洗選方案
- 高級(jí)會(huì)計(jì)實(shí)務(wù)案例分析-第三章 企業(yè)全面預(yù)算管理
- 2024年數(shù)學(xué)四年級(jí)上冊(cè)線段、射線和直線基礎(chǔ)練習(xí)題(含答案)
- 2024至2030年中國(guó)防彈衣行業(yè)市場(chǎng)全景分析及投資策略研究報(bào)告
- 高三日語(yǔ)復(fù)習(xí):高考日語(yǔ)語(yǔ)法總結(jié)
- 3.16謠言止于智者-正確處理同學(xué)關(guān)系班會(huì)解析
- 2024年美國(guó)氟苯尼考市場(chǎng)現(xiàn)狀及上下游分析報(bào)告
- 新教材北師大版數(shù)學(xué)一年級(jí)上冊(cè)教學(xué)反思全冊(cè)
- 電路分析(中國(guó)石油大學(xué)(華東))智慧樹(shù)知到期末考試答案章節(jié)答案2024年中國(guó)石油大學(xué)(華東)
評(píng)論
0/150
提交評(píng)論