首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

宏定义的值可以动态修改么? 或者变相的解决办法

2012-03-05 
宏定义的值可以动态修改么? 或者变相的解决方法程序要国际化,大部分的Caption都改好了,结果在一个地方卡住

宏定义的值可以动态修改么? 或者变相的解决方法
程序要国际化,大部分的Caption都改好了,结果在一个地方卡住了

#define ECC_LANGUAGE_CODE_CHI "chi"

这个宏定义的chi在英文的情况下要变成eng

有什么方法可以动态改变么? 


在另一个头文件里有如下定义:

#define EDS_LANGUAGE_CODE_CHI ECC_LANGUAGE_CODE_CHI

[解决办法]
#define max(a,b) ((a) > (b) ? (a) : (b))
[解决办法]
要国际化;
可以用Project->language->Add
[解决办法]
宏本身的值可以通过#undef和#define重新定义,或者用条件编译也可以。

但对于国际化多语言的程序来说,最简单的就是将语言包定义成配置文件,程序启动时载入这些字符串并进行初始化。
[解决办法]
换成函数可以么?

C/C++ code
//#define ECC_LANGUAGE_CODE_CHI (get_lang_code())//char * get_lang_code(){    // 动态决定当前语言    // ...} 

热点排行