DelPhi学习笔记6用户自定义类型(精).doc
DelPhi学习笔记6用户自定义类型(精)
书;单击【黑体】按钮,文本字体变为黑体。
图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是病人的付款情况,为布尔型数据
end;
【例6-3】编写一个程序,用来输入和显示某单位员工基本信息。程序的设计界面如图
6-5所示,程序运行时,单击【输入信息】按钮,用户可以输入员工的基本信息,包括姓名、
职称和基本工资。单击【查看信息】按钮,可以显示刚刚输入的该单位员工的基本信息,如
图6-6所示。
implementation
type
peopleInformation=Record//定义记录类型
name:String[8];
call:String[6];
wage:Integer;
end;
var
people:Array[1..3]ofpeopleInform