预设的值
From Apache OpenOffice Wiki
通过使用预设的值,实现程序就不必使用含义模糊的数字或其他文字值。有两种预设的值,即常数和枚举。常数可以包含所有基本 UNO 类型的值,void 除外。枚举自动以 long 值编号。
Const 和 Constants
constants
类型是 const
类型的容器。constants
指令的开头是关键字 constants,然后给出一组新的 const
值的标识符,并将主体放置在花括号中,结尾是分号。Constant
主体包含 const
定义的列表,定义中是成员的值,开头是关键字 const
,然后是已知类型名称和用大写字母表示的 const 的标识符。每个 const 定义必须使用等号指定 const
的值。值必须与给定的类型相匹配,可以是整数、浮点数、字符,也可以是使用下表中的运算符计算出的合适的 const
值或算术表达式。同样,const
定义的结尾也必须是分号。
#ifndef __com_sun_star_awt_FontWeight_idl__ #define __com_sun_star_awt_FontWeight_idl__ module com { module sun { module star { module awt { constants FontWeight { const float DONTKNOW = 0.000000; const float THIN = 50.000000; const float ULTRALIGHT = 60.000000; const float LIGHT = 75.000000; const float SEMILIGHT = 90.000000; const float NORMAL = 100.000000; const float SEMIBOLD = 110.000000; const float BOLD = 150.000000; const float ULTRABOLD = 175.000000; const float BLACK = 200.000000; }; }; }; }; };
在 const 中使用的运算符 | Meaning |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模 |
- | 负号 |
+ | 正号 |
| | 位运算:或 |
^ | 位运算:或 |
& | 位运算:与 |
~ | 位运算:非 |
>> << | 位运算:右移、左移 |
Enum
Enum
类型包含一组预设的 long 值,并将其映射为有意义的符号。它相当于 C++ 中的枚举类型。enum
指令的开头是关键字 enum
,然后是一组新的 enum
值的标识符,并在花括号中给出 enum
的主体,结尾是分号。enum
主体包含以逗号分隔的符号列表,符号用大写字母表示,默认情况下,这些符号将自动映射到从零开始计数的 long 值。
#ifndef __com_sun_star_style_ParagraphAdjust_idl__ #define __com_sun_star_style_ParagraphAdjust_idl__ module com { module sun { module star { module style { enum ParagraphAdjust { LEFT, RIGHT, BLOCK, CENTER, STRETCH }; }; }; }; }; #endif
在这个示例中,<idlml>com.sun.star.style.ParagraphAdjust:LEFT</idlml> 对应 0,ParagraphAdjust.RIGHT 对应 1,以此类推。
还可以使用等号将一个 enum
成员设定为 long
值。之后的所有 enum
值都从这个值开始递增。如果在后面的代码中又进行指定,则从该指定开始计数:\
enum Error { SYSTEM = 10, // value 10 RUNTIME, // value 11 FATAL, // value 12 USER = 30, // value 30 SOFT // value 31 };
Content on this page is licensed under the Public Documentation License (PDL). |