![Delphi7應(yīng)用教程課件_第1頁(yè)](http://file4.renrendoc.com/view/a6506c622ffde901cdc68ec0b6e2de31/a6506c622ffde901cdc68ec0b6e2de311.gif)
![Delphi7應(yīng)用教程課件_第2頁(yè)](http://file4.renrendoc.com/view/a6506c622ffde901cdc68ec0b6e2de31/a6506c622ffde901cdc68ec0b6e2de312.gif)
![Delphi7應(yīng)用教程課件_第3頁(yè)](http://file4.renrendoc.com/view/a6506c622ffde901cdc68ec0b6e2de31/a6506c622ffde901cdc68ec0b6e2de313.gif)
![Delphi7應(yīng)用教程課件_第4頁(yè)](http://file4.renrendoc.com/view/a6506c622ffde901cdc68ec0b6e2de31/a6506c622ffde901cdc68ec0b6e2de314.gif)
![Delphi7應(yīng)用教程課件_第5頁(yè)](http://file4.renrendoc.com/view/a6506c622ffde901cdc68ec0b6e2de31/a6506c622ffde901cdc68ec0b6e2de315.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章基本數(shù)據(jù)類(lèi)型與表達(dá)式本章要點(diǎn):
掌握Delphi的基本數(shù)據(jù)類(lèi)型(整型、實(shí)型、字符型、字符串型和布爾型)
理解并掌握常量與變量的概念與定義方法
掌握三類(lèi)基本運(yùn)算符:算術(shù)運(yùn)算符、位運(yùn)算符和字符串運(yùn)算符的含義與優(yōu)先順序
掌握三類(lèi)基本表達(dá)式,并能靈活運(yùn)用 2.1循序漸進(jìn)學(xué)理論2.1.1基本數(shù)據(jù)類(lèi)型
1.整型
描述存儲(chǔ)各種整數(shù)數(shù)據(jù)的類(lèi)型即整型。
2.實(shí)型
描述存儲(chǔ)各種實(shí)數(shù)數(shù)據(jù)的類(lèi)型為實(shí)型。
3.字符型描述存儲(chǔ)單個(gè)字符數(shù)據(jù)的類(lèi)型。
4.字符串型
5.布爾型布爾型是描述存儲(chǔ)True(真)和False(假)數(shù)據(jù)的類(lèi)型。2.1.2Delphi7.0中的標(biāo)識(shí)符與保留字1.標(biāo)識(shí)符
標(biāo)識(shí)符是一種符號(hào),用來(lái)表示常量、變量、類(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í)符,用戶(hù)或程序員定義的標(biāo)識(shí)符叫自定義標(biāo)識(shí)符。(1)標(biāo)準(zhǔn)標(biāo)識(shí)符包括下面5種標(biāo)識(shí)符:
標(biāo)準(zhǔn)常量:例如Boolean類(lèi)型數(shù)據(jù)的取值True和False。
標(biāo)準(zhǔn)類(lèi)型:例如表2-1至表2-6中的各種類(lèi)型說(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ù)類(lèi)型,稱(chēng)類(lèi)型常量。符號(hào)常量中的類(lèi)型可以是標(biāo)準(zhǔn)類(lèi)型,也可以是高級(jí)類(lèi)型。類(lèi)型常量的定義格式如下。[格式]:Const
常量名1:類(lèi)型名1=常量值1;…
常量名n:類(lèi)型名n=常量值n;2.變量(1)變量的聲明
聲明變量的語(yǔ)法格式如下:[格式]:Var
變量名1:類(lèi)型名1;
變量名2:類(lèi)型名2;…
變量名n:類(lèi)型名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é)果的類(lèi)型為參加運(yùn)算的兩個(gè)數(shù)據(jù)中的精度高的類(lèi)型。
/、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)和滿(mǎn)足該運(yùn)算符要求的有關(guān)數(shù)據(jù)(數(shù)值型常量、變量和函數(shù)等)連接起來(lái)的式子。(2)字符串表達(dá)式利用字符串運(yùn)算符將字符串常量、字符串變量或字符串函數(shù)連接起來(lái)的式子稱(chēng)字符串表達(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類(lèi)型。2.1.6Delphi7.0的常用函數(shù)與過(guò)程1.?dāng)?shù)學(xué)類(lèi)函數(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ù)字,其它依此類(lèi)推。2.3上機(jī)練習(xí)重應(yīng)用2.3.1上機(jī)練習(xí)一:簡(jiǎn)單的函數(shù)計(jì)算器
【練習(xí)題目】
常用的計(jì)算器能求很多種函數(shù)的值,用戶(hù)也可以編寫(xiě)一個(gè)程序計(jì)算某些函數(shù)的值。程序的設(shè)計(jì)界面如圖2-3所示,程序運(yùn)行時(shí)輸入自變量,單擊【】、【】、【】和【】按鈕,將分別計(jì)算出x的相應(yīng)函數(shù)值,并顯示在函數(shù)值后面的編輯框中。程序運(yùn)行界面如圖2-4所示。第3章基本程序設(shè)計(jì)語(yǔ)句
本章要點(diǎn):
理解順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的思想
理解雙分支語(yǔ)句和多分支語(yǔ)句的含義
掌握利用雙分支語(yǔ)句和多分支語(yǔ)句設(shè)計(jì)分支程序的方法
理解循環(huán)的概念
掌握循環(huán)程序設(shè)計(jì)的方法以及常用的算法,如累加求和、窮舉法等 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)系的式子稱(chēng)為關(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ù)類(lèi)型必須一致。
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之間)。
【例3-2】
編寫(xiě)一個(gè)做算術(shù)題的程序,程序的設(shè)計(jì)界面如圖3-3所示。程序執(zhí)行時(shí),單擊【出題】按鈕,將隨機(jī)產(chǎn)生100以?xún)?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á)式”的值必須是順序類(lèi)型,即整型、字符型、布爾型、子界型和枚舉型。(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】
某個(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á)式,其值為T(mén)rue或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ǔ)句之后,即在滿(mǎn)足某個(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),為T(mén)rue時(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)變量”只能是順序類(lèi)型(一共5種類(lèi)型,請(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è)類(lèi)似登錄服務(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)臨,商家為促銷(xiāo)搞優(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í)例五:枚舉法求百錢(qián)買(mǎi)百雞問(wèn)題
【實(shí)例題目】
我國(guó)古代有個(gè)著名的百錢(qián)買(mǎi)百雞問(wèn)題:用100元錢(qián)買(mǎi)100只雞,公雞每只5元,母雞每只3元,小雞每3只1元,問(wèn)該如何買(mǎi)?買(mǎi)法有許多種,請(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)上面的功能。
圖3-22程序設(shè)計(jì)界面
圖3-23程序運(yùn)行界面
第4章數(shù)組程序設(shè)計(jì)
本章要點(diǎn):
理解數(shù)組的概念
掌握一維數(shù)組和二維數(shù)組的含義與定義方法
掌握引用數(shù)組元素的方法
掌握與數(shù)組有關(guān)的常用算法4.1循序漸進(jìn)學(xué)理論
4.1.1數(shù)組的概念數(shù)組是一些具有相同類(lèi)型的元素按一定順序組成的序列。其中每個(gè)元素由其對(duì)應(yīng)的位置來(lái)指定,這個(gè)位置就是數(shù)組的索引號(hào)(又稱(chēng)下標(biāo)),數(shù)組元素與索引號(hào)是一一對(duì)應(yīng)的,用戶(hù)可以通過(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ù)組類(lèi)型的定義一維靜態(tài)數(shù)組類(lèi)型的定義格式如下。
[格式]:Type
數(shù)組類(lèi)型名=array[下標(biāo)類(lèi)型]of基類(lèi)型
數(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ù)組類(lèi)型的定義二維靜態(tài)數(shù)組比一維靜態(tài)數(shù)組多一個(gè)下標(biāo),其定義格式如下。[格式1]:Type
數(shù)組類(lèi)型名=Array[下標(biāo)類(lèi)型1,下標(biāo)類(lèi)型2]of基類(lèi)型[格式2]:Type
數(shù)組類(lèi)型名=Array[下標(biāo)類(lèi)型1]ofArray[下標(biāo)類(lèi)型2]of基類(lèi)型2.二維靜態(tài)數(shù)組的使用
引用二維數(shù)組的數(shù)組元素的格式如下。
[格式]:二維數(shù)組名[下標(biāo)1,下標(biāo)2]【例4-2】
編寫(xiě)程序?qū)崿F(xiàn)下面的功能:輸入兩個(gè)學(xué)生三門(mén)功課的成績(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ù)組類(lèi)型名=Arrayof基類(lèi)型
多維動(dòng)態(tài)數(shù)組的定義格式如下。
[格式]:Type
數(shù)組類(lèi)型名=ArrayofArrayof…Arrayof(基類(lèi)型)注意:關(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以?xún)?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í),單擊【輸入】按鈕將從鍵盤(pán)上輸入任意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è)從鍵盤(pán)上輸入的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ù)】按鈕,將允許用戶(hù)輸入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門(mé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所示。圖4-16程序設(shè)計(jì)界面圖4-17程序運(yùn)行界面第5章過(guò)程與函數(shù)
本章要點(diǎn):
理解過(guò)程與函數(shù)的概念
掌握過(guò)程與函數(shù)的定義方法
掌握過(guò)程與函數(shù)中三種參數(shù)的傳遞的概念及特點(diǎn)
掌握過(guò)程與函數(shù)的調(diào)用方法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ò)程是用戶(hù)自己編寫(xiě)代碼定義的過(guò)程,它又分為事件過(guò)程與通用過(guò)程兩種。2.函數(shù)的概念
函數(shù)也是完成某一功能的程序段,與過(guò)程最重要的區(qū)別在于函數(shù)有返回值而過(guò)程沒(méi)有。Delphi的函數(shù)也有兩類(lèi):標(biāo)準(zhǔn)函數(shù)和自定義函數(shù)。
5.1.2過(guò)程的定義與調(diào)用
5.1.2過(guò)程的定義與調(diào)用通用過(guò)程由用戶(hù)自己創(chuàng)建并通過(guò)程序調(diào)用,創(chuàng)建通用過(guò)程也稱(chēng)過(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ù)名(形參表):返回值類(lèi)型;
局部聲明
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è)同類(lèi)型的值,可以和同類(lèi)型的數(shù)據(jù)一樣作為表達(dá)式或表達(dá)式的一部分參加運(yùn)算?!纠?-2】定義一個(gè)函數(shù),用來(lái)求任意非負(fù)整數(shù)各位數(shù)字之和。程序設(shè)計(jì)界面如圖5-4所示,程序運(yùn)行時(shí),在第一個(gè)編輯框中輸入一個(gè)整數(shù),然后按【計(jì)算】按鈕,將把該整數(shù)的各位數(shù)字和求出來(lái)并顯示在第二個(gè)編輯框中,如圖5-5所示。要求把求整數(shù)的各位數(shù)字和編寫(xiě)成一個(gè)函數(shù)。圖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í)參的值。值參的這種傳遞方式稱(chēng)為值傳遞,值傳遞是一種單向傳遞,即可把實(shí)參值傳遞給形參,但對(duì)形參的改變不會(huì)傳給實(shí)參?!纠?-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è)地址單元。
【例5-4】重新做【例5-3】,希望得到正確的答案。程序設(shè)計(jì)界面如圖5-6所示,程序的運(yùn)行界面如圖5-8所示。
圖5-8程序運(yùn)行界面5.1.5子程序的嵌套與遞歸
1.子程序的嵌套
在Delphi中把過(guò)程與函數(shù)統(tǒng)稱(chēng)為子程序,子程序既能嵌套定義也能嵌套調(diào)用。嵌套定義的含義是,在一個(gè)子程序中的定義中又包含了另一個(gè)子程序的定義。嵌套調(diào)用是指在調(diào)用某個(gè)子程序時(shí),該子程序又調(diào)用了其它的子程序。在嵌套定義時(shí),被包含的子程序稱(chēng)為內(nèi)層子程序,包含其它子程序的子程序稱(chēng)為外層子程序。緊鄰的兩層稱(chēng)為鄰層,否則稱(chēng)為隔層。關(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】組合數(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)用自身稱(chēng)為子程序的遞歸調(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ì)兔子;依此類(lèi)推,假設(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)分滿(mǎn)分為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ò)程。圖5-19程序設(shè)計(jì)界面
圖5-20程序運(yùn)行界面
第6章用戶(hù)自定義類(lèi)型
本章要點(diǎn):
理解并掌握枚舉類(lèi)型的概念、定義與使用方法
理解并掌握子界類(lèi)型的概念、定義與使用方法
理解并掌握集合類(lèi)型的概念、定義與使用方法
理解并掌握記錄類(lèi)型的概念、定義與使用方法6.1循序漸進(jìn)學(xué)理論
6.1.1枚舉類(lèi)型的定義與使用
1.枚舉類(lèi)型的定義
枚舉類(lèi)型就是將要用到的數(shù)據(jù)一一列舉出來(lái),因此,枚舉類(lèi)型要求數(shù)據(jù)個(gè)數(shù)有限,特別適合于表示物體的顏色、人的職業(yè)、星期幾、月份等非數(shù)值型數(shù)據(jù)。枚舉類(lèi)型的定義格式如下。
[格式]:Type
類(lèi)型標(biāo)識(shí)符=(標(biāo)識(shí)符1,標(biāo)識(shí)符2,標(biāo)識(shí)符3…標(biāo)識(shí)符n);2.枚舉類(lèi)型的使用
枚舉類(lèi)型屬于順序類(lèi)型,枚舉類(lèi)型的每個(gè)元素對(duì)應(yīng)一個(gè)有序的整數(shù)
,其中第一個(gè)元素對(duì)應(yīng)序數(shù)0。因此,枚舉類(lèi)型本質(zhì)上是用一些枚舉常量來(lái)表示一組連續(xù)的整數(shù)。但枚舉常量不能直接進(jìn)行算術(shù)運(yùn)算,可以進(jìn)行關(guān)系運(yùn)算或間接的算術(shù)運(yùn)算。例如,有下列枚舉類(lèi)型的定義: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)行界面。要求用枚舉類(lèi)型實(shí)現(xiàn)。圖6-1程序設(shè)計(jì)界面
圖6-2程序運(yùn)行界面
6.1.2子界類(lèi)型的定義與使用
1.子界類(lèi)型的定義
子界類(lèi)型表示有序類(lèi)型中的一部分,子界類(lèi)型的定義格式如下。
[格式]:Type
類(lèi)型標(biāo)識(shí)符=常量1..常量2;2.子界類(lèi)型的使用子界類(lèi)型允許進(jìn)行多種運(yùn)算,這取決于子界類(lèi)型的基類(lèi)型。和枚舉類(lèi)型一樣,可以進(jìn)行關(guān)系運(yùn)算。但和枚舉類(lèi)型也有不同之處,子界類(lèi)型可以直接進(jìn)行算術(shù)運(yùn)算,而且子界類(lèi)型的第一個(gè)元素的序數(shù)值為1而不是0。
6.1.3集合類(lèi)型的定義與使用
1.集合類(lèi)型的定義
集合是具有相同性質(zhì)但又可以區(qū)分開(kāi)來(lái)的對(duì)象的全體。集合的對(duì)象可以是無(wú)限的,也可以是有限的。集合中的對(duì)象稱(chēng)為元素。
集合類(lèi)型的定義格式如下。
[格式]:Type
類(lèi)型標(biāo)識(shí)符=setof基類(lèi)型;
2.集合類(lèi)型的使用
定義了集合類(lèi)型和聲明了集合類(lèi)型變量后就可以使用集合類(lèi)型。在使用集合類(lèi)型時(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所示。要求用集合類(lèi)型實(shí)現(xiàn)。圖6-3程序設(shè)計(jì)界面
圖6-4程序運(yùn)行界面
6.1.4記錄類(lèi)型的定義與使用
1.記錄類(lèi)型的定義記錄類(lèi)型的定義格式如下。
[格式]:Type
記錄類(lèi)型標(biāo)識(shí)符=Record
字段1:類(lèi)型1;
字段2:類(lèi)型2;
…
字段n:類(lèi)型n;end;2.記錄類(lèi)型的使用
(1)限定訪問(wèn)記錄的字段格式如下:[格式]:記錄變量名.字段名(2)使用With語(yǔ)句訪問(wèn)記錄的字段格式如下:[格式]:With記錄變量名Do語(yǔ)句注意:With語(yǔ)句也可以嵌套?!纠?-3】編寫(xiě)一個(gè)程序,用來(lái)輸入和顯示某單位員工基本信息。程序的設(shè)計(jì)界面如圖6-5所示,程序運(yùn)行時(shí),單擊【輸入信息】按鈕,用戶(hù)可以輸入員工的基本信息,包括姓名、職稱(chēng)和基本工資。單擊【查看信息】按鈕,可以顯示剛剛輸入的該單位員工的基本信息,如圖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ù)字,單擊【選擇】按鈕,將顯示用戶(hù)選擇的顏色,程序運(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)搞促銷(xiāo)活動(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所示。要求用枚舉類(lèi)型實(shí)現(xiàn)。圖6-13程序設(shè)計(jì)界面
圖6-14程序運(yùn)行界面
第7章常用組件的使用
本章要點(diǎn):
掌握文本類(lèi)組件的使用方法
掌握按鈕類(lèi)組件的使用方法
掌握列表類(lèi)組件的使用方法
掌握時(shí)鐘組件和通用對(duì)話(huà)框組件的使用方法
掌握菜單、工具欄和狀態(tài)欄的設(shè)計(jì)方法7.1循序漸進(jìn)學(xué)理論
7.1.1文本類(lèi)組件的使用
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)用戶(hù)的操作。
(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)決定用戶(hù)輸入的字符是原樣顯示還是以密碼方式顯示。
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)用戶(hù)按下鍵盤(pán)上一個(gè)ASCII碼鍵時(shí)將觸發(fā)該事件。
OnKeyDown事件:用戶(hù)按下鍵盤(pán)上的任何鍵時(shí)都會(huì)觸發(fā)該事件。
OnKeyUp事件:當(dāng)用戶(hù)按下任何一個(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)條的種類(lèi)。
Lines屬性:按行處理文本。
WordWrap屬性:該屬性用來(lái)決定當(dāng)輸入的文本到達(dá)右邊界時(shí)是否插入軟回車(chē),以便換到下一行再輸入。(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)用戶(hù)修改了文件的內(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按鈕類(lèi)組件的使用
1.TButton組件
(1)TButton組件的主要屬性
Caption屬性:標(biāo)題屬性。
Cancel屬性:決定該按鈕是否為取消按鈕,默認(rèn)值為False。
Default屬性:決定該按鈕是否為默認(rèn)按鈕,缺省值為False。
(2)TButton組件的常用事件
OnClick事件:?jiǎn)螕羰录?,是TButton組件的最常用事件。
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屬性:決定位圖按鈕的種類(lèi)。位圖按鈕使用最多的屬性就是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列表類(lèi)組件的使用
1.TListBox組件
(1)TListBox組件的常用屬性
Items屬性:該屬性用來(lái)存放列表框中的列表項(xiàng),屬于TStrings類(lèi)。
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屬性值為T(mén)rue時(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屬性值為T(mén)rue時(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)格?!纠?-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組件的屬性
Enabled屬性:該屬性用來(lái)設(shè)置程序運(yùn)行時(shí)定時(shí)器是否正在運(yùn)行。
Interval屬性:該屬性用來(lái)設(shè)置定時(shí)器兩次OnTimer事件發(fā)生的時(shí)間間隔,以毫秒為單位。(2)TTimer組件的事件
OnTimer事件:在Enabled屬性值為T(mén)rue時(shí),該事件每隔一定時(shí)間間隔自動(dòng)觸發(fā),觸發(fā)的時(shí)間間隔由Interval屬性指定?!纠?-5】利用TTimer組件,顯示系統(tǒng)的當(dāng)前時(shí)間,要求每隔0.5秒顯示一次。程序設(shè)計(jì)界面如圖7-10所示,程序運(yùn)行界面如圖7-11所示。圖7-10程序設(shè)計(jì)界面
圖7-11程序運(yùn)行界面7.1.5對(duì)話(huà)框組件的使用
1.TOpenDialog組件
(1)TOpenDialog組件的常用屬性
DefaultExt屬性:該屬性用來(lái)指定默認(rèn)的文件擴(kuò)展名。
FileName屬性:該屬性用來(lái)返回用戶(hù)最近選中的文件的文件名,包括盤(pán)符和路徑。
Files屬性:該屬性用來(lái)返回用戶(hù)選中的所有文件的文件名列表。
Filter屬性:該屬性用來(lái)獲取或設(shè)置當(dāng)前文件名篩選器字符串。
FilterIndex屬性:該屬性用來(lái)獲取或設(shè)置打開(kāi)對(duì)話(huà)框中當(dāng)前選定篩選器的索引。
InitialDir屬性:該屬性用來(lái)獲取或設(shè)置文件對(duì)話(huà)框顯示的初始目錄。
Title屬性:該屬性用來(lái)獲取或設(shè)置對(duì)話(huà)框標(biāo)題。(2)TOpenDialog組件的常用方法Execute方法:該方法用來(lái)顯示打開(kāi)對(duì)話(huà)框。注意:在Dialogs組件頁(yè)中,還有一個(gè)TOpenPictureDialog組件,該組件的功能與使用方法基本與TOpenDialog一致,不同之處只是該對(duì)話(huà)框供用戶(hù)選擇圖片文件。
2.TSaveDialog組件
3.TFontDialog組件
4.TColorDialog組件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度航空航天材料研發(fā)與應(yīng)用合同-@-4
- 2025年度建筑鋼材深加工技術(shù)合作合同
- 生態(tài)城市建設(shè)與經(jīng)濟(jì)轉(zhuǎn)型戰(zhàn)略探討
- 現(xiàn)代職場(chǎng)中的多任務(wù)處理與時(shí)間管理
- 現(xiàn)代金融行業(yè)的國(guó)際合作與競(jìng)爭(zhēng)態(tài)勢(shì)
- 2025年度綜合交通樞紐建設(shè)項(xiàng)目合同風(fēng)險(xiǎn)評(píng)估及應(yīng)對(duì)措施
- 消費(fèi)者行為視角下的美妝電商平臺(tái)發(fā)展趨勢(shì)
- 電力市場(chǎng)中的風(fēng)險(xiǎn)評(píng)估與競(jìng)爭(zhēng)策略
- 現(xiàn)代物流技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用前景
- 2025年度新能源汽車(chē)充電樁建設(shè)投資合同范本-@-1
- 商業(yè)銀行的風(fēng)險(xiǎn)審計(jì)與內(nèi)部控制
- 2024項(xiàng)目管理人員安全培訓(xùn)考試題及參考答案AB卷
- 2025年與商場(chǎng)合作協(xié)議樣本(5篇)
- 2024年12月青少年機(jī)器人技術(shù)等級(jí)考試?yán)碚摼C合試卷(真題及答案)
- 網(wǎng)絡(luò)與社交媒體管理制度
- 2025年新能源汽車(chē)銷(xiāo)售傭金返點(diǎn)合同范本6篇
- 2025-2030年中國(guó)配電變壓器市場(chǎng)未來(lái)發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- GB/T 45120-2024道路車(chē)輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年上海市嘉定區(qū)中考英語(yǔ)一模試卷
- 潤(rùn)滑油、潤(rùn)滑脂培訓(xùn)課件
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論