2015-02-10 83 views
3

我有以下條目的rc文件:如何生成字符串類型ID的資源項?

01111 my_res { "string 1" } 
01113 my_res { "string 2" } 
01119 my_res { "string 3" } 

當我編譯RC.EXE這個rc文件,資源條目號分別爲111111131119而成。

顯然,資源編譯器將ID作爲數字處理。

我的第一印象是.res文件無法將數字存儲爲字符串類型。但是使用資源編輯器(如:XNResourceEditor.exe到資源ID 1111更改爲01111,並存儲爲01111這表明,資源ID可以存儲數字作爲字符串類型

有沒有辦法編譯數字資源ID。 ?作爲字符串類型

+0

你可以告訴你一個完整的資源腳本。我們在這裏錯過了很多背景。例如,我們不知道'my_res'是什麼。顯然,不要顯示你的整個劇本,先把它剪下來。 – 2015-02-10 09:47:16

+0

@DavidHeffernan:這是我減少rc文件的版本。我只有一種資源。 – 2015-02-10 09:49:14

+0

當我使用brcc32時它不編譯。我假設資源編譯器自問題被標記爲delphi。如果你的意思是使用rc,那麼錯誤地應用delphi標籤。 – 2015-02-10 09:50:34

回答

3

資源編譯器RC沒有任何語法,允許使得它作爲文本處理你逃跑的整數ID

文檔說:

唯一名稱或標識資源的16位無符號整數。

資源編譯器嘗試將ID解釋爲整數。如果它可以這樣做,那麼ID被解釋爲一個整數,否則它被解釋爲一個字符串。如果整數超過16位整數的範圍,則使用其值和0xffff

這是資源編譯器的限制。資源格式支持僅包含數字的文本ID。如果它是至關重要的,你產生這樣的資源,那麼我認爲你將需要:

  1. 查找資源編譯器,它允許數字被轉義爲文字,或
  2. 寫你自己的基本資源編譯器執行任務。
+0

我認爲這是迄今爲止最好的答案,我沒有發現使用當前工具的其他解決方案。 – 2015-02-10 10:10:32

相關問題