龙空技术网

Delphi基础教程图文版之数据类型(子界)

跟着老侯玩编程 205

前言:

当前各位老铁们对“程序语句中mod”都比较讲究,同学们都需要剖析一些“程序语句中mod”的相关文章。那么小编也在网摘上汇集了一些对于“程序语句中mod””的相关内容,希望咱们能喜欢,我们一起来学习一下吧!

我个人的理解子界类型更适合用于范围的定义, 例如,人的年龄一般为1到120岁,一年中的月数为1到12月,一月中的天数为1到31天等等。

如果能在程序中对所用的变量的值域作具体规定,就便于检查出那些不合法的数据,这就能更好地保证程序运行的正确性且在一定程度上节省内存空间。

子界类型能很好解决上面的问题。其实在数组的定义中,常用到子界类型,以规定数组下标的范围。

这是Delphi特有的一种数据类型,至少在我的认知中其它语言是没有的

定义

type子界类型标识符=常量1..常量2

常量1称为子界的下界,常量2称为子界的上界;所谓的上界也就是开始的边界,而下界就是结束的边界

注意事项:

下界和上界必须是同一顺序类型(该类型称为子界类型的基类型),且上界的序号必须大于下界的序号。 例如

type    age=1..100;    letter='a' ..'z';

当然了,类似于前面提到的枚举类型,它也可以把类型声明和变量声明并为一步。可以直接在变量说明中定义子界类型。

type    letter='a'..' z ';var    ch1,ch2:letter;

可以合并成:

var    ch1,ch2:'a'..'d';
运算规则

凡可使用基类型的运算规则同样适用该类型的子界类型。例如,可以使用整型变量的地方,也可以使用以整型为基类型的子界类型数据。对基类型的运算规则同样适用于该类型的子界类型。例如,div,mod要求参加运算的数据为整, 因而也可以为整型的任何子界类型数据。基类型相同的不同子界类型数据可以进行混合运算。例如:设有如下说明:

var  x:1..100;   y:1..500;   z:1..1000;    a:integer;

合法语句:a:=Sqr(x)+y+z; z:=x+y

y:=x+z+a; 当x+y+a的值在1~500范围内时是合法的,否则会出错。

应用举例

例1、判断当前是周几(case语句尽量少用)

procedure TForm1.Button1Click(Sender: TObject);var  Week: 1 .. 7;begin  case Week of    1:      ShowMessage('周一');    2:      ShowMessage('周二');    3:      ShowMessage('周三');    4:      ShowMessage('周四');    5:      ShowMessage('周五');    6:      ShowMessage('周六');    7:      ShowMessage('周日');  else begin ShowMessage('非法')    end;  end;end;

标签: #程序语句中mod