Whole document tree
Description
pilrc [-L LANGUAGE] [-I INCLUDE PATH] [-D MACRO(=VAL)] [-R RESFILE] [-H INCLUDE PATH] [-ro] [-q] [-V] [-Fh] [-Fj] [-F5] [-Fg] [-Fkm] [-Fkt] [-allowEditID] [-LE32] [-o OUTPUTPATH] file.rcp [output path] pilrcui [-L LANGUAGE] file.rcp
The resources generated are output as a collection of .bin files or as
resources within a PRC file, depending on whether
pilrc myprogram.rcp pilrc -I c:\resources -L FRENCH myprogram.rcp pilrc -I c:\resources -L BIG5 -F5 -R myprogram.res myprogram.rcp c:\output pilrc -ro -o myresoures.ro myprogram.rcp pilrc -ro myprogram.rcpUnderstanding the Manual Syntax
Items enclosed in "<" and ">" are required fields. Items enclosed in "[" and "]" are optional fields. Each field's required type is indicated by a suffix after the field name (see below for types).
Block comments exist between the "/*" and "*/" tokens. NOTE: "//" comments within the definition of objects are treated as errors.
This allows a programmer to have one header file for their project containing pre-defined resource IDs. Source code can reference the symbols as can PilRC. PilRC understands three include file formats.
NOTE: #ifdef derivatives are ignored by PilRC.
FORM ID <FormResourceId.n> AT (<Left.p> <Top.p> <Width.p> <Height.p>) [FRAME] [NOFRAME] [MODAL] [SAVEBEHIND] [NOSAVEBEHIND] [USABLE] [HELPID <HelpId.n>] [DEFAULTBTNID <BtnId.n>] [MENUID <MenuId.n>] [LOCALE <LocaleName.s>] BEGIN <OBJECTS> ENDWhere <OBJECTS> is one or more of:
FORM ID 1 AT (2 2 156 156) USABLE MODAL HELPID 1 MENUID 1 LOCALE "enUS" BEGIN TITLE "AlarmHack" LABEL "Repeat Datebook alarm sound" AUTOID AT (CENTER 16) PUSHBUTTON "1" ID 2001 AT (20 PrevBottom+2 12) AUTO GROUP 1 PUSHBUTTON "2" ID 2002 AT (PrevRight+1 PrevTop PrevWidth PrevHeight) GROUP 1 PUSHBUTTON "3" ID 2003 AT (PrevRight+1 PrevTop PrevWidth PrevHeight) GROUP 1 LABEL "times. Ring again every" AUTOID AT (CENTER PrevBottom+2) FONT 0 PUSHBUTTON "never" ID 3000 AT (13 PrevBottom+2 32 12) GROUP 2 PUSHBUTTON "10 sec" ID 3001 AT (PrevRight+1 PrevTop PrevWidth PrevHeight) GROUP 2 PUSHBUTTON "30 sec" ID 3002 AT (PrevRight+1 PrevTop PrevWidth PrevHeight) GROUP 2 PUSHBUTTON "1 min" ID 3003 AT (PrevRight+1 PrevTop PrevWidth PrevHeight) GROUP 2 LABEL "Alarm sound:" AUTOID AT (24 PrevBottom+4) POPUPTRIGGER "" ID 5000 AT (PrevRight+4 PrevTop 62 AUTO) LEFTANCHOR LIST "Standard" "Bleep" ID 6000 AT (PrevLeft PrevTop 52 1) VISIBLEITEMS 2 NONUSABLE POPUPLIST ID 5000 6000 BUTTON "Test" ID 1202 AT (CENTER 138 AUTO AUTO) GRAFFITISTATEINDICATOR AT (100 100) ENDMENU (MBAR)
MENU ID <MenuResourceId.n> [LOCALE <LocaleName.s>] BEGIN <PULLDOWNS> ENDWhere <PULLDOWNS> is one or more of:
PULLDOWN <PullDownTitle.s> BEGIN <MENUITEMS> ENDWhere <MENUITEMS> is one or more of:
MENUITEM <MenuItem.s> ID <MenuItemId.n> [AccelChar.c] MENUITEM SEPARATORExample: MENU ID 100 LOCALE "enUS" BEGIN PULLDOWN "File" BEGIN MENUITEM "Open..." ID 100 "O" MENUITEM SEPARATOR MENUITEM "Close..." ID 101 "C" END PULLDOWN "Options" BEGIN MENUITEM "Get Info..." ID 200 "I" END ENDALERT (Talt)
ALERT ID <AlertResrouceId.n> [HELPID <HelpId.n>] [DEFAULTBUTTON <ButtonIdx.n>] [INFORMATION] [CONFIRMATION] [WARNING] [ERROR] [LOCALE <LocaleName.s>] BEGIN TITLE <Title.s> MESSAGE <Message.ss> BUTTONS <Button.s> ... <Button.s> ENDNotes:
ALERT ID 1000 HELPID 100 DEFAULTBUTTON 1 CONFIRMATION LOCALE "enUS" BEGIN TITLE "AlarmHack" MESSAGE "Continuing will cause you 7 years of bad luck\n" \ "Are you sure?" BUTTONS "Ok" "Cancel" ENDVERSION (tver)
VERSION ID <VersionResourceId.n> <Version.s> VERSION <Version.s>Notes:
VERSION ID 1 "1.0 beta" VERSION "1.0 beta"STRING (tSTR)
STRING ID <StringResourceId.n> [LOCALE <LocaleName.s>] <String.ss> STRING ID <StringResourceId.n> [LOCALE <LocaleName.s>] FILE <StringFile.s>Example: STRING ID 100 "This is a very long string that shows escape characters \n" \ "as well as continued .ss syntax strings" STRING ID 101 FILE "string.txt"STRINGTABLE (tSTL)
STRINGTABLE ID <StringTableResourceId.n> [LOCALE <LocaleName.s>] <PrefixString.ss> ... <String.ss>Notes:
[source.rcp] STRINGTABLE stringTableMetric "" "Litres" "Meters" "Celsius" "Newtons" "Kilograms" [source.c] MemHandle memHandle, memStringList; MemPtr ptrTable; UInt16 count; memHandle = DmGetResource('tSTL', stringTableMetric); ptrTable = (MemPtr)MemHandleLock(memHandle); // get the string count <-- "messy" count = (*((UInt8 *)(ptrTable + StrLen((Char *)ptrTable) + 1)) << 8) | *((UInt8 *)(ptrTable + StrLen((Char *)ptrTable) + 2)); // get the handle to an array of strings memStringList = SysFormPointerArrayToStrings(ptrTable + StrLen((Char *)ptrTable) + 3, count); // NOTE: the "prefix" is ignored here ... MemHandleUnlock(memHandle); DmReleaseResource(memHandle);.. to get a single STRING [source.rcp] STRINGTABLE stringTableTypes "Units are:" "Metric" "Imperial" [source.c] Char string[32]; SysStringByIndex(stringTableTypes, 0, string, 32); Example: STRINGTABLE ID 100 "" "One" "Two" "Three" "Four" STRINGTABLE ID 100 "-" "One" "Two" "Three" "Four"CATEGORIES (tAIS)
CATEGORIES ID <CategoryResourceId.n> [LOCALE <LocaleName.s>] <Category1.s> ... <Category2.s>Notes:
CATEGORIES ID 100 "Unfiled" "Business" "Personal"APPLICATIONICONNAME (tAIN)
APPLICATIONICONNAME ID <AINResourceId.n> [LOCALE <LocaleName.s>] <ApplicationName.s>Example: APPLICATIONICONNAME ID 100 "AlarmHack"APPLICATION (APPL)
APPLICATION ID <ApplResourceId.n> [LOCALE <LocaleName.s>] <APPL.s>Notes:
Example: APPLICATION ID 1 "PALM"LAUNCHERCATEGORY (taic)
LAUNCHERCATEGORY [ID <LaunchCatResourceId.n>] [LOCALE <LocaleName.s>] <APPL.s>Example: LAUNCHERCATEGORY "Games" LAUNCHERCATEGORY ID 1000 "Games"ICON (tAIB)
ICON [ID <IconResourceId.n>] [LOCALE <LocaleName.s>] <IconFileName.s> ICONFAMILY [ID <IconResourceId.n>] <BitmapFileName.s> ... <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index]Notes:
ICON "myicon.bmp" ICONFAMILY "icon1bpp.bmp" "icon2bpp.bmp" ICONFAMILY "icon1bpp.bmp" "icon2bpp.bmp" "icon4bpp.bmp" "icon8bpp.bmp" ICONFAMILY "icon1bpp.bmp" "" "" "icon8bpp.bmp" TRANSPARENTINDEX 255SMALLICON (tAIB)
SMALLICON [ID <IconResourceId.n>] [LOCALE <LocaleName.s>] <IconFileName.s> SMALLICONFAMILY [ID <IconResourceId.n>] <BitmapFileName.s> ... <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index]Notes:
SMALLICON "mysmicon.bmp" SMALLICONFAMILY "smic1bpp.bmp" "smic2bpp.bmp" SMALLICONFAMILY "smic1bpp.bmp" "smic2bpp.bmp" "smic4bpp.bmp" "smic8bpp.bmp" SMALLICONFAMILY "smic1bpp.bmp" "" "" "smic8bpp.bmp" TRANSPARENTINDEX 255BITMAP (Tbmp) (tbsb)
BITMAP [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPGREY [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPGREY16 [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPCOLOR16 [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPCOLOR [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index] [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPCOLOR16K [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>] <BitmapFileName.s> [TRANSPARENT r g b] [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPFAMILY [<ResType.s>] ID <BitmapResourceId.n> <BitmapFileName.s> ... <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index] [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BITMAPFAMILYSPECIAL [<ResType.s>] ID <BitmapResourceId.n> <BitmapFileName.s> ... <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index] [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS] BOOTSCREENFAMILY [<ResType.s>] ID <BitmapResourceId.n> [LOCALE <LocaleName.s>]  <BitmapFileName.s> ... <BitmapFileName.s> [NOCOLORTABLE] [COLORTABLE] [TRANSPARENT r g b] [TRANSPARENTINDEX index] [NOCOMPRESS] [COMPRESS] [FORCECOMPRESS]Notes:
{ UInt32 depth; RGBColorType palette[] = { { 0, 0xff, 0xff, 0xff }, { 1, 0x80, 0x80, 0x80 }, { 2, 0x80, 0x00, 0x00 }, { 3, 0x80, 0x80, 0x00 }, { 4, 0x00, 0x80, 0x00 }, { 5, 0x00, 0x80, 0x80 }, { 6, 0x00, 0x00, 0x80 }, { 7, 0x80, 0x00, 0x80 }, { 8, 0xff, 0x00, 0xff }, { 9, 0xc0, 0xc0, 0xc0 }, { 10, 0xff, 0x00, 0x00 }, { 11, 0xff, 0xff, 0x00 }, { 12, 0x00, 0xff, 0x00 }, { 13, 0x00, 0xff, 0xff }, { 14, 0x00, 0x00, 0xff }, { 15, 0x00, 0x00, 0x00 } }; // change to 4bpp grayscale depth = 4; WinScreenMode(winScreenModeSet,NULL,NULL,&depth,NULL); // and tweak to the 16 color palette WinPalette(winPaletteSet,0,16,palette); }Example:
BITMAP ID 1 LOCALE "enUS" "bitmap.bmp" COMPRESS BITMAPGREY ID 2 "bmp2bpp.bmp" COMPRESS BITMAPGREY16 ID 3 "bmp4bpp.bmp" COMPRESS BITMAPCOLOR16 ID 4 "bmp4bpc.bmp" COMPRESS BITMAPCOLOR ID 4 "bmp8bpp.bmp" COMPRESS COLORTABLE BITMAPFAMILY ID 5 "bmp1bpp.bmp" "bmp2bpp.bmp" COMPRESS BITMAPFAMILY ID 6 "bmp1bpp.bmp" "bmp2bpp.bmp" "bmp4bpp.bmp" "bmp8bpp.bmp" COMPRESS BITMAPFAMILY ID 7 "bmp1bpp.bmp" "" "" "bmp8bpp.bmp" COMPRESS BITMAPFAMILY ID 8 "bmp1bpp.bmp" "" "" "bmp8bpp.bmp" COMPRESS TRANSPARENT 255 255 255 BITMAPFAMILY ID 9 "bmp1bpp.bmp" "" "" "bmp8bpp.bmp" COMPRESS TRANSPARENTINDEX 255TRAP (TRAP)
TRAP ID <TrapId.n> VALUE <TrapNumber.n>Notes:
TRAP ID 1000 VALUE 367FONT (NFNT)
FONT ID <FontResourceId.n> [LOCALE <LocaleName.s>] FONTID <FontId.n> <FontFileName.s>FONT file format The file containing the font information is plain ASCII. To understand how it works it is first necessary to understand how a font is arranged in memory. A font consists of four main parts, a header, a bitmap image, a bitmap location table, and an offset/width table. The bitmap image and location table are generated for you 100% automatically. The ASCII file consists of two parts, the header and the font data (glyph objects). A full font file is provided with the PilRC distribution. The FONT header has the following fields:
Each glyph has a bitmap, offset, and a width associated with it. The width can be overridden, however it is not recommended as it is set automatically. Notes:
[source.rcp] FONT ID 1000 FONTID 128 "font.txt" [source.c] void *font128; font128=MemHandleLock(DmGetResource('NFNT', 1000)); UICurrentFontPtr = font128; [source.rcp] FONT ID 1000 FONTID 128 "font.txt" [source.c] FontPtr font128; font128=MemHandleLock(DmGetResource('NFNT', 1000)); FntDefineFont(128, font128);
FONTINDEX ID <ResId.n> [LOCALE <LocaleName.s>] BEGIN <FontType.s> <ResId.n> ... ENDNotes:
FONTINDEX ID 1000 LOCALE "enUS" BEGIN "NFNT" 9001 "NFNT" 9002 "NFNT" 9003 ENDHEX
HEX <ResType.s> ID <ResId.n> [LOCALE <LocaleName.s>] <Byte.n> | <String.s>Notes:
HEX "junk" ID 1000 0x00 0x00 0x00 0x23 "String" 0x00 "String2" 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00DATA
DATA <ResType.s> ID <ResId.n> [LOCALE <LocaleName.s>] <FileName.s>Example: DATA "junk" ID 1000 "binary.bin"INTEGER (tint)
INTEGER ID <ResId.n> [LOCALE <LocaleName.s>] VALUE <Value.n>Notes:
INTEGER ID 1000 VALUE 1966BYTELIST (BLST)
BYTELIST ID <ResId.n> [LOCALE <LocaleName.s>] BEGIN <Value.n> ... ENDExample: BYTELIST ID 1000 BEGIN 23 3 205 55 ENDWORDLIST (wrdl)
WORDLIST ID <ResId.n> [LOCALE <LocaleName.s>] BEGIN <Value.n> ... ENDExample: WORDLIST ID 1000 BEGIN 23 1303 2505 2055 ENDLONGWORDLIST (DLST)
LONGWORDLIST ID <ResId.n> [LOCALE <LocaleName.s>] BEGIN <Value.n> ... ENDExample: LONGWORDLIST ID 1000 BEGIN 123456789 130300 78005 200055 ENDPALETTETABLE (tclt)
PALETTETABLE ID <ResId.n> BEGIN <index.n> <red.n> <green.n> <blue.n> ... ENDExample: PALETTETABLE ID 1000 BEGIN 0x00 0xFF 0xFF 0xFF 0x01 0x00 0x00 0x00 ENDFEATURE (feat)
FEATURE ID <ResId.n> [LOCALE <LocaleName.s>]  BEGIN [CREATOR <creator.s>] BEGIN [ENTRY] [NUMBER <number.n>] [VALUE <value.n>] ... END ENDExample: FEATURE ID 1000 BEGIN [CREATOR <creator.s>] BEGIN ENTRY NUMBER 5 VALUE 0 ENTRY NUMBER 6 VALUE 0 END ENDGRAFFITIINPUTAREA (silk)
GRAFFITIINPUTAREA ID <GraffitiInputAreaId.n> [VERSION <version.n>] [CREATOR <creator.s>] [LANGUAGE <language.s>] [COUNTRY <conutry.s>] [LOCALE <LocaleName.s>] BEGIN <OBJECTS> ENDWhere <OBJECTS> is one or more of:
GRAFFITIINPUTAREA ID 10000 VERSION 1 CREATOR "psys" LANGUAGE "English" COUNTRY "UnitedStates" BEGIN AREA AT (0 0 160 160) SCREEN INDEX 0 AREA AT (27 164 62 56) GRAFFITI INDEX 0 AREA AT (89 164 44 56) GRAFFITI INDEX 1 BUTTON AT (27 206 18 14) KEYDOWNCHR 272 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 BUTTON AT (115 206 18 14) KEYDOWNCHR 273 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 BUTTON AT (0 164 27 28) KEYDOWNCHR 264 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 BUTTON AT (0 192 27 28) KEYDOWNCHR 261 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 BUTTON AT (133 164 27 28) KEYDOWNCHR 267 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 BUTTON AT (133 192 27 28) KEYDOWNCHR 266 KEYDOWNKEYCODE 0 KEYDOWNMODIFIERS 8 ENDCOUNTRYLOCALISATION (cnty)
COUNTRYLOCALISATION ID <ResId.n> [LOCALE <LocaleName.s>]  BEGIN BEGIN [NUMBER <number.n>] [NAME <name.s>] [DATEFORMAT <dateformat.n>] [LONGDATEFORMAT <longdateformat.n>] [WEEKSTARTDAY <weekstartday.n>] [TIMEFORMAT <timeformat.n>] [NUMBERFORMAT <numberformat.n>] [CURRENCYNAME <currencyname.s>] [CURRENCYSYMBOL <currencysymbol.s>] [CURRENCYUNIQUESYMBOL <currencyuniquesymbol.s>] [CURRENCYDECIMALPLACES <currencydecimalplaces.n>] [DAYLIGHTSAVINGS <daylightsavings.n>] [MINUTESWESTOFGMT <minuteswestofgmt.n>] [MEASUREMENTSYSTEM <measuresystem.n>] END BEGIN ... END ... ENDNotes:
COUNTRYLOCALISATION ID 10000 BEGIN BEGIN NUMBER 7 NAME "France" DATEFORMAT 1 LONGDATEFORMAT 8 WEEKSTARTDAY 1 TIMEFORMAT 2 NUMBERFORMAT 2 CURRENCYNAME "Franc" CURRENCYSYMBOL "F" CURRENCYUNIQUESYMBOL "FRF" CURRENCYDECIMALPLACES 2 DAYLIGHTSAVINGS 3 MINUTESWESTOFGMT 60 MEASUREMENTSYSTEM 1 END BEGIN NUMBER 23 NAME "United States" DATEFORMAT 0 LONGDATEFORMAT 7 WEEKSTARTDAY 0 TIMEFORMAT 1 NUMBERFORMAT 0 CURRENCYNAME "US Dollar" CURRENCYSYMBOL "$" CURRENCYUNIQUESYMBOL "$US" CURRENCYDECIMALPLACES 2 DAYLIGHTSAVINGS 1 MINUTESWESTOFGMT 1140 MEASUREMENTSYSTEM 0 END ENDLOCALES (locs)
LOCALES ID <ResId.n> [LOCALE <LocaleName.s>]  BEGIN [VERSION <number.n>] BEGIN [LANGUAGES <languages.n>] [COUNTRYS <countrys.n>] [COUNTRYNAME <countryname.s>] [DATEFORMAT <dateformat.n>] [LONGDATEFORMAT <longdateformat.n>] [TIMEFORMAT <timeformat.n>] [WEEKSTARTDAY <weekstartday.n>] [TIMEZONE <timezone.n>] [NUMBERFORMAT <numberformat.n>] [CURRENCYNAME <currencyname.s>] [CURRENCYSYMBOL <currencysymbol.s>] [CURRENCYUNIQUESYMBOL <currencyuniquesymbol.s>] [CURRENCYDECIMALPLACES <currencydecimalplaces.n>] [MEASUREMENTSYSTEM <measuresystem.n>] END BEGIN ... END ... ENDNotes:
LOCALES ID 10000 BEGIN VERSION 1 BEGIN LANGUAGES 1 COUNTRYS 7 COUNTRYNAME "France" DATEFORMAT 1 LONGDATEFORMAT 8 TIMEFORMAT 2 WEEKSTARTDAY 1 TIMEZONE 60 NUMBERFORMAT 2 CURRENCYNAME "Franc" CURRENCYSYMBOL "F" CURRENCYUNIQUESYMBOL "FRF" CURRENCYDECIMALPLACES 2 MEASUREMENTSYSTEM 1 END BEGIN LANGUAGES 0 COUNTRYS 23 COUNTRYNAME "United States" DATEFORMAT 0 LONGDATEFORMAT 7 TIMEFORMAT 1 WEEKSTARTDAY 0 TIMEZONE -480 NUMBERFORMAT 0 CURRENCYNAME "US Dollar" CURRENCYSYMBOL "$" CURRENCYUNIQUESYMBOL "$US" CURRENCYDECIMALPLACES 2 MEASUREMENTSYSTEM 0 END ENDKEYBOARD (tkbd)
KEYBOARD ID <ResId.n> [LOCALE <LocaleName.s>] VALUE <Value.n>Notes:
KEYBOARD ID 1000 VALUE 0MIDI (MIDI)
MIDI ID <ResId.n> <string.s>Notes:
MIDI ID 1000 "trompette.aif"HARDSOFTBUTTONDEFAULT (hsbd)
HARDSOFTBUTTONDEFAULT ID <ResId.n> [LOCALE <LocaleName.s>] BEGIN BEGIN [NUMBER <number.n>] [CREATOR <creator.s>] END ... ENDNotes:
HARDSOFTBUTTONDEFAULT ID 10000 BEGIN BEGIN NUMBER 516 CREATOR "date" END BEGIN NUMBER 517 CREATOR "addr" END BEGIN NUMBER 518 CREATOR "todo" END BEGIN NUMBER 519 CREATOR "memo" END BEGIN NUMBER 521 CREATOR "sync" END BEGIN NUMBER 264 CREATOR "lnch" END BEGIN NUMBER 267 CREATOR "calc" END ENDSYSAPPLICATIONPREFERENCES (pref)
SYSAPPLICATIONPREFERENCES ID <ResId.n> [LOCALE <LocaleName.s>] PRIORITY <Priority.n> STACKSIZE <StackSize.n> MINHEAPSPACE <MinHeapSpace.n>Notes:
SYSAPPLICATIONPREFERENCES ID 1000 PRIORITY 30 STACKSIZE 0x1000 MINHEAPSPACE 0x1000 International Support
Positioning of controls is a large problem if absolute values are used. It is recommended you use AUTO, CENTER and PREVRIGHT et al when defining the contents of your forms.
pilrc -L FRENCH myscript.rcp resTRANSLATION
TRANSLATION <Language.s> BEGIN <STRINGTRANSLATIONS> ENDWhere <STRINGTRANSLATIONS> is one or more of:
<Original.s> = <Translated.ss>Notes:
Example: TRANSLATION "FRENCH" BEGIN "Repeat Datebook alarm sound" = "Répétitions Alarme Agenda" "Ring again every" = "Rappel tous les" ENDKnown Bugs
|