今天学case语句时书上这么写:case语句中表达式的值应该是一个有序类型
值,而不能是实型值。   
   我对有序类型的概念理解不是很好,书上给的有序定义是:在有序的数值集
中,除了第一个元素,其他任何一个元素都有前驱,除了最后一个元素,其他任
何一个元素都有后续。
   这些概念让我脑中一片空白,数据类型这一节看几天了,对于有序数
(integer、character、boolean、enumerated、subrange)的理解一直跟数据
结构中的‘队列’差不多,物理上的意义就是磁盘上连续存放的一组数据,
所以可能跟实际的概念对不上,好比我一开头写的case的限制,我就想不同有序的
为什么行,实型的就不行。
   说了这么多,其实就一个很短的问题:什么是有序,什么实型?大哥们
别笑我,我真卡这里了!
   我上面写了一些思路,本来可不写的,因为我是自学,我想写出自己的
思路大家看看也许能帮我从根本上纠正一些问题。

解决方案 »

  1.   

    好 就你说的这个顺序 你说说这个顺序是起什么作用的
    为什么case中有序数据可以使用而禁止用实型数据呢
      

  2.   

    管它是什么实际用不了你就换if....else...
      

  3.   

    有序类型包括:【Ordinal(序数)】
    Integer (Shortint Smallint Longint Int64 Byte Word  Longword )
    Character(AnsiChar(Char is equivalent toChar.) WideChar.)
    Boolean(Boolean, ByteBool, WordBool, and LongBool.)
    Enumerated(枚举)
    subrange(子界)实型包括:
    real (Real48, SingleDouble(is equivalent toreal)
    Extended Comp Currency)
    string (ShortString AnsiString(sometimes is equivalent to string) WideString)给你举个例子:
    Integer :
    case  intNum of
      1 :  dosometing;
      5 : dosometing;
      else dosometing;
    end ;char :
    case ch of
      'a'..'z'  :dosometing;
      '0'..'9'  : dosometing;
      #13       : dosometing;
      #32       : dosometing;
    end ;
    枚举:
    case MyColor of  Red: X := 1;
      Green: X := 2;
      Blue: X := 3;
      Yellow, Orange, Black: X := 0;
    end;boolean 型
    case bSelection of  Done: Form1.Close;
      Compute: CalculateTotal(UnitCost, Quantity);
    else
      Beep;
    end;
      

  4.   

    同意楼上!
    **** 深圳的DELPHI爱好者聚会通知! ****详情请看:
    http://www.delphibbs.com/delphibbs/dispq.asp?LID=1619353
      

  5.   

    freebird1020(nuaaboy)已经说得很明白了。如果不懂,你应该学学数据结构了。