请问ord函数怎么用的啊,听别人讲Ord 返回参数值在其数据类型值集合中的序号 但还是不懂什么是数据类型值集合中的序号啊.

解决方案 »

  1.   


    type   Colors = (RED,BLUE,GREEN);var  S: string;
     begin
       S := 'BLUE has an ordinal value of ' + IntToStr(Ord(BLUE)) + #13#10;//Ord(BLUE)返回BLUE在有序队列中的位置序号
       S := S + 'The ASCII code for "c" is ' + IntToStr(Ord('c')) +  ' decimal';
       MessageDlg(S, mtInformation, [mbOk], 0, mbOK);
     end;
      

  2.   

    Ord不是函数,而是运算符,而且实际上是一句什么都不做的运算符,看做类型的强制转换更好理解些
    但是在delphi中,部分类型转换反而是函数
      

  3.   

    用ord函数可以取得字符的ASCII码的值
    函数的参数是一个字符型 返回值是一个整型
      

  4.   

    ord 只是返回某一字符的ASCII码
      

  5.   

    阅读任何一本Delphi基础教材
    找数据类型那章,看 枚举类型,集合类型,子界类型。比如你定义了一个星期的枚举类型
    weeks = (Monday, .... Sunday)
    那么Monday.....这些英文单词就是有序集合,
    它们序号分别1到7
    ord(Monday)就是1
    ascii字符是从255个人为排列的字符,每个字符对应一个序号
    实际是一个有序集合
    所以ord('a')得到的就是小写字母a在码表中的序号。
    ord取字符ascii值不过是ord的一个常见的应用。
    这么简单的东西,看看书不就行了,还用上这来问?
      

  6.   

    更正一下:ascii字符是从0到255的人为排列的字符序列
      

  7.   

    Pascal中的数据类型共有三大类:有序数据类型,实数类型和字符串类型。ord函数返回的是某个有序类型值在有序类型集合中的序号。有序类型包括:整数类型, 字符类型, 布尔类型, 枚举类型。整数类型的序号就是整数值本身。例如:ord(1)为1, ord(-100)为-100字符类型的序号就是字符的ASCII码。例如:ord('A')为65布尔值只有两个,ord(False)为0, ord(True)为1 枚举类型的序号是枚举值在枚举类型的值表中出现的次序值(从0开始),例如:
    type
      A = (Mon, Tue, Wed, Thr, Fri, Sat, Sun);
    则ord(Mon)为0, ord(Thr)为3, ord(Sun)为6