冬雪雪冬 发表于 2017-8-23 22:36:44

用户自定义类型01 - 零基础入门学习Delphi031

本帖最后由 冬雪雪冬 于 2017-8-23 22:38 编辑

包括枚举、子界、集合和记录。首先介绍有序数据类型的常用操作过程和函数
参数返回值
Dec有序数据类型变量,变量 -1过程,如Dec(i)使i-1
Inc有序数据类型变量,变量 +1过程
Pred有序表达式表达式前驱的值,如Pred(3)返回2
Suce有序表达式表达式后继的值
Ord有序表达式有序表达式的值,如Ord(5)返回5,Ord(‘A’)返回65
Odd有序表达式判断是否为奇数
Low有序类型标识符或有序类型变量该类型的最小值
High有序类型标识符或有序类型变量该类型的最大值

枚举类型是将数据一一列举出来,如星期几、月份等。实际上就是把0~n起来个别名。定义:Type         枚举标识符 = (标识符1,标识符2,标识符3);例:Type         week= (sun, mon, tue, wed, thu, fri ,sat)实际上就是0, 1, 2, 3, 4, 5 ,6因此,枚举类型本质上是用一些枚举常量来表示一组连续的整数。但枚举常量不能直接进行算术运算,可以进行关系运算或间接的算术运算。例题:
implementation

{$R *.dfm}
Type
week = (sun, mon, tue, wed, thu, fri, sat);
Function Whatday(day: week): String;
begin
case day of
    sun: result := '周日';
    mon: result := '周一';
    tue: result := '周二';
    wed: result := '周三';
    thu: result := '周四';
    fri: result := '周五';
    sat: result := '周六';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case StrToInt(Edit1.Text) of
   0: Label1.Caption := WhatDay(sun);
   1: Label1.Caption := WhatDay(mon);
   2: Label1.Caption := WhatDay(tue);
   3: Label1.Caption := WhatDay(wed);
   4: Label1.Caption := WhatDay(thu);
   5: Label1.Caption := WhatDay(fri);
   6: Label1.Caption := WhatDay(sat);
end;

end;
子界类型就是定义了下界上界的连续类型type         子界标识符 = 常量1,常量2.常量3如:type         num= 1..10;var         n1,n2: num;或var         n1,n2:1..10;
-1..10可以‘A’..’Z’可以‘A’..’z’可以sun..fri在先定义了枚举类型后可以

不多太少 发表于 2018-2-26 15:15:48

这部分还是听懵逼的
页: [1]
查看完整版本: 用户自定义类型01 - 零基础入门学习Delphi031