基本信息
文件名称:2023年DelPhi学习笔记用户自定义类型精.doc
文件大小:67.54 KB
总页数:9 页
更新时间:2024-07-05
总字数:约3.96千字
文档摘要

用户自定义类型

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