Megosztás a következőn keresztül:


User-Defined erőforrás

A felhasználó által definiált erőforrásdefiníciós utasítás alkalmazásspecifikus adatokat tartalmazó erőforrást határoz meg. Az adatok bármilyen formátumúak lehetnek, és definiálhatók egy adott fájl tartalmaként (ha a fájlnév paraméter van megadva), vagy szám- és sztringsorozatként (ha a nyers adat blokk van megadva).

nameID typeID filename

A fájlnév az erőforrás bináris adatait tartalmazó fájl nevét adja meg. A fájl tartalma erőforrásként szerepel. Az RC semmilyen módon nem értelmezi a bináris adatokat. A programozó feladata annak biztosítása, hogy az adatok megfelelően igazodjanak a célszámítógép architektúrához.

A felhasználó által definiált erőforrások az erőforrásszkriptben is definiálhatók az alábbi szintaxis használatával:

nameID typeID  {  raw-data  }

Paraméterek

nameID

Egyedi név vagy egy 16 bites, aláíratlan egész szám, amely azonosítja az erőforrást.

typeID

Egyedi név vagy egy 16 bites aláíratlan egész szám, amely azonosítja az erőforrás típusát. Ha egy szám meg van adva, annak 255-nél nagyobbnak kell lennie. Az 1–255-ös számok a meglévő és a jövőben újradefiniált erőforrástípusok számára vannak fenntartva.

fájlnév

Az erőforrás-adatokat tartalmazó fájl neve. A paraméternek érvényes fájlnévnek kell lennie; teljes elérési útnak kell lennie, ha a fájl nem az aktuális munkakönyvtárban található.

nyersadat-

Egy vagy több egész számból vagy karaktersorozatból álló nyers adatok. Az egész számok decimális, oktális vagy hexadecimális formátumban is megadhatók. A 16 bites Windowssal való kompatibilitás érdekében az egész számok WORD-értékekként vannak tárolva. Az egész számokat DWORD-értékként tárolhatja, ha az egész számot az "L" utótaggal minősíti.

A sztringek idézőjelek közé vannak zárva. Az RC nem fűz hozzá automatikusan null karaktert egy sztringhez. Minden sztring a megadott ANSI-karakterek sorozata, hacsak nem minősíti széles karakterű sztringnek az "L" előtaggal.

Az adatblokk egy DWORD határán kezdődik, és az RC nem végez kitöltést vagy igazítást az adatokhoz a nyersadat- blokkon belül. A programozó feladata, hogy biztosítsa az adatok megfelelő igazítását a blokkon belül.

Példa

Az alábbi példa több felhasználó által definiált utasítást mutat be:

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 
}