VC++中是这样写的typedef enum tagHV_MY_CONVERT_TYPE
{
COL2ABC_ZHC,  
COL2ABC_NEBOUR,  
COL2ABC_BINER,    
COL2ABC_PATN,       
COL2ABC_EDG,  
COL2ABC_RF,          
COL2ABC_PIXGRG, 
COL2ABC_RESED1,  
COL2ABC_RESED2,  
COL2ABC_RESED3

}HV_MY_CONVERT_TYPE;
typedef enum tagHV_MY_LAYOUT
{
COL_BC =1,   
COL_BA =2,    
COL_CB =3,    
COL_AB =4   
}HV_MY_LAYOUT;请问转成delphi7  该怎么样写呢 ?

解决方案 »

  1.   

    Type 
       HV_MY_CONVERT_TYPE = (COL2ABC_ZHC,COL2ABC_NEBOUR, COL2ABC_BINER,COL2ABC_PATN, COL2ABC_EDG,COL2ABC_RF, COL2ABC_PIXGRG, COL2ABC_RESED1,COL2ABC_RESED2,COL2ABC_RESED3);var tagHV_MY_CONVERT_TYPE:HV_MY_CONVERT_TYPE;Type 
      HV_MY_LAYOUT=( COL_BC =1,COL_BA =2,COL_CB =3,COL_AB =4);var tagHV_MY_LAYOUT : HV_MY_LAYOUT; 
    我在delphi中是这样定义的 请问正确吗 ?有懂的吗 帮忙看看 谢谢大家^_^
      

  2.   

    楼主用错了,C++中typedef的作用是给类型起个别名,因此,上例中
    HV_MY_LAYOUT

    enum tagHV_MY_LAYOUT
    {
    COL_BC =1,   
    COL_BA =2,   
    COL_CB =3,   
    COL_AB =4   
    }
    是同一个东西,在Delphi中对应的定义为Type  
      tagHV_MY_LAYOUT = (COL_BC =1, COL_BA =2, COL_CB =3, COL_AB =4);
      HV_MY_LAYOUT = tagHV_MY_LAYOUT另一个的定义类似
      

  3.   

    就是Delphi中的集合
    type
     T=(A,B,C,D,E);默认序数是0开始,下面这种序数是从2开始type
     T=(A=2,B,C,D,E);
      

  4.   

    不是集合,是枚举,呵呵,集合的定义是type
      TS = set of T;
      

  5.   

    请问这样写 和我写的
    Type 
      HV_MY_LAYOUT=( COL_BC =1,COL_BA =2,COL_CB =3,COL_AB =4);var tagHV_MY_LAYOUT : HV_MY_LAYOUT; 这样写是什么意思?不明白 请大家指教
      

  6.   

    如果说C++中typedef的作用是给类型起个别名 那么HV_MY_LAYOUT 的别名就是 tagHV_MY_LAYOUT也就是说应该这样写才对啊
    Type 
      HV_MY_LAYOUT=( COL_BC =1,COL_BA =2,COL_CB =3,COL_AB =4);然后再对这个枚举类型HV_MY_LAYOUT 定义一个变量名叫tagHV_MY_LAYOUT
    也就是
    var tagHV_MY_LAYOUT : HV_MY_LAYOUT;  这样的了 为什么不正确呢?请大家指导一下啊
      

  7.   

    Type  
      HV_MY_LAYOUT=( COL_BC =1,COL_BA =2,COL_CB =3,COL_AB =4);
      tagHV_MY_LAYOUT=HV_MY_LAYOUT;
     
    这个tagHV_MY_LAYOUT是HV_MY_LAYOUT的别名,2个是同一东西(比如一个人可以有几个名字)下面这样是定义变量
    var a : HV_MY_LAYOUT;也可以这样,用别名
    var a : tagHV_MY_LAYOUT;
      

  8.   

    正解。var就是声明一个变量。楼主可以通过下面的对比来理解这个问题。
    C++enum tagHV_MY_LAYOUT
    {
    COL_BC =1,   
    COL_BA =2,   
    COL_CB =3,   
    COL_AB =4   
    }
    对应DelphiType  
      tagHV_MY_LAYOUT = (COL_BC =1, COL_BA =2, COL_CB =3, COL_AB =4);C++typedef tagHV_MY_LAYOUT HV_MY_LAYOUT
    对应DelphiType
      HV_MY_LAYOUT = tagHV_MY_LAYOUT;C++HV_MY_LAYOUT hv;
    对应Delphivar
      hv: HV_MY_LAYOUT;