我看到了一本书上说这样可以
我看delphi的帮助上面说也可以

解决方案 »

  1.   

    我记得当初学pascal的时候可以,好象delphi要设置一个什么编译开关
      

  2.   

    pascal一样不可以。不存在编译开关的问题。必须做强制类型转换。
    num1 := numchar(2);  // 此时num1的值为a2。
      

  3.   

    我记得pascal中是不行的。pascal是强类型的语言。 
    要不你再去看看书。 
    你要把枚举的顺序值赋给它的变量。 
    像chechy(chechy)说得一样做就行了。
    type
      numchar=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);
    var
      num1 : numchar;
    begin
      num1 := a2;  //这当然能通过
      num1 :=numchar(2); 这样就行了 。
    end;
    至于编译开关,如果有的话,这个才是它的默认值
      

  4.   

    请看书<<精通 Delphi 4.x>>(清华大学出版社),第26页,偶然翻到
      

  5.   

    孔老夫子说过“尽信书不如无书”。再说国内很多书都是抄袭或者学生代劳,老师挂名。
    即便是Delphi的业界标准书“Delphi X Developer's Guide”(两位作者都曾经在Borland干过,进行过Delphi的开发)也有错误。