type
TIMEMOVETYPE =
(
LEFTUP = 0,
LEFTDOWN = 1,
RIGHTUP = 2,
RIGHTDOWN = 3,
STOP = 4
);
为什么这里赋值不用 :=
delphi的 = 不是条件判断吗?
TIMEMOVETYPE =
(
LEFTUP = 0,
LEFTDOWN = 1,
RIGHTUP = 2,
RIGHTDOWN = 3,
STOP = 4
);
为什么这里赋值不用 :=
delphi的 = 不是条件判断吗?
解决方案 »
- public 中“property Month: Integer read GetMonth write SetMonth;”是什么意思?
- 怪事,用了Skin之后,有错了
- 请问怎样求得Excel自定义名称所对应区域的第一行的内容呢?
- 不通过双击“关闭”按钮添加过程代码,直接在unit写过程代码,但是运行出问题了
- 这里有vc,vb,java,delphi源代码大全,国内和国外的经典软件代码请访问www.feidu.net
- 有关本地表问题
- 说说我的感受!
- 请帮我看看下面的代码为什么老出错,说exe访问了不该访问的地址,
- 断点续传功能是如何实现的啊,最好有原代码!
- 小问题,在Delphi中怎样用winAPI函数SHELLEXECUTE调用文件
- Delphi7中调用.NET--WebService问题HTTPS
- 根据数据生成图片
这也是类型吗?
定义不是用 :吗
这是定义了一个叫 TIMEMOVETYPE 枚举类型,它的可能值包括 LEFTUP 、LEFTDOWN、RIGHTUP、RIGHTDOWN 和 STOP ,这里 Ord(LEFTUP )返回 0,Ord
(LEFTDOWN)返回 1,Ord(RIGHTUP)返回 2,等等。
LEFTUP = 0,
LEFTDOWN = 1,
RIGHTUP = 2,
RIGHTDOWN = 3,
STOP = 4
这几个是常量,常量赋值不用 :=
默认情况下,枚举类型的序数从 0 开始,并按它们的标志符在声明时列出的顺序排列。在声明时,通过
给它的某些或所有值明确地指定一个序数,可以覆盖默认地序数。要给一个值赋序数,使用=
constantExpression 紧跟在它的标志符之后,这里,constantExpression 为一个整数类型的常量表达式。比
如
type Size = (Small = 5, Medium = 10, Large = Small + Medium);
定义了一个叫做Size 的类型,它的可能值包括Small、Medium 和Large,这里Ord(Small)返回5,Ord
(Medium)返回10,Ord(Large)返回15。
实际上,枚举类型是这样一个子界类型:它的最小值和最大值,分别对应于声明时的最小序数和最大序
数。在上面的例子中,Size 类型的最小序数为5,最大为15,所以它有11 个可能的值(因此,类型array[Size]
of Char 表示一个有11 个元素的字符数组)。虽然只有其中的3 个值有名称,但其它值通过类型转换、或
通过一些例程(比如Pred、Succ、Inc 和Dec)是可以访问的。在下面的例子中,Size 取值范围内的‘无
名’值被赋给X:
var X: Size;
X := Small; // Ord(X) = 5
X := Size(6); // Ord(X) = 6
Inc(X); // Ord(X) = 7
若一个值没有明确指定序数,它的取值将是前一个值的序数值加上1;如果第1 个值没有指定序数,它
的序数为0。所以,在下面的声明中:
type SomeEnum = (e1, e2, e3 = 1);
SomeEnum 只有两个可能的值:Ord(e1)返回0,Ord(e2)返回1,Ord(e3)也是1。因为e2 和e3
有相同的序数,它们表示相同的值。