Bagikan melalui


Sumber Daya User-Defined

Pernyataan definisi sumber daya yang ditentukan pengguna menentukan sumber daya yang berisi data khusus aplikasi. Data dapat memiliki format apa pun dan dapat didefinisikan baik sebagai konten file tertentu (jika parameter nama file diberikan) atau sebagai serangkaian angka dan string (jika blok data mentah ditentukan).

nameID typeID filename

Nama file menentukan nama file yang berisi data biner sumber daya. Konten file disertakan sebagai sumber daya. RC tidak menafsirkan data biner dengan cara apa pun. Programmer bertanggung jawab untuk memastikan bahwa data diselaraskan dengan benar untuk arsitektur komputer target.

Sumber daya yang ditentukan pengguna juga dapat didefinisikan sepenuhnya dalam skrip sumber daya menggunakan sintaks berikut:

nameID typeID  {  raw-data  }

Parameter

nameID

Nama unik atau bilangan bulat yang tidak ditandatangani 16-bit yang mengidentifikasi sumber daya.

typeID

Nama unik atau bilangan bulat yang tidak ditandatangani 16-bit yang mengidentifikasi jenis sumber daya. Jika angka diberikan, angka harus lebih besar dari 255. Angka 1 hingga 255 dicadangkan untuk jenis sumber daya yang sudah ada dan yang akan datang yang ditentukan ulang.

Filename

Nama file yang berisi data sumber daya. Parameter harus berupa nama file yang valid; harus berupa jalur lengkap jika file tidak berada di direktori kerja saat ini.

data mentah

Data mentah yang terdiri dari satu atau beberapa bilangan bulat atau string karakter. Bilangan bulat dapat ditentukan dalam format desimal, oktal, atau heksadesimal. Agar kompatibel dengan Windows 16-bit, bilangan bulat disimpan sebagai nilai WORD. Anda dapat menyimpan bilangan bulat sebagai nilai DWORD dengan memenuhi syarat bilangan bulat dengan akhiran "L".

String diapit dalam tanda kutip. RC tidak secara otomatis menambahkan karakter null yang mengakhiri ke string. Setiap string adalah urutan karakter ANSI yang ditentukan, kecuali Anda memenuhi syarat sebagai string karakter lebar dengan awalan "L".

Blok data dimulai pada batas DWORD dan RC tidak melakukan padding atau penyelarasan data dalam blok data mentah . Programmer bertanggung jawab untuk memastikan keselarasan data yang tepat dalam blok.

Contoh

Contoh berikut menunjukkan beberapa pernyataan yang ditentukan pengguna:

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 
}