1. 在C中enum(联合类型)怎样在Delphi中表示?
如在C中定义了这样一个联合类型变量en,在delphi中怎样定义?
enum{
DU = 0,
SU = 1,
SP = 2,
NU = 3
}en;2.在Delphi中TMessage类型中的"case Integer of"以下是什么意思?
TMessage = packed record
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;
如在C中定义了这样一个联合类型变量en,在delphi中怎样定义?
enum{
DU = 0,
SU = 1,
SP = 2,
NU = 3
}en;2.在Delphi中TMessage类型中的"case Integer of"以下是什么意思?
TMessage = packed record
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;
如TCharSet=Set of Char
Ten=Set of 1..10;
好像Set of后面只能跟序数类型,不知你的这种情况是可不可以
2.这个是可变记录,Case以下的还是记录的元素啊
2 这是一个可变记录,有点类似于 C 中的联合,你这个例子中:
Msg 是公共部分
case 以下是联合部分,是 0:(),1:()两部分的联合
至于 case integer of 中的 integer 指明 0,1 是整数,这个例子改为
case boolean of,同时 0 改为 True, 1 改为 False,效果一样 如果是 case a: Integer of,则 a 也是公共部分,同时指明 0,1 的类型