已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用户自定义类型1.枚举类型的定义格式:Type类型标识符 = (标识符1,标识符2,标识符3,-,标识符m);2.格举类型的使用枚举类型属于顺序类型,枚举类型的每个元素对应一个有序的整数,其中第一个元素对应序数0.因此,枚举类型本质上是用一些枚举常量来表示一组连续的整数。但枚举常量不能直接进行算术运算,可以进行关系运算或间接的算术运算。例:TypeColor1 = (Red,Green,Blue, Yellow);【例6-1】 编写一个设置文本格式的应用程序,程序的设计界面如图6-1所示。程序运行时,在编辑框中显示的文本是“轻松学习Delphi” 。程序运行时,单击【宋体】按钮,文本字体为宋体;单击【隶书】按钮,文本字体为隶书;单击【黑体】按钮,文本字体变为黑体。图6-2是单击隶书时的运行界面。要求用枚举类型实现。部份代码:implementationtype /定义枚举类型 MyFont = (st,ls,ht);var /定义枚举类型变量 ft : MyFont;$R *.dfmFunction ffont(fft : MyFont) : String;begin Case fft of st : ffont := 宋体; ls : ffont := Comic Sans MS; ht : ffont := 黑体; end;end;procedure TForm1.Button1Click(Sender: TObject);begin if Button1.Caption = 宋体 then begin ft := st; Edit1.Font.Name := ffont(ft); end;end;procedure TForm1.Button2Click(Sender: TObject);begin if Button2.Caption = 隶书 then begin ft := ls; Edit1.Font.Name := ffont(ft); end;end;procedure TForm1.Button3Click(Sender: TObject);begin if Button3.Caption = 黑体 then begin ft := ht; Edit1.Font.Name := ffont(ft); end;end;6.1.3 集合类型的定义与使用1.集合类型的定义集合是具有相同性质但又可以区分开来的对象的全体。格式:Type类型标识符 = set of 其类型;例:TypeColors = (Red,Green,Blue,Yellow);/先定义一个枚举类型Color = set of Colors; /定义一个基类型为枚举类型的集合类型Char = set of m.q;/直接定义一个基类型为子界类型的集合类型。下面的定义是错误的:type Num_p = set of 200.400; /虽然只有201一个元素,但256400这些数值超过了2552.集合类型的使用。【例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.下面定义一个住院病人的记录类型,如下所示:typePatient = Record/说明这是记录类型p_num : Integer;/字段1是病人的住院号,为整形数据p_name : String;/字段2是病人的姓名,为字符串数据p_pay :Boolean;/字段3是病人的付款情况,为布尔型数据end;【例6-3】 编写一个程序,用来输入和显示某单位员工基本信息。程序的设计界面如图 6-5所示,程序运行时,单击【输入信息】按钮,用户可以输入员工的基本信息,包括姓名、职称和基本工资。单击【查看信息】按钮,可以显示刚刚输入的该单位员工的基本信息,如图6-6所示。implementationtype peopleInformation = Record /定义记录类型 name : String8; call : String6; wage :Integer;end;var people :Array 1.3 of peopleInformation;$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);var k : Integer;begin for k := 1 to 3 do begin := InputBox(员工信息,请输入第+IntToStr(k)+个员工姓名,); peoplek.call := InputBox(员工信息,请输入第+IntToStr(k)+个员工职称,); peoplek.wage := StrToInt(InputBox(员工信息,请输入第+IntToStr(k)+个员工基本工资,0); end; end;procedure TForm1.Button2Click(Sender: TObject);var m : Integer;begin /在指定位置显示 Canvas.TextOut(45,25,姓 名+ +职 称+ + 基本工资); for m := 1 to 3 do Canvas.TextOut(45,25 * (m+1), + + peoplem.call + +IntToStr(peoplem.wage );end;【练习题目】:寻找1100之间的全部素数 编写一个寻找 1100 之间的全部素数的程序,程序的设计界面如图 6-11 所示。程序运行时,单击【寻找素数】按钮将显示1100之间的全部素数,/这个函数专门用来判断数字是否为素数function SearchPrime(num : Integer) : Boolean ;var i : Integer; flag : Boolean;begin flag := true; /判断是否为素数。素数是只能由1和本身整除的。 for i := 2 to num - 1 do begin /取模可以整除的话。就不是素数 if(num) mod i = 0) then begin flag := false; break; end; end; if(flag = false) then Result := false; if(flag = true) then Result := flag;end;procedure TForm1.Button1Click(Sender: TObject);var flag : bool; i : Integer; k : Integer;begin /2也是素数 Form1.Memo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南平大武夷智慧文旅有限公司招聘12人笔试参考题库附带答案详解(3卷)
- 浙江国企招聘2025舟山市普陀山庄有限公司招聘2人笔试参考题库附带答案详解(3卷)
- 浙江国企招聘2025年杭州市地铁集团有限责任公司招聘19人笔试参考题库附带答案详解(3卷)
- 鄞州区2025浙江宁波市鄞州区人力资源和社会保障局下属事业单位编外人员招聘1人公笔试历年参考题库典型考点附带答案详解(3卷合一)
- 绵阳市2025四川绵阳市四川省属公费师范毕业生直接考核招聘81人笔试历年参考题库典型考点附带答案详解(3卷合一)
- 珠海市2025广东珠海高新技术产业开发区创新创业服务中心招聘2名合同制职员笔试历年参考题库典型考点附带答案详解(3卷合一)
- 生产效率分析与改善方案模板
- 高中英语合格性试卷及答案
- 食品加工废水处理工艺设计方案
- 江西省2025年上半年江西九江市事业单位“才汇九江”高层次人才招聘笔试笔试历年参考题库典型考点附带答案详解(3卷合一)
- 智能护理决策支持系统方案
- (2025年)国开电大建筑工程项目招投标与合同管理形成性考核册形考任务答案
- 销售香薰技巧培训课件
- 2025年新《治安管理处罚法》知识考试题库及答案(含各题型)
- 住房公积金放弃协议书
- 精神病学中级(相关专业知识)模拟试卷2(共474题)
- 2025版ESC心脏瓣膜病诊疗指南
- 电气自动化系统调试方案
- 脑瘫儿童家庭护理
- 2024-2025学年七年级历史上学期期末模拟卷(含答案)
- 视网膜出血课件
评论
0/150
提交评论