線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:884
推到 Plurk!
推到 Facebook!

AnsiString 和 String在xe8 為何

答題得分者是:aftcast
kevin081555
一般會員


發表:3
回覆:1
積分:0
註冊:2015-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-07-28 19:04:24 IP:114.34.xxx.xxx 訂閱

[code cpp]
請在此區域輸入程式碼
[/code]
各位好:
我有一個小問題想請叫各位先進,
我有一些變數宣告AnsiString 和 String時在bcb6.0沒有問題,可是移到xe8時Compiler有問題,
如:
AnsiString Message_S="Hello";
AnsiString Message_S1="Warning";
MessageBox(GetActiveWindow(),Message_S.c_str(),Message_S.c_str(),MB_ICONWARNING);
在bcb6.0沒有問題,在xe8就要把Message_S和Message_S1宣告成String否則Compiler有問題,
我在xe8寫程式,有關字串我要宣告成AnsiString 還是String才是unicode,謝謝
Ans
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-07-28 23:59:55 IP:61.228.xxx.xxx 訂閱
AnsiString 在繁體的windows下就相當於 big5
String 相當於 UnicodeString 的別名。
所以
String s;
UnicodeString s;
上面二條都是一樣的意思。
以上在 delphi/rad 2009 (含) 以上是那樣的。
在 2009 以前
String 是 AnsiString.

另外,"良好"的習慣是
UnicodeStinrg s = L"Hello";

前面有要有 L 。表示寬字元常數。

Ansistring astr = "Hello"; // 正確的,因為它是一個字元一個byte的結構
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
系統時間:2017-10-18 19:06:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!