搜索
写经验 领红包
 > 时尚

delphi基本数据类型(delphi的所有类都是从什么类继承下来的)

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

delphi基本数据类型(delphi的所有类都是从什么类继承下来的)

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

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

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

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

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

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

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

type    age=1..100;    letter=&39; ..&39;;

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

type    letter=&39;..&39;;var    ch1,ch2:letter;

可以合并成:

var    ch1,ch2:&39;..&39;;
运算规则

凡可使用基类型的运算规则同样适用该类型的子界类型。例如,可以使用整型变量的地方,也可以使用以整型为基类型的子界类型数据。对基类型的运算规则同样适用于该类型的子界类型。例如,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(&39;);    2:      ShowMessage(&39;);    3:      ShowMessage(&39;);    4:      ShowMessage(&39;);    5:      ShowMessage(&39;);    6:      ShowMessage(&39;);    7:      ShowMessage(&39;);  else begin ShowMessage(&39;)    end;  end;end;

本文内容由小冰整理编辑!