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

大牛们,红星们,2010默认就不能设置成标准字符集么?非得是unicode么?解决思路

2012-03-09 
大牛们,红星们,2010默认就不能设置成标准字符集么?非得是unicode么?烦啊[解决办法]好像是的[解决办法]好多

大牛们,红星们,2010默认就不能设置成标准字符集么?非得是unicode么?
烦啊

[解决办法]
好像是的
[解决办法]
好多分!
[解决办法]
Unicode不好吗?我觉得很舒服。
[解决办法]
确实啊,一直都用BCB2006,一下子转成Unicode有点不习惯!本来打算把自己的项目都迁移到BCB2010的,看了那么多要更改的地方,也就只好放弃了!
[解决办法]
总要适应新事物的
还是去习惯吧
[解决办法]
关注,帮顶。个人认为没有什么改变的办法
[解决办法]
貌似现Unicode才是标准字符集
[解决办法]

探讨
引用:

引用:
习惯的问题吧。
不过你答非所问,有灌水嫌疑


最近工作忙,心情烦燥,不太想回答技术问题。


我是开玩笑的,烦闷的生活需要娱乐。

[解决办法]
这个问题我刚用2010的时候,就研究了一下,找遍所有选项,没发现可以改的地方(VC2008可以的啊)
这对程序从老版移植是个很大的麻烦,没办法。

[解决办法]
没多少麻烦的,代码可以使用 Uedit32 等工具批量修改。 再配合 RAD2010 强大的编辑器在项目中查找、试编译,一般一天就可完成了。

但 Unicode 带给我们的则是大大的惊喜,用久了就知道了。
[解决办法]
A. 将所有 AnsiString 替换成 String 这一步可以使用 UEdit32 批量,一次性修改

B. 替换所有 char 为 wchar_t 同上。

C. 在用到 Windows API 函数时,试试函数名后面加上 W (真蠢,默认是 A 的函数,如:
ShellExecute(...) 就是 ShellExecuteA 而不是 ShellExecuteW)

D. 在非得用 char 的地方,建议使用 TBytes 可以这样:

TBytes ABytes = TEncoding::Default::GetButes(UnicodeString S)

以上,均采用在项目中查找功能,很好很强大!


[解决办法]
学习一下,以后会用到
[解决办法]

[解决办法]
1难道工程环境旧没有设置的啊.
2哪个2010的help里面就没有一个how to update bcb6 project to 2010的。
 
[解决办法]
非的这样干了吗,写个程序,哈哈.
反正大家都是程序员,写个转换程序有没啥,而且分析的是英文简单的,

1读一行
A 找" AnsiString " , replace " String "
B char 为 TChar wchar_t
C 可以暂时不动
D BYTE 替换为TBYTE

2 工程属性中把环境设为unicode.


探讨
A. 将所有 AnsiString 替换成 String 这一步可以使用 UEdit32 批量,一次性修改

B. 替换所有 char 为 wchar_t 同上。

C. 在用到 Windows API 函数时,试试函数名后面加上 W (真蠢,默认是 A 的函数,如:
ShellExecute(...) 就是 ShellExecuteA 而不是 ShellExecuteW)

D. ……

[解决办法]
好象在这里,跟VS STDIO 的工程项目属性character set 一样,根据HELP中说的在这框里面找设置 Project > Options > Directories and Conditionals dialog box. 我没环境,URL
http://docwiki.embarcadero.com/RADStudio/en/Enabling_C%2B%2B_Applications_for_Unicode

顺便不知道这个资料对大家有没有用,感兴趣的瞄一下
http://www.oopschool.com/books/CPB2010.pdf
[解决办法]
楼上说的char 为 TChar wchar_t
不一定可以啊,因为有的函数传参const char*用char数组的话wchar_t就会出问题了哈
[解决办法]
来学习下,Unicode让人头痛。
[解决办法]

探讨
A. 将所有 AnsiString 替换成 String 这一步可以使用 UEdit32 批量,一次性修改

B. 替换所有 char 为 wchar_t 同上。

C. 在用到 Windows API 函数时,试试函数名后面加上 W (真蠢,默认是 A 的函数,如:
ShellExecute(...) 就是 ShellExecuteA 而不是 ShellExecuteW)

D. ……


[解决办法]
建议使用std::string,在写个std::string转String的函数,在bcb2010里也写个这样的函数,在不同的环境加入相对应得函数,使用std::string的移植性要好些。

热点排行