有一好沒兩好!? INI實現多國語言只能成功一次? |
缺席
|
ac12zz
一般會員 發表:2 回覆:2 積分:0 註冊:2006-07-12 發送簡訊給我 |
請教各位先進
小弟參考dllee兄的範例編寫多國語言 有繁、簡、英三個 INI檔,並在頁面加入下拉式選單來更改使用的語系 一切照著範例來,也有宣告INIFiles.hpp了 為何只有在第一次formshow時成功 之後在 ComboBox的 OnChange 事件中呼叫下面的副程式 卻是怎麼呼叫怎麼失敗,readingstring始終是傳出預設值而非INI檔內的資料 請各位先進救救命~! 感恩!! -------------------------------------------------------------------------------- 程式碼如下: void __stdcall TInitial::ChangeLanguage(void) { //***********HMI**************************** TIniFile *ini; AnsiString asHMITemp = (iLanguage == 0)? "LangChineseT.ini":((iLanguage == 1)? "LangChineseS.ini":"LangEnglish.ini"); ini = new TIniFile(ExtractFilePath(Application->ExeName) "Data\\" asHMITemp); for(int i=0 ; i { if(String(Initial->Components[i]->ClassName()) == "TLabel" ) { ((TLabel *)Initial->Components[i])->Caption = ini->ReadString(Initial->Caption, Initial->Components[i]->Name ".Caption", ((TLabel *)Initial->Components[i])->Caption); } if(String(Initial->Components[i]->ClassName()) == "TToolButton") { ((TToolButton *)Initial->Components[i])->Hint = ini->ReadString(Initial->Caption, Initial->Components[i]->Name ".Hint", ((TToolButton *)Initial->Components[i])->Hint); } if(String(Initial->Components[i]->ClassName()) == "TMenuItem") { ((TMenuItem *)Initial->Components[i])->Caption = ini->ReadString(Initial->Caption, Initial->Components[i]->Name ".Caption", ((TMenuItem *)Initial->Components[i])->Caption); } if(String(Initial->Components[i]->ClassName()) == "TButton") { ((TButton *)Initial->Components[i])->Caption = ini->ReadString(Initial->Caption, Initial->Components[i]->Name ".Caption", ((TButton *)Initial->Components[i])->Caption); } } delete ini; ini = NULL; //***********End of HMI********************* } -------------------------------------------------------------------------------- INI 檔格式如下: [Dicing Saw] btnReset.Caption=錯誤已排除 Edit1.Text=水氣警報 Label4.Caption=各軸啟動中請稍候.... ToolButton1.Hint=工件資料 ToolButton2.Hint=刀具資料 F1.Caption=檔案(&F) D1.Caption=操作參數(&D) B1.Caption=預切資料(&B) YY1.Caption=Y 軸量測(&Y) V1.Caption=機台顯示(&V) IOI1.Caption=I/O狀態(&I) Z1.Caption=參數狀態(&J) N5.Caption=生產統計(&P) H3.Caption=說明(&H) |
ac12zz
一般會員 發表:2 回覆:2 積分:0 註冊:2006-07-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |