User-Defined資源
使用者定義的資源定義語句會定義包含應用程式特定資料的資源。 如果指定 了檔案名 參數) ,或是指定原始資料區塊,則資料可以具有任何格式,而且可以在指定 原始資料 區塊時 (定義為 (指定檔案的內容) (。
nameID typeID filename
檔案名會指定包含資源二進位資料的檔案名。 檔案的內容會包含在資源中。 RC 不會以任何方式解譯二進位資料。 程式設計人員必須負責確保資料正確對齊目的電腦架構。
您也可以使用下列語法,在資源腳本中完全定義使用者定義的資源:
nameID typeID { raw-data }
參數
-
nameID
-
唯一名稱或識別資源的 16 位不帶正負號的整數。
-
typeID
-
唯一名稱或識別資源類型的 16 位不帶正負號的整數。 如果指定數位,它必須大於 255。 數位 1 到 255 會保留給現有和未來重新定義的資源類型。
-
檔案名
-
包含資源資料的檔案名。 參數必須是有效的檔案名;如果檔案不在目前的工作目錄中,它必須是完整路徑。
-
raw-data
-
原始資料是由一或多個整數或字元字串所組成。 整數可以十進位、八進位或十六進位格式指定。 為了與 16 位 Windows 相容,整數會儲存為 WORD 值。 您可以將整數儲存為 DWORD 值,方法是使用 「L」 尾碼限定整數。
字串會以引號括住。 RC 不會自動將終止 Null 字元附加至字串。 除非您將它限定為具有 「L」 前置詞的寬字元字串,否則每個字串都是指定 ANSI 字元的序列。
資料區塊會從 DWORD 界限開始,RC 不會在 原始資料 區塊內執行資料填補或對齊。 程式設計人員必須負責確保區塊內資料正確對齊。
範例
下列範例顯示數個使用者定義的語句:
array MYRES data.res
14 300 custom.res
18 MYRES2
{
"Here is an ANSI string\0", // explicitly null-terminated
L"Here is a Unicode string\0", // explicitly null-terminated
1024, // integer, stored as WORD
7L, // integer, stored as DWORD
0x029a, // hex integer
0o733, // octal integer
}