Dela via


User-Defined resurs

En användardefinierad resursdefinitionsuttryck definierar en resurs som innehåller programspecifika data. Data kan ha valfritt format och kan definieras antingen som innehållet i en viss fil (om filnamn parameter anges) eller som en serie tal och strängar (om -blocket har angetts).

nameID typeID filename

Det filnamnet anger namnet på en fil som innehåller resursens binära data. Innehållet i filen ingår som resurs. RC tolkar inte binära data på något sätt. Det är programmerarens ansvar att se till att data är korrekt anpassade för måldatorarkitekturen.

En användardefinierad resurs kan också definieras helt i resursskriptet med hjälp av följande syntax:

nameID typeID  {  raw-data  }

Parametrar

nameID

Unikt namn eller ett 16-bitars osignerat heltal som identifierar resursen.

typeID

Unikt namn eller ett 16-bitars osignerat heltal som identifierar resurstypen. Om ett tal anges måste det vara större än 255. Talen 1 till 255 är reserverade för befintliga och framtida omdefinierade resurstyper.

filnamn

Namnet på filen som innehåller resursdata. Parametern måste vara ett giltigt filnamn. det måste vara en fullständig sökväg om filen inte finns i den aktuella arbetskatalogen.

rådata

Rådata som består av ett eller flera heltal eller teckensträngar. Heltal kan anges i decimalformat, oktalt eller hexadecimalt format. För att vara kompatibel med 16-bitars Windows lagras heltal som WORD-värden. Du kan lagra ett heltal som ett DWORD-värde genom att kvalificera heltalet med Suffixet "L".

Strängar omges av citattecken. RC lägger inte automatiskt till ett avslutande null-tecken i en sträng. Varje sträng är en sekvens med angivna ANSI-tecken, såvida du inte kvalificerar den som en sträng med breda tecken med prefixet "L".

Datablocket börjar på en DWORD- gräns och RC utför ingen utfyllnad eller justering av data inom -blockering av rådata. Det är programmerarens ansvar att säkerställa korrekt justering av data inom blocket.

Exempel

I följande exempel visas flera användardefinierade instruktioner:

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 
}