2015-02-24 96 views
-2

我想這樣做:簡單的Unicode符號代碼總和

1)點擊事件轉換!按鈕

用戶必須在可寫的編輯控件中鍵入2值。按下後轉換!程序必須將這些字符的Unicode值的總和設置爲第一個只讀編輯控件(它接近「=」符號)。例如,如果設置了第一個編輯控制值作爲є(其它的UTF-16(十六進制)的編碼值是0x0404 (0404)。它也被稱爲西里爾大寫字母烏克蘭IE)和第二編輯控制值作爲@(其其UTF-16(十六進制)編碼值爲0x0040 (0040)。也稱爲Commercial At),則結果必須是符號:ф(其UTF-16編碼值爲0x0444 (0444))。因此,其值等於其他編輯控件UTF-16編碼值的總和。我怎樣才能做到這一點?

2)點擊撤消按鈕

事件點擊撤銷按鈕,就必須設置編輯控件此按鈕下方的價值。此值應є符號(如你看到它的Unicode編碼值sumsecond edit control's的提取。我怎樣才能做到這一點?

我搜索了這些問題2周在谷歌, MSDN和一些不同的論壇,但是我找不到任何有用的話題,我只能找到MultiByteCharacterSet_mbclenmblen_mblen_l函數,如果這些函數對我有用,我怎麼能在我的程序中使用它? ,給我建議,我是VC++的新手,

編輯

用戶必須輸入一個字符。這可能是一個數字或字母。不是一個字或序列的字符或數字。

感謝您的關注。

P.S:如果有太多的和我的語法很差失誤,如果問題是重複的非常抱歉......

最好的問候, Mirjalal。

enter image description here

+0

添加的Unicode代碼點值是一個非常無意義的操作。結果是一個完全隨機的字形。只是胡言亂語。如果使用的字體沒有字形,則不包含任何內容,結果與代理相匹配或溢出。不要編寫產生亂碼的程序。 – 2015-02-24 16:58:24

+0

@HansPassant我知道。但我可以這樣做嗎? – 2015-02-24 17:01:23

+0

你可以做任何你想做的事,只是不要指望幫助一個毫無意義的任務。使用隨機數字生成器,它會更容易實現。 – 2015-02-24 17:02:58

回答

1

輸入值已經等於其的unicode-16值。不需要轉換。

CString in1(L'1'); 
 
CString in2(L'2'); 
 
CString sum(wchar_t(in1[0] + in2[0]));

+0

很好:) 它的工作*有時*對我來說。 這裏*有時*意思是,當第一個輸入值是'A',第二個是'B'時,結果實際上什麼都沒有。但它適用於其他一些符號。而且我也想知道它不適用於所有符號? 我不明白什麼是'[0]'?我改變了這些指數到另一個數字它沒有工作。 謝謝。 – 2015-02-25 19:25:28

+0

in1 [0]是in1字符串中的第一個字符。 in1 [1]將是字符串中的第二個字符(如果有第二個字符)。算術對所有符號都「起作用」,但並不是所有的結果都會產生可顯示的字符。 – 2015-02-25 22:43:42

+0

好吧,我明白了。十分感謝。 – 2015-02-26 04:37:50