预定义值
From Apache OpenOffice Wiki
< Zh | Documentation
API 提供许多预定义值,用作方法参数,或作为方法的返回值。在 UNO IDL 中,预定义值有两种不同的数据类型:常数和枚举。
const
const 定义有效 UNO IDL 类型的命名值。值取决于指定的类型,可以是常值(整数、浮点数或字符)、另一个 const 类型的标识符或包含以下运算符的算术项:+、-、*、/、~、&、|、%、^、
<<、>>。
由于可以在 const 中广泛选择类型和值,因此,const 有时用于生成对合并的值进行编码的位矢量。
const short ID = 23;
const boolean ERROR = true;
const double PI = 3.1415;
通常情况下,const 定义是常数组的一部分。
constants
constants 类型定义的是包含多个 const 值的一个命名组。constants 组中的 const 用组名称加上 const 名称表示。在下面的 UNO IDL 示例中,ImageAlign.RIGHT 指的是值 2:
constants ImageAlign {
const short LEFT = 0;
const short TOP = 1;
const short RIGHT = 2;
const short BOTTOM = 3;
};
enum
enum 类型与 C++ 中的枚举类型相当。它包含一个已排序列表,列表中有一个或多个标识符,代表 enum 类型的各个值。默认情况下,值按顺序编号,以 0 开头,每增加一个新值就增加 1。如果给某个 enum 值指定了一个值,则没有预定义值的所有后续 enum 值都以此指定值为基准来获得值。
// com.sun.star.uno.TypeClass
enum TypeClass {
VOID,
CHAR,
BOOLEAN,
BYTE,
SHORT,
...
};
enum Error {
SYSTEM = 10, // value 10
RUNTIME, // value 11
FATAL, // value 12
USER = 30, // value 30
SOFT // value 31
};
如果调试中使用了 enum,就应该能够通过操作一个 enum 在 API 参考书中的位置来获得该 enum 的数值。但是,不要使用文字数值取代程序中的 enum。
| Content on this page is licensed under the Public Documentation License (PDL). |