2.1.9.5 集合類型
集合類型是一群相同類型元素的組合,這些類型必須是有限類型如整形、布爾型、字符型、枚舉型和子界型。在檢查一個值是否屬于一個特定集合時,集合類型非常有用。下面的例程可以說明集合類型的用法:
在窗體上加入一個編輯框和一個按鈕,清除編輯框中的文字,在其上加上Caption為“輸入元音”的標(biāo)簽Label,并在編輯框的下方加入一個空的標(biāo)簽,將按鈕的Default屬性改為True,建立按鈕的事件處理過程如下:
procedure TForm1.Button1Click(Sender:TObject);
type
Tvowels=set of Char;
var
Vowels:TVowels;
begin
Vowels := ['a','e','i','o','u'];
if Edit1.Text[1] in Vowels then
Lable2.Caption := '是元音';
else
Lable2.Caption := '請再試';
end;
執(zhí)行這個程序,在編輯框中輸入字母,表達(dá)式Edit1.Text[1] in Vowels的結(jié)果是布爾型的,in是運(yùn)算符,用來判斷字母是否存在于集合中。輸入的判別結(jié)果會顯示在編輯框的下方。以上就用到了集合類型TVowels。
2.1.9.6 記錄類型
記錄是您的程序可以成組訪問的一群數(shù)據(jù)的集合。下面的例程說明了一個記錄類型的用法:
type
TEmployee=record
Name : string[20];
YearHired:1990..2000;
Salsry: Double;
Position: string[20];
end;
記錄包含可以保存數(shù)據(jù)的域,每一個域有一個數(shù)據(jù)類型。上文的記錄TEmployee類型就含有四個域。您可以用以下的方式說明記錄型的變量:
var
NewEmployee,PromotedEmployee:TEmployee;
用如下的方法可以訪問記錄的單域:
NewEmployee.Salary := 1000;
編寫如下的語句可以給整個記錄賦值:
with PromotedEmployee do
begin
Name :='';
YearHired := 1993;
Salary := 2000.00
Position := 'editor';
end;
您的程序可以將記錄當(dāng)成單一實(shí)體來操作:
PromptEmployee := NewEmployee;
以上介紹了用戶常用的自定義類型。在Delphi的編程中,對象是非常重要的用戶自定義數(shù)據(jù)類型。象記錄一樣,對象是結(jié)構(gòu)化的數(shù)據(jù)類型,它包含數(shù)據(jù)的域(Field),也包含作為方法的過程和函數(shù)。在Delphi中,當(dāng)您向窗體中加入一個部件,也就是向窗體對象中加入了一個域;每一個部件也是對象,每當(dāng)您建立一個事件處理過程使得部件可以響應(yīng)一個事件時,您即自動地在窗體中加入了一個方法。在本章第2節(jié)中,將詳細(xì)講述Delphi面向?qū)ο缶幊痰姆椒ê图记伞?/P>
2.1.10 Object Pascal的庫單元Unit
Units是常量、變量、數(shù)據(jù)類型、過程和函數(shù)的集合,而且能夠被多個應(yīng)用程序所共享。Delphi已經(jīng)擁有許多預(yù)定義的程序庫單元可供您建立您的程序庫單元使用。Delphi的Visual Component Library由多個程序庫單元組成,它們說明了對象、部件以供您的應(yīng)用程序用來設(shè)計用戶界面。例如,當(dāng)您在窗體中加入一個Check Box時,Delphi自動在您的程序庫單元中加入了Stdctrls庫單元,因?yàn)門CheckBox部件是在StdCtrls庫單元中說明的。
當(dāng)您設(shè)計您的窗體時,Delphi自動建立一個和您的窗體有關(guān)的庫單元。您的庫單元不必都和窗體有關(guān),也可以使用預(yù)定義的只包含數(shù)學(xué)運(yùn)算函數(shù)的庫單元,或是自行編寫數(shù)學(xué)函數(shù)庫單元。在一個庫單元中所有的說明都相互有關(guān)系,例如,CDialogs程序庫單元包含了在您的應(yīng)用程序中使用的普通對話框的所有說明。
相關(guān)推薦:2010年9月計算機(jī)等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |