<转>CB2010使用一段时间总结。(Ansi->Unicode)

装上CB2010,将以前的工程转过来,首先碰到的问题是AnsiString->UnicodeString。要想把程序彻底的改成Unicode,我总结了以下几点:

    1,菜单Project->Options->Directories and Conditionals->_TCHAR maps to char 改为 wchar_t。(C++Builer2010的帮助文件中说,要使用VCL,这是必须的) 。

    2,WinMain() 改成 _tWinMain。(新建工程不用改)。

    3,const char s[N] = "abc"; 改成 const wchar_t  s[N] = L"abc";或者 TEXT("abc");

    4,AnsiString 改成  UnicodeString。  

    5,按键响应函数KeyPress( TObject *Sender, char &Key )中的 char 改为 wchar_t。(新建工程不用改)。

 

不足请大家指正。

 

最近装上Windows7,发现原先用OLE操作Excel的函数不工作了,提示“未能找到"TRUE.xls"文件”,经试验将这一行代码

  vExcelApp.OlePropertyGet( L"WorkBooks" ).OleProcedure( L"Open", L"d://my01.xls" ); 改为:

  vExcelApp.OlePropertyGet( L"WorkBooks" ).OleProcedure( L"Open", WideString(L"d://my01.xls") );后问题解决。

另外像 OlePropertySet( L"PrintTitleRows",L"$1:$1" ) 等函数,第二个参数也必须改为 WideString(L"$1:$1") 才行。

 

转自:http://blog.csdn.net/hong_qi/article/details/4946630

你可能感兴趣的:(unicode)