版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 Delphi概述,1.1 Delphi的特點(diǎn)與發(fā)展 1.1.1 主要特點(diǎn) 高效的集成開發(fā)環(huán)境(IDE); 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言; 可視化組件庫(kù); 穩(wěn)定快速的編譯器。,1.1.2 Delphi的發(fā)展 1995年Delphi 1在美國(guó)Borland公司誕生,從此開始了組件(Component)技術(shù)的時(shí)代,組件技術(shù)對(duì)計(jì)算機(jī)軟件開發(fā)行業(yè)產(chǎn)生了深遠(yuǎn)的影響。 美國(guó)Borland公司隨后推出了Delphi 2、 Delphi 3、 Delphi 4、 Delphi 5、 Delphi 6。 2002年Delphi 7誕生。 2004年11月推出了Delphi 2005 。 2005年11月又推出了D
2、elphi 2006,1.2 Delphi集成開發(fā)環(huán)境 1.2.1 Delphi的主界面,1.2.2 組成部分簡(jiǎn)介 1標(biāo)題欄 2主菜單 3工具欄 4組件板 5對(duì)象樹形視圖 6對(duì)象監(jiān)視器 7窗體 8代碼編輯器窗口,1.3 面向?qū)ο缶幊膛c面向過程編程 1.3.1 面向?qū)ο缶幊痰奶攸c(diǎn) 面向?qū)ο缶幊痰幕舅枷胧牵阂詫?duì)象為主體,以事件為驅(qū)動(dòng)。 在面向?qū)ο缶幊讨?,窗體與組件設(shè)計(jì)是用戶的重要工作之一,這些工作都是可視化操作。在可視化操作的幕后,Delphi為用戶做了大量的工作,從而節(jié)省了用戶的編程時(shí)間,提高了用戶的編程效率 Delphi面向?qū)ο缶幊膛e例。,1.3.2 面向?qū)ο蟪绦虻慕M成 1. 單元文件 單元
3、文件擴(kuò)展名為pas,表示其源代碼是Object Pascal 語(yǔ)言。 2. 項(xiàng)目文件 項(xiàng)目文件擴(kuò)展名為dpr,表示Delphi項(xiàng)目的含義,項(xiàng)目文件是組成應(yīng)用程序的主程序 。 3. 窗體描述文件 窗體描述文件擴(kuò)展名為dfm。應(yīng)用程序中的每一個(gè)窗體都對(duì)應(yīng)了一個(gè)窗體描述文件。,1.3.3 面向過程編程 Delphi還為用戶提供了另一種面向過程的編程方式,在Windows操作系統(tǒng)產(chǎn)生之前,幾乎所有的高級(jí)語(yǔ)言都是面向過程的,讀者對(duì)此不會(huì)陌生。面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言雖然逐步取代了面向過程程序設(shè)計(jì)語(yǔ)言,但面向過程編程中的許多編程技術(shù)在面向?qū)ο笾腥匀挥杏?。例如,面向?qū)ο缶幊讨惺录幚沓绦虻木帉懭匀皇敲嫦蜻^程的
4、 。 Delphi面向過程編程舉例。,第2章 Object Pascal語(yǔ)言,2.1 標(biāo)識(shí)符與注釋 2.1.1 標(biāo)識(shí)符的概念 標(biāo)識(shí)符是程序中用來(lái)表示常量、變量、類型、過程、函數(shù)、程序、單元文件、窗體、菜單、對(duì)象等名稱的符號(hào)。 1標(biāo)準(zhǔn)標(biāo)識(shí)符 2用戶自定義標(biāo)識(shí)符 3保留字,2.1.2 注釋的作用 注釋是程序中用于說明或解釋的一段文字,程序運(yùn)行時(shí)并不執(zhí)行。添加注釋的主要作用是為了增加程序的可讀性。 Delphi中的注釋有兩種方式:?jiǎn)涡凶⑨尯投嘈凶⑨尅?單行注釋:注釋號(hào)“/”后的一行內(nèi)容,不能 跨行。 多行注釋:注釋號(hào)“ ”或“(* *)”內(nèi)括起來(lái)的內(nèi)容,可以跨行。,2.2 數(shù)據(jù)類型 2.2.1 數(shù)據(jù)
5、類型概述 數(shù)據(jù)(Data)是對(duì)客觀事物的數(shù)字、字符以及所有能輸入到計(jì)算機(jī)中并能被計(jì)算機(jī)識(shí)別的各種符號(hào)的描述,是計(jì)算機(jī)程序處理的對(duì)象。數(shù)據(jù)類型(Data Type)是對(duì)同一類數(shù)據(jù)的抽象描述,它規(guī)定了數(shù)據(jù)的取值范圍和定義在該類型上的操作集合 。 數(shù)據(jù)類型如圖2-1所示 。,圖2-1 Object Pascal中的數(shù)據(jù)類型,2.3 常量與變量 2.3.1 常量 常量(constant)是在程序運(yùn)行過程中其值保持不變的量。根據(jù)使用方式的不同,可以將常量分為直接常量與符號(hào)常量。 1直接常量 直接常量就是在程序中直接使用的各種常量,包括數(shù)值型常量和非數(shù)值型常量,其中數(shù)值型常量稱為常數(shù),包括整數(shù)和實(shí)數(shù),如整
6、型常量123、-156等,實(shí)型常量1.1、3.6E5等。非數(shù)值型常量有字符常量、字符串常量和布爾常量。例如,字符常量:v、3,字符串常量:delphi、123456,布爾常量:true和false。,2符號(hào)常量 符號(hào)常量是以標(biāo)識(shí)符形式出現(xiàn)的常量。符號(hào)常量必須先定義后使用。定義符號(hào)常量的語(yǔ)法格式為: const 常量名1=常數(shù)值1; 常量名2=常數(shù)值2; 常量名n=常數(shù)值n;,2.3.2 變量的定義 變量(variable)是在程序執(zhí)行過程中其值可以被改變的量,變量在使用前必須先聲明。 聲明變量的語(yǔ)法格式為: var 變量名1:類型名1=初始值; 變量名2:類型名2=初始值; 變量名n:類型名n
7、=初始值;,2.4 運(yùn)算符與表達(dá)式 2.4.1 運(yùn)算符 Delphi中的運(yùn)算符主要有算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、布爾運(yùn)算符、位運(yùn)算符等。 1算術(shù)運(yùn)算符 算術(shù)運(yùn)算符有加、減、乘、除、整除和求余。 2關(guān)系運(yùn)算符 關(guān)系運(yùn)算符用于對(duì)兩個(gè)類型相容的量進(jìn)行大小比較運(yùn)算,運(yùn)算結(jié)果為布爾類型。,3布爾運(yùn)算符 布爾運(yùn)算符對(duì)布爾類型的操作數(shù)進(jìn)行運(yùn)算,結(jié)果為布爾型。布爾運(yùn)算符有:and(與)、or(或)、not(非)、xor(異或)。 4字符串運(yùn)算符 Delphi只有一個(gè)字符串運(yùn)算符“+”,表示連接運(yùn)算符,用于將兩個(gè)或多個(gè)字符串連接在一起形成一新的字符串。,5位運(yùn)算符 Delphi有6個(gè)位運(yùn)算符。 例如,字節(jié)型變量a=
8、5,b=6,對(duì)應(yīng)的二進(jìn)制數(shù)分別為:00000101和00000110,則有以下值: not a的值為:11111010,即十進(jìn)制中的250。 a and b的值為:00000100,即十進(jìn)制中的4。 a shl 2的值為:00010100,即十進(jìn)制中的20。,6運(yùn)算符的優(yōu)先級(jí) 表達(dá)式中通常有多個(gè)運(yùn)算符,在計(jì)算表達(dá)式的值時(shí),優(yōu)先級(jí)高的先運(yùn)算,優(yōu)先級(jí)低的后運(yùn)算,優(yōu)先級(jí)相同的按從左向右的順序進(jìn)行運(yùn)算。各種運(yùn)算符按優(yōu)先級(jí)由高到低的順序列出如下: (1)圓括號(hào)() (2)函數(shù) (3)not (4)*、/、div、mod、and、shl、shr (5)+、-、or、xor (6)=、=、in,2.4.2
9、表達(dá)式 表達(dá)式是用運(yùn)算符和圓括號(hào)()將運(yùn)算對(duì)象(滿足該運(yùn)算要求的數(shù)據(jù))連接起來(lái)的符合語(yǔ)法規(guī)則的運(yùn)算式子。 運(yùn)算對(duì)象可以是常量、變量及函數(shù),圓括號(hào)用于改變運(yùn)算次序。 在Delphi中,根據(jù)表達(dá)式結(jié)果值的類型,可以將表達(dá)式分為4類:算術(shù)表達(dá)式、布爾表達(dá)式、字符串表達(dá)式和集合表達(dá)式等。,2.5 語(yǔ)句與程序結(jié)構(gòu) 在算法語(yǔ)言中,使用數(shù)據(jù)類型描述數(shù)據(jù)的性質(zhì),使用表達(dá)式描述對(duì)數(shù)據(jù)的運(yùn)算,而使用語(yǔ)句描述對(duì)數(shù)據(jù)的操作。 程序是由一系列語(yǔ)句組成的,任意復(fù)雜的程序均可分解為三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支(選擇)結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這三種結(jié)構(gòu)也能夠組合成任意復(fù)雜的程序。,2.5.1 順序結(jié)構(gòu)語(yǔ)句 順序結(jié)構(gòu)是程序設(shè)計(jì)中最常用
10、也是最簡(jiǎn)單的程序結(jié)構(gòu)。順序結(jié)構(gòu)語(yǔ)句主要由賦值語(yǔ)句和過程語(yǔ)句等簡(jiǎn)單語(yǔ)句組成。 1賦值語(yǔ)句 賦值語(yǔ)句的語(yǔ)法格式及功能如下: 格式1: 變量名:=表達(dá)式; 功能:將賦值號(hào)“:=”右邊表達(dá)式的值賦給左邊的變量。 格式2: 對(duì)象.屬性名:=表達(dá)式; 功能:將表達(dá)式的值賦給對(duì)象的屬性。,2過程語(yǔ)句 系統(tǒng)定義了多種過程語(yǔ)句,用戶在寫程序時(shí)可直接引用。用于輸入、輸出的有讀語(yǔ)句read和寫語(yǔ)句write。 (1)讀語(yǔ)句 有兩種格式: read( 變量,變量, ); readln( 變量,變量, ); (2)寫語(yǔ)句 也有兩種格式: write( 項(xiàng),項(xiàng), ); writeln( 項(xiàng),項(xiàng), );,3復(fù)合語(yǔ)句 復(fù)合語(yǔ)
11、句是用保留字begin和end將若干條語(yǔ)句括起來(lái)作為一條語(yǔ)句使用。 例如: begin t:=x; x:=y; y:=t; end; 語(yǔ)法上最后一條語(yǔ)句與end之間沒有分號(hào),但如果加了分號(hào),也不會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤,系統(tǒng)會(huì)認(rèn)為其間有一條空語(yǔ)句。,2.5.2 分支結(jié)構(gòu)語(yǔ)句 1If語(yǔ)句 格式1:if then 語(yǔ)句1; 功能:如果為true,則執(zhí)行;如果為false,則不執(zhí)行。 格式2:if then 語(yǔ)句1 else 語(yǔ)句2; 功能:如果為true,則執(zhí)行;如果為false,則執(zhí)行。,2嵌套的if語(yǔ)句 if語(yǔ)句可以嵌套使用,即在if語(yǔ)句的then或else之后的語(yǔ)句又是if語(yǔ)句。通常采用以下的語(yǔ)法格式
12、: if then else if then else ,3case語(yǔ)句 格式: case of 值1:語(yǔ)句1; 值2:語(yǔ)句2; 值n:語(yǔ)句n; else 語(yǔ)句n+1; end;,2.5.3 循環(huán)結(jié)構(gòu)語(yǔ)句 Delphi實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句共有3種。 1while循環(huán)語(yǔ)句 while do ; 2repeat循環(huán)語(yǔ)句 repeat ; until ;,3for循環(huán)語(yǔ)句 for循環(huán)語(yǔ)句是“計(jì)數(shù)型循環(huán)”。 格式如下: 格式1:遞增型for語(yǔ)句 for 循環(huán)變量:=初值 to 終值 do 循環(huán)體; 格式2:遞減型for語(yǔ)句 for 循環(huán)變量:=初值 downto 終值 do 循環(huán)體;,2.5.4 bre
13、ak與continue語(yǔ)句 Object Pascal語(yǔ)言提供了2種用于控制流程的轉(zhuǎn)向語(yǔ)句:break和continue。這兩條語(yǔ)句通常用在循環(huán)語(yǔ)句的循環(huán)體內(nèi)以控制循環(huán)語(yǔ)句的流程,常與if條件語(yǔ)句配合使用。 break語(yǔ)句只能用在循環(huán)體內(nèi),其功能是強(qiáng)行退出循環(huán)。 continue語(yǔ)句也用在循環(huán)體中,其作用是強(qiáng)行結(jié)束本次循環(huán),轉(zhuǎn)入循環(huán)開始處,開始執(zhí)行下一次循環(huán)操作。,2.6 自定義數(shù)據(jù)類型 2.6.1 類型定義 對(duì)于每一種自定義數(shù)據(jù)類型,必須遵循“先定義,后使用”的原則。類型定義的語(yǔ)法格式為: 格式: type 類型名=類型; 說明: type是保留字。類型名的命名要符合自定義標(biāo)識(shí)符的命名規(guī)則。
14、每種類型的定義都有各自的語(yǔ)法。類型定義出現(xiàn)在程序說明部分。,2.6.2 枚舉類型和子界類型 枚舉類型和子界類型都屬于順序類型,是兩種用戶自定義的簡(jiǎn)單數(shù)據(jù)類型。 1枚舉類型 格式: type 類型名=(值1,.,值n); 說明: “type”為保留字,表示類型定義的開始 “類型名”為任意合法的自定義標(biāo)識(shí)符 “值1”、“值2”“值n”均為自定義標(biāo)識(shí)符,是枚 舉類型中的所有數(shù)據(jù)元素,也稱枚舉常量。 枚舉常量的序號(hào)從0開始依次向后計(jì)數(shù),即“值1”的序號(hào)為0,“值2”的序號(hào)為1,依此類推。,2子界類型 子界類型指的是某個(gè)順序類型(稱為基類)的一個(gè)子集。定義子界類型的語(yǔ)法格式是: type 類型名=下界值
15、.上界值; 例如: type month=1.12; /定義子界類型month var months:month; /定義months為屬于子界類型month的變量,2.6.3 數(shù)組類型 1一維靜態(tài)數(shù)組的定義與使用 一維靜態(tài)數(shù)組類型的定義格式為: type 數(shù)組類型名=array下標(biāo)類型 of 基類型; 說明: array是保留字。下標(biāo)類型一般為子界型;基類型是數(shù)組元素的類型,可以為任意類型。 例如,下面定義一個(gè)一維數(shù)組類型num: type num=array1.5 of integer;,2二維靜態(tài)數(shù)組的定義與使用 二維靜態(tài)數(shù)組比一維數(shù)組多一個(gè)下標(biāo),定義格式為: 格式1: type 數(shù)組類
16、型名=array下標(biāo)類型1,下標(biāo)類型2 of 基類型; 格式2: type 數(shù)組類型名=array下標(biāo)類型1 of array 下標(biāo)類型2 of 基類型; 例如: Type atype=array1.10,1.10 of integer; btype=array1.4,1.3 of real; 二維靜態(tài)數(shù)組類型定義之后,還要聲明二維數(shù)組變量,聲明方式與一維數(shù)組相似。,3動(dòng)態(tài)數(shù)組的定義與使用 靜態(tài)數(shù)組在使用之前其類型及元素的個(gè)數(shù)均已確定,而動(dòng)態(tài)數(shù)組沒有固定的大小或長(zhǎng)度,因此在程序運(yùn)行時(shí)可為動(dòng)態(tài)數(shù)組動(dòng)態(tài)地分配存儲(chǔ)空間。 一維動(dòng)態(tài)數(shù)組的定義格式為: type 數(shù)組類型名=array of 基類型;
17、多維動(dòng)態(tài)數(shù)組的定義格式為: type 數(shù)組類型名=array of array ofarray of 基類型;,2.6.4 集合類型 1集合類型的定義 集合(set)是具有相同性質(zhì)但又可以區(qū)分開來(lái)的一組元素的整體。定義集合類型的一般格式為: 格式: type 集合類型名=set of 基類型; 說明:set、of是保留字。基類型即集合元素的類型,通常是:字符型、布爾型、枚舉型和子界型四種順序類型。集合元素個(gè)數(shù)不能超過256個(gè),集合元素沒有次序關(guān)系。,2集合類型的運(yùn)算 (1)集合類型的值 集合類型的值放在一對(duì)方括號(hào)中,多個(gè)元素間用逗號(hào)分隔,或用子界方式表示連續(xù)的元素,每個(gè)元素可以表示為元素類型允
18、許的表達(dá)式。 例如: a.z /包含小寫字母集合常量 0.9,20 /包含0到9及20的整數(shù)集合常量 (2)賦值運(yùn)算 可以對(duì)集合變量進(jìn)行賦值運(yùn)算。例如: var s:set of 1.2; si:set of 0.100; s:= ; / 表示空集 si:=1.10,20;,(3)關(guān)系運(yùn)算 關(guān)系運(yùn)算符=、用于比較兩個(gè)集合是否相等。=(包含)用于測(cè)試一個(gè)集合是否為另一個(gè)集合的子集。 例如: 1,2=1.6 /結(jié)果為false 注意:集合中沒有運(yùn)算。,(4)屬于運(yùn)算(in) 保留字in是一個(gè)關(guān)系運(yùn)算符,用于測(cè)試集合元素類型的元素是否在某個(gè)集合中。例如: 1 in 1.9 /結(jié)果為true a in
19、 a.z /結(jié)果為true (5)集合運(yùn)算 集合運(yùn)算符有+(并)、-(差)、*(交)。運(yùn)算規(guī)則同數(shù)學(xué)中的集合運(yùn)算。例如: 1.3+3,5,7 /結(jié)果為1.3,5,7 1,2,3* /結(jié)果為 1.3-3,5,7 /結(jié)果為1,2,2.6.5 字符串類型 字符串類型(string)是以字符為元素類型的一維數(shù)組,并且在字符數(shù)組的基礎(chǔ)上增加了許多功能。 1.字符串類型定義格式 格式: type 字符串類型名=string長(zhǎng)度; 說明:string保留字。長(zhǎng)度省略,表示字符串長(zhǎng)度不確定。 例如: type string20=string20; /定義字符串類型string20,字符串最大長(zhǎng)度為20 var
20、 s:string20; /定義字符串類型變量s,最大長(zhǎng)度為20 。,2.字符串的運(yùn)算 (1)字符串元素的運(yùn)算 s1:=a; /對(duì)字符串第一個(gè)字符所在存儲(chǔ)單元賦值為a (2)字符串變量的運(yùn)算: 對(duì)字符串變量可以進(jìn)行賦值、讀、寫、比較、連接等運(yùn)算。例如: s:=china; readln(s); writeln(s); s:=china+nanjing; if sabcde then s:=123; (3)求字符串長(zhǎng)度 用標(biāo)準(zhǔn)函數(shù)length(s)可以返回字符串s的長(zhǎng)度。 當(dāng)length(s)=0表示字符串s為空字符串。,2.6.6 記錄類型 1記錄類型的定義 記錄類型是一個(gè)不同種類元素的集合,
21、每個(gè)元素稱為字段(field)。在類型定義時(shí),指定記錄類型的名字和每個(gè)字段名。聲明格式為: type 記錄類型名=record 字段1:類型1; 字段2:類型2; 字段n:類型 n; end;,2記錄類型的使用 (1)限定訪問記錄字段 格式: 記錄類型變量名.字段名 說明:該格式為訪問記錄類型變量的某個(gè)字段?!?”是限定標(biāo)識(shí)符,不能省略。 例如,訪問記錄類型變量stu read(stu.no); /訪問stu變量的no字段,并通過鍵盤輸入其數(shù)值。 :=liping; /訪問stu變量的name字段,并對(duì)其賦值。,(2)使用開域(with)語(yǔ)句訪問記錄字段 格式: With 記錄
22、變量名 do 語(yǔ)句; 說明:用with打開“記錄類型變量名”指定的變量,下面訪問其字段時(shí)就不需要再在字段名前加“記錄類型變量名”了。例如: with stu do begin read(no); /省略字段名前的小圓點(diǎn)和記錄類型變量名 name:=liping; sex:=male; age:=18; end;,3記錄數(shù)組 如果記錄作為數(shù)組元素的類型,則稱為記錄數(shù)組。 例如: var class:array1.50 of student; 說明class是一個(gè)具有50個(gè)元素的數(shù)組,數(shù)組元素的類型是前面定義的記錄類型student。 class1代表第一條學(xué)生記錄。,2.6.7 文件類型 在計(jì)算
23、機(jī)系統(tǒng)中,存放在外存儲(chǔ)器中的數(shù)據(jù)集合稱為文件(file)。在delphi中,文件類型是由相同類型的元素組成的有序集合。文件類型的聲明格式為: type 文件類型名 = file of 基類型; 例如,聲明一個(gè)文件類型RecordList,以上面定義的TdateRec為數(shù)據(jù)類型。 type RecordList = file of TdateRec; var Myrecordlist:RecordList;,2.6.8 指針類型 指針是指向物理存儲(chǔ)單元地址的變量,用于表示動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu)。 1指針類型及指針類型變量的定義 格式: type 指針類型名=基類型; 說明:基類型為指針?biāo)赶虻膭?dòng)態(tài)變量的
24、數(shù)據(jù)類型。 例如: type dd=integer; /定義指針類型dd var p:dd; /聲明變量p為指針類型dd,p可指向integr類型的變量,2指針?biāo)赶虻膭?dòng)態(tài)變量 引用指針?biāo)赶虻膭?dòng)態(tài)變量,可采用如下格式: 指針變量 例如: 指針p指向的動(dòng)態(tài)變量為p。 若p的類型為integer,則可對(duì)p進(jìn)行如下操作: P:=10; p:=p+20; readln(p); writeln(p);,3對(duì)指針變量的操作 (1)指針賦空值 p:=nil; nil是指針類型的常量,表示空值,可賦給任意指針變量,表示指針不指向動(dòng)態(tài)變量 (2)指針獲得變量的地址 用運(yùn)算符可獲得變量的地址。 var i:in
25、teger; p:integer; i:=10; /對(duì)整型變量i賦值為10 p:=i; /獲得變量i的地址并賦給指針變量p writeln(p); /輸出p的值,結(jié)果是10,(3)賦給另一指針值 兩個(gè)基類型相同的指針變量可以進(jìn)行賦值。例如: var p,q:integer; i:integer; p:=i; /獲得變量i的地址并賦給指針變量p q:=p; /賦值后,p、q指向同一個(gè)動(dòng)態(tài)變量,即有相同的地址 (4)關(guān)系運(yùn)算(=、) 兩個(gè)相同基類型的指針可以進(jìn)行=、運(yùn)算。 If p=q then q:=10 ; /兩指針相等時(shí),表示指向同一個(gè)動(dòng)態(tài)變量 (5)標(biāo)準(zhǔn)過程new和dispose,2.7
26、過程與函數(shù) 2.7.1 標(biāo)準(zhǔn)過程與標(biāo)準(zhǔn)函數(shù) 過程和函數(shù)是實(shí)現(xiàn)一定功能的語(yǔ)句塊,是程序中的特定功能單元,即子程序。 Delphi語(yǔ)言的過程有兩種:標(biāo)準(zhǔn)過程與自定義過程。標(biāo)準(zhǔn)過程是系統(tǒng)內(nèi)部預(yù)先定義好的,用戶不必編寫任何代碼即可直接調(diào)用 。 函數(shù)也是完成某一功能的程序段,與過程的區(qū)別在于函數(shù)有返回值,而過程沒有返回值。Delphi的函數(shù)也分兩類:標(biāo)準(zhǔn)函數(shù)與自定義函數(shù)。,2.7.2 過程定義與調(diào)用 1過程的定義 自定義過程是由用戶自己創(chuàng)建的過程,過程定義的形式如下。 格式: procedure 過程名 () ; /過程首部 局部說明部分 /過程說明部分 begin /過程體 語(yǔ)句體; end;,2.過
27、程的調(diào)用 自定義過程定義好后,必須通過調(diào)用才能被執(zhí)行。要想調(diào)用某個(gè)過程,該過程必須在調(diào)用語(yǔ)句之前定義。過程調(diào)用語(yǔ)句的格式主要有: 格式1: 過程名(實(shí)參表); 說明:該過程有參數(shù) 格式2: 過程名;或過程名( ); 說明:該過程無(wú)參數(shù) 注意:有參數(shù)的過程,調(diào)用時(shí)實(shí)參的個(gè)數(shù)、位置、數(shù)據(jù)類型必須與形參一一對(duì)應(yīng),實(shí)參之間用逗號(hào)分隔。,2.7.3 函數(shù)定義與調(diào)用 1函數(shù)的定義 函數(shù)的定義是在程序的implementation部分,具體形式如下。 function 函數(shù)名 ():函數(shù)返回值的類型; /函數(shù)首部 局部說明部分; /函數(shù)說明部分 begin /函數(shù)體 ; := /也可以用Result系統(tǒng)保留
28、字代替 end;,2函數(shù)的調(diào)用 調(diào)用函數(shù)的一般格式如下。 格式1: 變量名:=函數(shù)名(實(shí)參列表); 格式2: 表達(dá)式 運(yùn)算符 函數(shù)名(實(shí)參列表); 說明:函數(shù)的調(diào)用只能在表達(dá)式中。函數(shù)有一個(gè)返回值,可以和同類型的數(shù)據(jù)一樣作為表達(dá)式或表達(dá)式的一部分參加運(yùn)算。,2.7.4 形式參數(shù)的三種類型 函數(shù)或過程定義時(shí)參數(shù)列表中的參數(shù)稱為形式參數(shù),簡(jiǎn)稱形參;而函數(shù)或過程調(diào)用時(shí)參數(shù)列表中的參數(shù)稱為實(shí)在參數(shù),簡(jiǎn)稱實(shí)參。 在過程或函數(shù)調(diào)用時(shí),形參與實(shí)參必須一一對(duì)應(yīng),且類型一致。在過程或函數(shù)定義時(shí),形參有三種類型:值參、變量參數(shù)和常量參數(shù)。,2.7.5 全局變量與局部變量 在主程序或函數(shù)、過程的說明部分都可以說明標(biāo)
29、識(shí)符作為常量名、變量名、類型名等,但在不同地方說明的標(biāo)識(shí)符的有效范圍是不同的。變量的作用范圍被稱為變量的作用域。 如果變量在一個(gè)過程或函數(shù)中定義,則該變量只能在該過程或函數(shù)中使用,這樣的變量稱為局部變量。 如果變量是在過程或函數(shù)之外聲明的變量,則稱為全局變量。,第3章 窗體與常用組件,3.1 窗體組件 3.1.1 主要屬性 窗體是Delphi最基本的組件,也是應(yīng)用程序的界面。 Name : 窗體組件的名稱,字符串類型。每個(gè)組件的名稱都是唯一的。 Caption :窗體標(biāo)題,字符串類型。 Enabled :邏輯類型,設(shè)置窗體的有效性。值為True時(shí),窗體有效。值為False時(shí),窗體及窗體中的所有
30、組件均無(wú)效。默認(rèn)值為True。 Visible :邏輯類型,設(shè)置窗體的可視性。值為True時(shí),窗體可見,默認(rèn)值為True。, Left:窗體左上角在屏幕上的橫坐標(biāo),整型,以像素為單位。 Top:窗體左上角在屏幕上的縱坐標(biāo),整型,以像素為單位。 Height:窗體的高度,整型,以像素為單位。 Width:窗體的寬度,整型,以像素為單位。 ClientHeight:窗體工作區(qū)的高度,整型,以像素為單位。 ClientWidth :窗體工作區(qū)的寬度,整型,以像素為單位。 Color:設(shè)置窗體工作區(qū)的背景顏色。 WindowsState:設(shè)置窗體運(yùn)行時(shí)的正常、最大、最小等狀態(tài)。默認(rèn)值為正常。,3.1.
31、2 常用事件 每一個(gè)組件都有屬性、方法、事件三要素,事件是面向?qū)ο缶幊讨蟹浅V匾母拍?。事件是指程序運(yùn)行時(shí),針對(duì)作用于某一個(gè)組件上的某一個(gè)動(dòng)作的響應(yīng)。比如,應(yīng)用程序運(yùn)行時(shí),用戶單擊窗體,Delphi要對(duì)“單擊”這一動(dòng)作做出響應(yīng),即觸發(fā)窗體的OnClick事件(單擊事件)。作用于組件上的動(dòng)作可以是用戶產(chǎn)生的,也可以是系統(tǒng)產(chǎn)生的。由用戶動(dòng)作觸發(fā)的事件被稱為用戶事件,比如窗體的單擊事件(OnClick事件)和雙擊事件(OnDblClick事件)。由系統(tǒng)觸發(fā)的事件被稱為系統(tǒng)事件,比如窗體的OnCreate事件和OnShow事件。,窗體的主要事件介紹如下: (1)OnCreate事件 當(dāng)應(yīng)用程序運(yùn)行時(shí),
32、在創(chuàng)建窗體之前觸發(fā)該事件。OnCreate事件處理程序一般用于應(yīng)用程序的初始化工作。 (2)OnShow事件和OnHide事件 當(dāng)窗體被顯示時(shí),觸發(fā)OnShow事件。當(dāng)窗體被隱藏時(shí),觸發(fā)OnHide事件。 (3)OnActivate事件和OnDeactivate事件 當(dāng)窗體被激活時(shí),觸發(fā)OnActivate事件。當(dāng)窗體失去焦點(diǎn)時(shí),觸發(fā)OnDeactivate事件。 (4)OnClose事件 在窗體被關(guān)閉之前,觸發(fā)OnClose事件。 (5)OnClick事件和OnDblClick事件 用戶單擊窗體時(shí),觸發(fā)OnClick事件。用戶雙擊窗體時(shí),觸發(fā)OnDblClick事件。,3.1.3 應(yīng)用實(shí)例
33、【例3-1】利用窗體的OnCreate事件,設(shè)置窗體的標(biāo)題、高度、寬度以及工作區(qū)的背景顏色。利用窗體的OnClick事件改變窗體的標(biāo)題、工作區(qū)的背景顏色。利用窗體的OnDblClick事件改變窗體的標(biāo)題、工作區(qū)的背景顏色并將窗體最大化。編程步驟如下: (1)啟動(dòng)Delphi進(jìn)入其主界面,對(duì)象監(jiān)視器的當(dāng)前組件是Form1窗體。單擊對(duì)象監(jiān)視器的事件選項(xiàng)卡,單擊選定OnCreate事件,再雙擊OnCreate事件右邊的空白處。進(jìn)入應(yīng)用程序的單元文件,Delphi為用戶自動(dòng)創(chuàng)建了一個(gè)過程,該過程即是窗體OnCreate事件的事件處理程序(簡(jiǎn)稱事件代碼)。,(2)用戶在事件處理程序中輸入代碼。 (3)參
34、照第一步中的操作,在對(duì)象監(jiān)視器的事件選項(xiàng)卡中,選定OnClick事件,雙擊OnClick事件右邊的空白處,進(jìn)入OnClick事件的事件處理程序。用戶輸入代碼。 (4)操作同上,在OnDblClick事件的事件處理程序中用戶輸入代碼 。 (5)單擊工具欄上的“Save All”按鈕,將應(yīng)用程序的所有文件保存到文件夾:“D:愛好者窗體事件”。 (6)單擊工具欄上的“Run”按鈕,運(yùn)行應(yīng)用程序 。,3.2 常用三組件 3.2.1 Label組件 Label組件也叫標(biāo)簽組件,位于組件板“Standard”選項(xiàng)卡的第五個(gè)位置。Label組件在應(yīng)用程序界面起說明或提示信息的作用。Label組件的主要屬性有
35、: Name Label組件的名稱,字符串類型。 Caption 設(shè)置Label組件的標(biāo)題,字符串類型。 A1ignment 設(shè)置Label組件顯示標(biāo)題的水平對(duì)齊方式 。, Layout 設(shè)置Label組件顯示標(biāo)題的垂直對(duì)齊方式,取值可為:tlTop(頂對(duì)齊)、tlCenter(垂直居中)、tlBottom(底對(duì)齊)。 AutoSize 邏輯類型,值為True時(shí),Label組件的大小隨Caption屬性值的大小變化。默認(rèn)值為True。 WordWarp 邏輯類型,值為True時(shí),Caption屬性值在Label組件中分行顯示。默認(rèn)值為False。 Transparent 邏輯類型,值為True
36、時(shí),背景是透明的。默認(rèn)值為False。,3.2.2 Edit組件 Edit組件也叫單行編輯組件,位于組件板“Standard”選項(xiàng)卡的第六個(gè)位置。Edit組件可以接收用戶輸入的一行字符串或動(dòng)態(tài)修改字符串。 Edit組件的主要屬性有: Name Edit組件的名稱,字符串類型。 Text 保存用戶輸入的字符串,字符串類型。 Enabled 邏輯類型,值為True時(shí),Edit組件為有效狀態(tài),否則為無(wú)效狀態(tài)。默認(rèn)值為True。, ReadOnly 邏輯類型,值為True時(shí),Edit組件中Text屬性的值只能讀出不能修改。默認(rèn)值為False。 AutoSelect 邏輯類型,值為True且當(dāng)Edit組
37、件獲得焦點(diǎn)時(shí),Edit組件中Text屬性的所有字符串被自動(dòng)選中。默認(rèn)值為True。 PasswordChar 設(shè)置輸入保密字符串時(shí)的顯示字符。若設(shè)置為“*”,則所有輸入字符顯示為“*”。默認(rèn)值為“#0”,無(wú)保密功能。 CharCase 設(shè)置字符的大小寫形式 。,Edit組件的主要事件: OnChange事件,當(dāng)Edit組件中的Text屬性值發(fā)生變化時(shí),將觸發(fā)OnChange事件。 焦點(diǎn)是程序運(yùn)行時(shí)組件的一種當(dāng)前狀態(tài),表明該組件可以接收數(shù)據(jù)或進(jìn)行某種操作。有些組件有焦點(diǎn),而有些組件卻沒有焦點(diǎn)。比如,Edit組件就有焦點(diǎn),當(dāng)它獲得焦點(diǎn)時(shí),表示Edit組件當(dāng)前可以接收用戶輸入的字符串。Label組件
38、卻沒有焦點(diǎn)。當(dāng)窗體中有多個(gè)可獲得焦點(diǎn)的組件時(shí),當(dāng)前時(shí)刻只能有一個(gè)組件獲得焦點(diǎn)。一般情況下,當(dāng)程序運(yùn)行時(shí)先創(chuàng)建的組件先獲得焦點(diǎn)。在應(yīng)用程序的運(yùn)行界面,用戶按“Tab”鍵,可以看到組件焦點(diǎn)的轉(zhuǎn)移。,3.2.3 Button組件 Button組件是最常用的按鈕組件,位于組件板“Standard”選項(xiàng)卡的第八個(gè)位置。Button組件常用于程序運(yùn)行界面接受用戶的單擊動(dòng)作,從而執(zhí)行相應(yīng)的單擊事件處理程序。Button按鈕的主要屬性有: Name Button按鈕的名稱,字符串類型。 Caption Button按鈕的標(biāo)題,字符串類型。 Enabled 邏輯類型,值為True時(shí),Button按鈕為有效狀態(tài)。
39、默認(rèn)值為True。, Visible 邏輯類型,值為True時(shí),Button按鈕為可見狀態(tài)。默認(rèn)值為True。 Anchor 設(shè)置Button按鈕與其容器組件在上、下、左、右四條邊上的相對(duì)位置關(guān)系,集合類型。 例如:Button1. Anchor:=akLeft,akTop; 表示Button1按鈕與其容器組件在左邊和頂邊的位置固定不變。 Button組件的主要事件有: OnClick單擊事件和OnDblClick雙擊事件。,3.2.4 應(yīng)用實(shí)例 【例3-2】用三個(gè)Edit組件分別存放兩個(gè)整型操作數(shù)和一個(gè)運(yùn)算結(jié)果。用四個(gè)Button按鈕分別實(shí)現(xiàn)加、減、乘、除四則運(yùn)算。用四個(gè)Label組件給出相
40、應(yīng)的說明信息。,3.3 按鈕類型組件 3.3.1 BitBtn組件 BitBtn組件也叫位圖按鈕,位于組件板“Additional”選項(xiàng)卡的第二個(gè)位置。位圖按鈕的主要屬性有: Caption 位圖按鈕的標(biāo)題,字符串類型。 Enabled 邏輯類型,值為True時(shí),BitBtn組件為有效狀態(tài)。默認(rèn)值為True。 Kind 設(shè)置位圖按鈕的類型,Delphi提供了bkCustom、bkYes、bkNo、bkAbort、bkAll、bkCancel等十余種取值。默認(rèn)值為bkCustom。 Glyph 設(shè)置位圖按鈕上顯示的位圖,即bmp圖片文件。,3.3.2 RadioButton與RadioGroup
41、組件 1. RadioButton組件 RadioButton組件也叫單選按鈕,位于組件板“Standard”選項(xiàng)卡的第十個(gè)位置。單選按鈕一般成組出現(xiàn),互斥使用,即一組單選按鈕中每次只能選中其中的一個(gè)單選按鈕,不可能同時(shí)選中兩個(gè)或兩個(gè)以上。 單選按鈕的主要屬性有: Caption 單選按鈕的標(biāo)題,字符串類型。 Checked 邏輯類型,值為True時(shí),單選按鈕被選中,值為False時(shí),單選按鈕未被選中。,2. RadioGroup組件 RadioGroup組件也叫單選按鈕組,位于組件板“Standard”選項(xiàng)卡的倒數(shù)第三個(gè)位置。主要屬性有: Caption 單選按鈕組的標(biāo)題,字符串類型。 It
42、ems 單選按鈕列表,用于設(shè)置每個(gè)單選按鈕的標(biāo)題。 Columns 設(shè)置單選按鈕組中單選按鈕的排列列數(shù),默認(rèn)值為1。 Itemlndex 單選按鈕組中當(dāng)前被選中的單選按鈕的索引號(hào)。,3. 單選按鈕組與分組框中單選按鈕的區(qū)別 分組框是一個(gè)容器組件,位于組件板“Standard”選項(xiàng)卡的倒數(shù)第四個(gè)位置。分組框中的單選按鈕是將每個(gè)RadioButton按鈕直接拖放到分組框中而形成。而單選按鈕組中的單選按鈕是通過其Items 屬性設(shè)置得到。 單選按鈕組中的哪一個(gè)單選按鈕被選中,是根據(jù)單選按鈕組的Itemlndex屬性來(lái)判斷。分組框中的哪一個(gè)單選按鈕被選中只能根據(jù)單選按鈕的Checked屬性來(lái)判斷,它們
43、沒有Itemlndex屬性。,3.3.3 CheckBox組件 CheckBox組件也叫復(fù)選框,位于組件板“Standard”選項(xiàng)卡的第九個(gè)位置。多個(gè)復(fù)選框可以進(jìn)行重復(fù)選擇,彼此之間沒有影響。復(fù)選框的主要屬性有: Caption 復(fù)選框的標(biāo)題,字符串類型。 Checked 邏輯類型,值為True時(shí),復(fù)選框被選中,值為False時(shí),復(fù)選框未被選中。默認(rèn)值為False。,3.3.4 應(yīng)用實(shí)例 【例3-3】利用單選按鈕組和復(fù)選框設(shè)置Edit組件中文本的顏色和字體樣式。設(shè)置兩個(gè)BitBtn按鈕,分別用于確認(rèn)和退出系統(tǒng)。,3.4 單行編輯組件 3.4.1 MaskEdit組件 MaskEdit組件也叫掩
44、碼編輯框,位于組件板“Additional”選項(xiàng)卡的第四個(gè)位置。利用掩碼編輯框可以設(shè)計(jì)出多種形式的數(shù)據(jù)輸入格式。MaskEdit組件的主要屬性有: EditMask 用于設(shè)置掩碼字符串。 Text 字符串類型,掩碼字符串第二部分為0時(shí),Text屬性僅保存用戶輸入的字符。 EditText 字符串類型,保存掩碼編輯框中的全部字符,不受掩碼字符串第二部分的影響。,3.4.2 SpinEdit組件 SpinEdit組件也叫數(shù)字編輯框,位于組件板“Samples”選項(xiàng)卡的第五個(gè)位置。SpinEdit組件的主要屬性有: Value 保存用戶輸入的整型數(shù)據(jù)。 MaxValue 整型,設(shè)置Value屬性的最
45、大取值。默認(rèn)值為0,表示取值不受限制。 MinValue 整型,設(shè)置Value屬性的最小取值。默認(rèn)值為0。 Increment 整型,設(shè)置SpinEdit組件上微調(diào)按鈕的增加或減少的步長(zhǎng)。,3.4.3 應(yīng)用實(shí)例 【例3-4】利用MaskEdit組件輸入年份和月份,判斷當(dāng)前年份是否為閏年并計(jì)算當(dāng)前月份的天數(shù)。能被400整除,或者不能被100整除但能被4整除的年份是閏年,其他年份為平年。閏年2月為29天,平年2月為28天。,【例3-5】利用SpinEdit組件輸入一個(gè)整數(shù),然后計(jì)算該整數(shù)的階乘,并用一個(gè)Edit組件顯示計(jì)算結(jié)果。,3.5 多行編輯組件 3.5.1 Memo組件 Memo組件是多行編
46、輯組件,位于組件板“Standard”選 項(xiàng)卡的第七個(gè)位置。Memo組件的主要屬性: Lines Lines屬性是一個(gè)TStrings對(duì)象,擁有自己的屬性和 方法。 Text 用于存放Memo組件中的所有字符串,包括每行之間 的回車和換行字符。 Align 設(shè)置Memo組件在其容器組件中的位置。, Alignment 設(shè)置Memo組件中字符串的對(duì)齊方式,有左中右三種方 式。 ScrollBars 設(shè)置Memo組件的滾動(dòng)條樣式。 SelText 運(yùn)行時(shí)屬性,保存Memo組件中當(dāng)前被選中的字符串。 SelLength 運(yùn)行時(shí)屬性,保存或設(shè)置Memo組件中當(dāng)前被選中字符 串的長(zhǎng)度。 SelStart
47、 運(yùn)行時(shí)屬性,保存或設(shè)置Memo組件中當(dāng)前被選中字符 串的起始位置。,2. Memo組件的常用方法 Memo組件的幾個(gè)常用方法: CutToClipboard 將Memo組件中被選中的字符串剪切到剪貼板。 CopyToClipboard 將Memo組件中被選中的字符串復(fù)制到剪貼板。 PasteFromClipboard 將剪貼板的內(nèi)容粘貼到Memo組件中光標(biāo)所在 的位置。 Clear 清除Memo組件中的所有字符串。,3. Memo組件Lines對(duì)象的屬性和方法 以Memo1組件為例,說明Lines對(duì)象主要方法和屬性的 使用。 Memo1. Lines.Add( abc ); 在Memo組件的
48、最后增加一行字符串a(chǎn)bc。 Memo1. Lines.Insert( 0,abc ); 在Memo組件的第一行增加一行字符串a(chǎn)bc,原第一 行和其后面的行向后移動(dòng)一行。 Memo1. Lines.Delete( 1 ); 刪除Memo組件中的第二行。 n:=Memo1.Lines.Count; 將Memo組件中的行數(shù)賦給整型變量n。 Memo1.Lines.LoadFromFile(d:textf1.txt); 將指定的文本文件裝入Memo1組件中。,3.5.2 RichEdit組件 RichEdit組件位于組件板“Win32”選項(xiàng)卡的第五個(gè)位 置,RichEdit組件具有Memo組件的所有屬
49、性和方法,它 還具有下面幾個(gè)常用的屬性和方法。 DefAttributes 用于設(shè)置RichEdit組件中字符串的默認(rèn)字體,如字 體、大小、顏色和顯示風(fēng)格等。 SelAttributes 用于設(shè)置RichEdit組件中當(dāng)前所選字符串的字體、大 小、顏色和顯示風(fēng)格等。 FindText方法 在RichEdit組件中,從指定的起始位置開始、按指定 的查找長(zhǎng)度查找指定的字符串。,3.5.3 應(yīng)用實(shí)例 【例3-6】在Memo組件中利用其Lines屬性的方 法實(shí)現(xiàn)行的插入、刪除、移動(dòng)和交換,并用一個(gè) Edit組件動(dòng)態(tài)顯示Memo組件中的行數(shù)。,【例3-7】在RichEdit組件中利用其常用方 法,實(shí)現(xiàn)剪
50、切、復(fù)制、粘貼等操作,并實(shí) 現(xiàn)字符串的查找功能。,3.6 列表框與組合框 3.6.1 ListBox組件 ListBox組件也叫列表框,位于組件板“Standard”選項(xiàng)卡的第十一個(gè)位置。 1. ListBox組件的主要屬性 Items Items屬性是一個(gè)TStrings類型的對(duì)象,用 于設(shè)置列表框中的所有項(xiàng)目列表。 Itemlndex 用于確定被選中項(xiàng)在列表框中的位置,從0開始 計(jì)數(shù)。若列表框中沒有項(xiàng)目被選中,則該屬性值 為-1。, MultiSelect 邏輯類型屬性,當(dāng)其值為True時(shí),表示用戶可以從列 表框中選中多個(gè)項(xiàng)目; ExtendedSelect 邏輯類型屬性,Extended
51、Select屬性與MultiSelect屬 性配合使用。 SelCount 用于返回當(dāng)前列表框中被選中的項(xiàng)目個(gè)數(shù)。SelCount 屬性僅使用在MultiSelect屬性值為True的情況。 Selected Selected屬性是一個(gè)邏輯類型的數(shù)組,列表框中的每 一項(xiàng)對(duì)應(yīng)了該數(shù)組中的一個(gè)元素,若列表框中的i項(xiàng)被選 中,則Selectedi為True,否則Selectedi為False。,2. ListBox組件的方法 Clear 清除ListBox組件中的所有項(xiàng)目。 3. ListBox組件的主要事件 OnClick事件 用戶單擊ListBox組件時(shí)觸發(fā)該事件。 OnKeyPress事件 用
52、戶按下某個(gè)鍵時(shí)觸發(fā)該事件。,3.6.2 CheckListBox組件 CheckListBox組件又叫復(fù)選列表框,位于組件板 “Additional”選項(xiàng)卡的第十一個(gè)位置。 CheckListBox組件除了具有ListBox組件的屬性、方 法和事件,還具有自己的一些屬性和事件。 Checked屬性 Checked屬性是一個(gè)邏輯類型的數(shù)組,復(fù)選列表框中 的每一項(xiàng)對(duì)應(yīng)了該數(shù)組中的一個(gè)元素,若復(fù)選列表框中i 項(xiàng)前的復(fù)選框被選中,則Checked i為True,否則 Checked i為False。 OnClickCheck事件 用戶單擊選項(xiàng)前的復(fù)選框時(shí)觸發(fā)該事件。,3.6.3 ComboBox組件
53、1. ComboBox組件的主要屬性 Items Items屬性與ListBox1組件中的Items屬性類似, 由多個(gè)選項(xiàng)組成。 Text 保存用戶輸入的字符串或從下拉列表框中選中的 某一項(xiàng),字符串類型。 SelText 保存用戶在編輯框中選中的字符串,字符串類型。 Style 設(shè)置ComboBox組件的風(fēng)格,一般用默認(rèn)設(shè)置。,2. ComboBox組件的方法 ComboBox組件與ListBox組件的主要方 法相同,但個(gè)別有些差異。 例如:ComboBox1.Clear; 表示清除ComboBox1中編輯框和下拉列 表框中的所有內(nèi)容。 ComboBox1. Items .Clear; 表示清
54、除ComboBox1中下拉列表框中的 內(nèi)容。,3.6.4 應(yīng)用實(shí)例 【例3-8】利用ListBox組件、CheckListBox組件、 ComboBox組件和Radiogroup組件,在RichEdit組件中設(shè) 置當(dāng)前所選字符串的字體、字形、字號(hào)和顏色。,3.7 滑塊組件 3.7.1 ScrollBar組件 1. ScrollBar組件的主要屬性 Kind 設(shè)置滾動(dòng)條為水平方式或垂直方式。 Min 設(shè)置滾動(dòng)條中滑塊位置的最小取值,整型。默認(rèn)值為0。 Max 設(shè)置滾動(dòng)條中滑塊位置的最大取值,整型。默認(rèn)值為100。 Position 設(shè)置或保存滾動(dòng)條中滑塊當(dāng)前位置的取值,整型。默認(rèn) 值為0。, S
55、mallChange 設(shè)置滾動(dòng)條中滑塊的最小移動(dòng)單位,默認(rèn)值 為1。單擊滾動(dòng)條左邊的三角形按鈕,滑塊左移 一個(gè)最小單位;單擊滾動(dòng)條右邊的三角形按鈕, 滑塊右移一個(gè)最小單位。按鍵盤上的“”鍵或“” 鍵也可使滑塊左移或右移一個(gè)最小單位。 LargeChange 設(shè)置滾動(dòng)條中滑塊的最大移動(dòng)單位,默認(rèn)值為 1。單擊滑塊左邊的空白處,可每次左移一個(gè)最 大單位;單擊滑塊右邊的空白處,可每次右移一 個(gè)最大單位。,3.7.2 TrackBar組件 TrackBar組件又叫刻度尺,位于組件板“Win32”選項(xiàng) 卡的第六個(gè)位置。其主要屬性介紹如下: Orientation 用于設(shè)置TrackBar組件的水平方式或
56、垂直方式。 Min 設(shè)置刻度尺中滑塊位置的最小取值,整型。默認(rèn)值為0。 Max 設(shè)置刻度尺中滑塊位置的最大取值,整型。默認(rèn)值為10。 Position 設(shè)置或保存刻度尺中滑塊當(dāng)前位置的取值,整型。默認(rèn) 值為0。, LineSize 設(shè)置刻度尺上滑塊左移或右移(當(dāng)用戶按鍵 盤上的“”鍵或“”鍵時(shí))的單位,默認(rèn)值為1。 PageSize 設(shè)置刻度尺上滑塊左移或右移(當(dāng)用戶按鍵盤 上的“PageUp”鍵或“PageDown”鍵時(shí))的單位, 默認(rèn)值為2。 Frequency 用于設(shè)置刻度尺上刻度的間距,默認(rèn)值為1。 TickMarks 設(shè)置刻度出現(xiàn)在刻度尺上的相對(duì)位置,有上 端、下端、上下端三種取值,
57、默認(rèn)值為下端。,3.7.3 應(yīng)用實(shí)例 【例3-9】利用三個(gè)ScrollBar組件分別調(diào)整紅、 綠、藍(lán)三基色,然后用三基色的合成色設(shè)置漢字 的顏色。用一個(gè)TrackBar組件來(lái)控制三個(gè) ScrollBar組件的最大移動(dòng)單位。,3.8 定時(shí)器與其他組件 3.8.1 Panel組件 Panel組件也叫面板,位于組件板“Standard” 選項(xiàng)卡的倒數(shù)第二個(gè)位置。Panel組件的主要屬 性介紹如下: Caption 用于設(shè)置Panel組件上顯示的標(biāo)題。 Align 用于設(shè)置Panel組件在其容器組件上的相對(duì)位 置,可設(shè)置左端、右端、頂部、底部、剩余空間 等方式,默認(rèn)值方式為alNone,表示沒有限定。, Alignment 用于設(shè)置Panel組件中標(biāo)題的對(duì)齊方式。有左、 居中、右三種方式,默認(rèn)方式為居中。 Enabled 用于設(shè)置Panel組件及其所包含組件是否有效。 其值為True時(shí),Pan
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)數(shù)學(xué)應(yīng)用題解題策略指導(dǎo)手冊(cè)
- 建筑工程質(zhì)量檢查標(biāo)準(zhǔn)及案例
- 農(nóng)業(yè)基地活動(dòng)策劃方案(3篇)
- 618活動(dòng)男裝策劃方案(3篇)
- 企業(yè)電梯應(yīng)急預(yù)案(3篇)
- 應(yīng)急預(yù)案編制認(rèn)證(3篇)
- 復(fù)式簡(jiǎn)約施工方案(3篇)
- 應(yīng)急預(yù)案白大褂(3篇)
- 小區(qū)保潔施工方案(3篇)
- 合理的施工方案(3篇)
- 2025-2026學(xué)年人教版九年級(jí)上冊(cè)歷史期末試卷(含答案和解析)
- 重癥醫(yī)學(xué)科ICU知情同意書電子病歷
- 小區(qū)配電室用電安全培訓(xùn)課件
- 醫(yī)院科室文化建設(shè)與禮儀
- 2025貴州磷化(集團(tuán))有限責(zé)任公司12月招聘筆試參考題庫(kù)及答案解析
- 征信修復(fù)合同范本
- 2025年公安部遴選面試題及答案
- 中煤集團(tuán)機(jī)電裝備部副部長(zhǎng)管理能力考試題集含答案
- 福建省網(wǎng)絡(luò)安全事件應(yīng)急預(yù)案
- 五育融合課件
- 意識(shí)障礙的判斷及護(hù)理
評(píng)論
0/150
提交評(píng)論