问题一:
什么时候if 后面要加括号?
比如:
if MediaPlayer1.Mode=mpPlaying then //这里没有用()
         MediaPlayer1.stop;
 if (MediaPlayer1.Mode in[mpOpen,mpPaused,mpStopped]) then begin//这里使用了括号,还有疑问
  current_track;=1;
为什么??到底什么时候要用括号呢?
问题二:
MdeiaPlayer1.Mode in [mpOpen,mpPaused,mpStopped]//
这句是什么意思??我怎么都没有办法和c/c++联系起来(以前学过c/c++),
两个问题,请大家帮忙一下.谢谢了!

解决方案 »

  1.   

    1.两个或两个以上条件时要用()分开,其中加上not的后面也要加()
    2.in作用类似SQL语句中的in,满足里面的一个就可以了
      

  2.   

    if (MediaPlayer1.Mode in[mpOpen,mpPaused,mpStopped]) then begin
    这儿可以不用括号。if (a>1) and (b<2)
    这儿必须要括号,因为 and 的优先级比< 、> 高。2 
    标准C/C++里没有集合,所以不太好理解。
    就是MdeiaPlayer1.Mode  是否 属于 集合[mpOpen,mpPaused,mpStopped] 的意思。
      

  3.   

    最好加上 ()....MdeiaPlayer1.Mode in [mpOpen,mpPaused,mpStopped]//你就把後面的想像為一個容器 就類似於STL的SET把,,, 上面這句其實就是一個判斷...
    如樓上言,
      

  4.   

    集合是C++里面没有的概念,你当然无法和C/C++联系起来了
    A in [A,B,C]
    方括号表示这些元素是一个集合,这个表达式表示A是否是这个集合的元素.
    Pascal的集合的元素必须是有序类型或集合类型的某个元素才可以
      

  5.   

    否则用可能很麻烦
    A in [A,B,C]
    解释开来就是
    (A=A)or(A=B)or(A=C)
    集合简化了这种操作
      

  6.   

    逻辑运算与位运算时要加括号,因为PASCAL中的这些运算优先度比在C/C++中的要高.IN操作就是判断属于操作
      

  7.   

    问题二:
    [mpOpen,mpPaused,mpStopped] is a collection like math's collection; in's mean is include to
      

  8.   

    关于IF 前面已经谈过了,关于
    if (MediaPlayer1.Mode in[mpOpen,mpPaused,mpStopped]) then begin
    其实这是一个集合,而 MediaPlayer1.Mode是集合的一个变量如我们常用的FONT,作为例子
    另一个基于集合类型的属性是字体。字体类型值可以是粗体、斜体、带下画线、带删除线等,一种字型可以既是斜体又是粗体,也可以没有属性,或者带有全部的属性。因此用集合类型来表示它。你可以象下面代码那样,在程序中给集合赋值:Font.Style := []; // no style
    Font.Style := [fsBold]; // bold style only
    Font.Style := [fsBold, fsItalic]; // two styles你也能对一个集合进行许多不同方式的操作,包括把两个相同类型的集合变量相加(或更准确地说,计算两个集合变量的并集):Font.Style := OldStyle + [fsUnderline]; // two setsc++里面是没有集合的,这点是很不方便的,你可以考虑用数组的方法或者字符的方法
      

  9.   

    C++提供了这方面的标准库  如 set