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;

解决方案 »

  1.   

    1.集合用Set of
    如TCharSet=Set of Char
      Ten=Set of 1..10;
      好像Set of后面只能跟序数类型,不知你的这种情况是可不可以
    2.这个是可变记录,Case以下的还是记录的元素啊
      

  2.   

    1 TEn = (DU = 0, SU, SP, NU);
    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 的类型