天天看點

Inno Setup 擷取目前語言的名稱,安裝完成後,依據名稱進行檔案拷貝

今天項目上遇到需求如下:

安裝包中英文可選,應用程式可以根據配置檔案實作中英文的切換,預設配置檔案中是中文,現在想要的是如果安裝包選擇了英文,配置檔案裡面預設就改成英文。

有點繞,但應該是說明白了。

遇到的難點:

1、如何擷取安裝包的語言類型?

2、如何修改配置檔案?

針對問題1  網上沒有太多的說明,最後學習群裡的一位朋友,一語道破“ActiveLanguage()”

就是這個函數,可以擷取語言名稱。

針對問題2  直接改配置檔案項顯然工作量不小,退而求其次,改内容不成,就拷貝檔案麼。

多語言切換的在另一篇博文中有說明,下面直接貼代碼

// 頁面切換事件  

procedure CurPageChanged(CurPageID: Integer);  

var 

  languageName: string;

  res: bool;

begin

  if CurPageID = wpFinished then

  begin

     languageName := ActiveLanguage(); // 擷取使用者選擇的語言

     if' en'=languageName then 

     begin

          res:=FileCopy(ExpandConstant('{app}')+'\PicoVR\Data\picohome.ini',ExpandConstant('{app}')+'\picohome.ini',false);

     end

end;

最後補充一些技巧:

1、[Code]中所有的相對路徑都要轉換為絕對路徑 ,用ExpandConstant('{app}');

2、定義的變量指派一定要注意  :=是不可以分開的

繼續閱讀