用户自定义类型
1.枚举类型的定义
格式:
Type
类型标记符=(标记符1,标记符2,标记符3,---,标记符m);
2.格举类型的使用
枚举类型属于顺序类型,枚举类型的每个元素相应一个有序的整数,其中第一个元素相应序数0.因此,枚举类型本质上是用一些枚举常量来表达一组连续的整数。但枚举常量不能直接进行算术运算,可以进行关系运算或间接的算术运算。
例:
Type
Color1=(Red,Green,Blue,Yellow);
【例6-1】编写一个设立文本格式的应用程序,程序的设计界面如图6-1所示。程序运
行时,在编辑框中显示的文本是“轻松学习Delphi”。程序运营时,单击【宋体】按钮,文本
字体为宋体;单击【隶书】按钮,文本字体为隶书;单击【黑体】按钮,文本字体变为黑体。
图6-2是单击隶书时的运营界面。规定用枚举类型实现。
部份代码:
implementation
type
//定义枚举类型
MyFont=(st,ls,ht);
var
//定义枚举类型变量
ft:MyFont;
{$R*.dfm}
Functionffont(fft:MyFont):String;
begin
Casefftof
st:ffont:=宋体;
ls:ffont:=ComicSansMS;
ht:ffont:=黑体;
end;
end;
procedureTForm1.Button1Click(Sender:TObject);
begin
ifButton1.Caption=宋体then
begin
ft:=st;
Edit1.Font.Name:=ffont(ft);
end;
end;
procedureTForm1.Button2Click(Sender:TObject);
begin
ifButton2.Caption=隶书then
begin
ft:=ls;
Edit1.Font.Name:=ffont(ft);
end;
end;
procedureTForm1.Button3Click(Sender:TObject);
begin
ifButton3.Caption=黑体then
begin
ft:=ht;
Edit1.Font.Name:=ffont(ft);
end;
end;
6.1.3集合类型的定义与使用
1.集合类型的定义
集合是具有相同性质但又可以区分开来的对象的全体。
格式:
Type
类型标记符=setof其类型;
例:
Type
Colors=(Red,Green,Blue,Yellow);//先定义一个枚举类型
Color=setofColors;//定义一个基类型为枚举类型的集合类型
Char=setof‘m’..’q’;//直接定义一个基类型为子界类型的集合类型。
下面的定义是错误的:
type
Num_p=setof200..400; //虽然只有201一个元素,但256—400这些数值超过了255
2.集合类型的使用。
【例6-2】编写一个判断字符串中是否有元音字母的程序,程序的设计界面如图6-3所
示。程序运营时,在【输入单词】编辑框中输入一个任意单词,然后单击【判断】按钮,将在【结果】编辑框中显示有无元音字母的文本。其中,元音字母为“a,e,i,o,u”,程序运营界面
如图6-4所示。规定用集合类型实现。
6.1.4记录类型的定义与使用
1.记录类型的定义
格式:
type
记录类型标记符=Record
字段1:类型1;
字段2 :类型2;
。。。
字段n:类型n;
end;
2.下面定义一个住院病人的记录类型,如下所示:
type
Patient=Record //说明这是记录类型
p_num:Integer; //字段1是病人的住院号,为整形数据
p_name:String; //字段2是病人的姓名,为字符串数据
p_pay:Boolean; //字段3是病人的付款情况,为布尔型数据
e