DelPhi学习笔记6.用户自定义类型

上传人:woxinch****an2018 文档编号:39261563 上传时间:2018-05-13 格式:DOC 页数:6 大小:84.50KB
返回 下载 相关 举报
DelPhi学习笔记6.用户自定义类型_第1页
第1页 / 共6页
DelPhi学习笔记6.用户自定义类型_第2页
第2页 / 共6页
DelPhi学习笔记6.用户自定义类型_第3页
第3页 / 共6页
DelPhi学习笔记6.用户自定义类型_第4页
第4页 / 共6页
DelPhi学习笔记6.用户自定义类型_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《DelPhi学习笔记6.用户自定义类型》由会员分享,可在线阅读,更多相关《DelPhi学习笔记6.用户自定义类型(6页珍藏版)》请在金锄头文库上搜索。

1、用户自定义类型 1.枚举类型的定义 格式: Type 类型标识符 = (标识符 1,标识符 2,标识符 3,-,标识符 m) ; 2.格举类型的使用 枚举类型属于顺序类型,枚举类型的每个元素对应一个有序的整数,其中第一个元素 对应序数 0.因此,枚举类型本质上是用一些枚举常量来表示一组连续的整数。但枚举常量 不能直接进行算术运算,可以进行关系运算或间接的算术运算。 例: Type Color1 = (Red,Green,Blue, Yellow) ;【例 6-1】 编写一个设置文本格式的应用程序,程序的设计界面如图 6-1 所示。程序运 行时,在编辑框中显示的文本是“轻松学习 Delphi”

2、。程序运行时,单击【宋体】按钮, 文本 字体为宋体;单击【隶书】按钮,文本字体为隶书;单击【黑体】按钮,文本字体变为黑 体。 图 6-2 是单击隶书时的运行界面。要求用枚举类型实现。部份代码:implementation type/定义枚举类型MyFont = (st,ls,ht); var/定义枚举类型变量ft : MyFont; $R *.dfm Function ffont(fft : MyFont) : String; beginCase fft ofst : ffont := 宋体;ls : ffont := Comic Sans MS;ht : ffont := 黑体;end;en

3、d; procedure TForm1.Button1Click(Sender: TObject); beginif Button1.Caption = 宋体 thenbeginft := st;Edit1.Font.Name := ffont(ft);end; end;procedure TForm1.Button2Click(Sender: TObject); beginif Button2.Caption = 隶书 thenbeginft := ls;Edit1.Font.Name := ffont(ft);end; end;procedure TForm1.Button3Click(S

4、ender: TObject); beginif Button3.Caption = 黑体 thenbeginft := ht;Edit1.Font.Name := ffont(ft);end; end;6.1.3 集合类型的定义与使用 1.集合类型的定义 集合是具有相同性质但又可以区分开来的对象的全体。 格式:Type 类型标识符 = set of 其类型;例:Type Colors = (Red,Green,Blue,Yellow) ;/先定义一个枚举类型 Color = set of Colors; /定义一个基类型为枚举类型的集合类型 Char = set of m.q;/直接定义一个

5、基类型为子界类型的集合类型。下面的定义是错误的: type Num_p = set of 200.400; /虽然只有 201 一个元素,但 256400 这些数值 超过了 255 2.集合类型的使用。【例 6-2】 编写一个判断字符串中是否有元音字母的程序,程序的设计界面如图 6-3 所 示。程序运行时,在【输入单词】编辑框中输入一个任意单词,然后单击【判断】按钮, 将在【结果】编辑框中显示有无元音字母的文本。其中,元音字母为“a,e,i,o,u” ,程序 运行界面 如图 6-4 所示。要求用集合类型实现。6.1.4 记录类型的定义与使用 1.记录类型的定义 格式: type 记录类型标识符

6、 = 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 所示,程序运行时,单击【输入信息】按钮,用户可以输入员工的

7、基本信息,包括姓 名、 职称和基本工资。单击【查看信息】按钮,可以显示刚刚输入的该单位员工的基本信息, 如 图 6-6 所示。implementation typepeopleInformation = Record /定义记录类型name : String8;call : String6;wage :Integer; end;varpeople :Array 1.3 of peopleInformation; $R *.dfmprocedure TForm1.Button1Click(Sender: TObject);vark : Integer;beginfor k := 1 to 3 d

8、obeginpeoplek.name := InputBox(员工信息,请输入第+IntToStr(k)+个员工姓名,);peoplek.call := InputBox(员工信息,请输入第+IntToStr(k)+个员工职称,);peoplek.wage := StrToInt(InputBox(员工信息,请输入第+IntToStr(k)+个员工 基本工资,0);end; end;procedure TForm1.Button2Click(Sender: TObject); varm : Integer; begin/在指定位置显示Canvas.TextOut(45,25,姓 名+ +职 称

9、+ + 基本工资);for m := 1 to 3 doCanvas.TextOut(45,25 * (m+1), peoplem.name + + peoplem.call + +IntToStr(peoplem.wage ); end;【练习题目】:寻找 1100 之间的全部素数 编写一个寻找 1100 之间的全部素数的程序,程序的设计界面如图 6-11 所示。程序运 行时,单击【寻找素数】按钮将显示 1100 之间的全部素数,/这个函数专门用来判断数字是否为素数 function SearchPrime(num : Integer) : Boolean ; vari : Integer;

10、flag : Boolean; beginflag := true;/判断是否为素数。素数是只能由 1 和本身整除的。for i := 2 to num - 1 dobegin/取模可以整除的话。就不是素数if(num) mod i = 0) thenbeginflag := false;break;end;end;if(flag = false) thenResult := false;if(flag = true) thenResult := flag;end;procedure TForm1.Button1Click(Sender: TObject); varflag : bool;i : Integer;k : Integer; begin/2 也是素数Form1.Memo1.Text := 2;/从 3 开始找到 100 之间的素数for i := 3 to 100 dobeginflag := SearchPrime(i);if(flag) thenForm1.Memo1.Text := Form1.Memo1.Text + + IntToStr(i) ;end;end;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号