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;
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;
但是在delphi中,部分类型转换反而是函数
函数的参数是一个字符型 返回值是一个整型
找数据类型那章,看 枚举类型,集合类型,子界类型。比如你定义了一个星期的枚举类型
weeks = (Monday, .... Sunday)
那么Monday.....这些英文单词就是有序集合,
它们序号分别1到7
ord(Monday)就是1
ascii字符是从255个人为排列的字符,每个字符对应一个序号
实际是一个有序集合
所以ord('a')得到的就是小写字母a在码表中的序号。
ord取字符ascii值不过是ord的一个常见的应用。
这么简单的东西,看看书不就行了,还用上这来问?
type
A = (Mon, Tue, Wed, Thr, Fri, Sat, Sun);
则ord(Mon)为0, ord(Thr)为3, ord(Sun)为6