031602435 肖逸清
031602431 王源
設計思路
通過VS編輯resx檔案并生成resources檔案,然後用諸多API對資源進行部署、枚舉和輸出
具體來說:
1.LangList.resx
存儲配置好的所有語言名稱,以及對應于名稱的區域性名稱(如zh-CN)
2.Resource.XX.resx
XX對應區域性名稱
存儲對應語言的提示文字等等
3. ResourceManager類
public : ResourceManager(System::String^ baseName, System::Reflection::Assembly^ assembly)
baseName: 資源的根名稱。例如,名為“MyResource.en-US.resources”的資源檔案的根名稱為“MyResource”。
assembly: 資源的主 System::Reflection::Assembly。
通過
ResourceManager
“管理”不同語言所用的資源檔案,除此以外也用來便利地管理單個資源檔案
4. ResourceSet類
public : ref class ResourceSet
存儲已針對某個特定區域性進行了本地化的所有資源,忽略所有其他區域性(包括任何代用規則)。
在本程式中實際用來存儲LangList并利用
System::Resources::ResourceSet::GetEnumerator()
實作對Langlist的周遊
5.Cultrueinfo類
public : ref class CultureInfo
提供有關特定區域性的資訊(對于非托管代碼開發,則稱為“區域設定”)。這些資訊包括區域性的名稱、書寫系統、使用的月曆以及對日期和排序字元串的格式化設定。
Cultrueinfo
指定區域性配合
System::Resources::ResourceManager::GetString(System::String^, System::Globalization::CultureInfo^)
函數提取資源檔案Resource.XX.resx中key(即
string^
)對應的value
6.System::Console類
Console
類的函數便利地輸出
string^
類型的資料
7.System::Text::UnicodeEncoding
通過設定
Console::OutputEncoding
和
Console::OutputEncoding
為
System::Text::UnicodeEncoding
,使得輸入輸出采用Unicode編碼,進而解決不同語言而産生的亂碼問題。
程式實作和結果測試的截圖

github的送出連結和送出日志截圖
git連結
兩位同學的分工和協作證據截圖
本次作業感想
剛看到這次作業要求是我是一臉茫然的。。。還是問王源同學才知道是什麼意思。。。
這次的實作方法看起來很刁鑽,但是仔細想想卻發覺自己早就知曉這種方法的存在了。比如一款遊戲,它的圖檔檔案,bgm檔案等都在一個相應的檔案夾,然後等待調用。那麼,如果我找好相應素材,運用調用素材的方式是否就能寫出貪吃蛇,坦克大戰等簡單小遊戲咯?等等,是以這次的作業是為以後的windows程式作業作鋪墊?!!(驚恐臉)