String Table Resources

String tables are resources (embedded configuration data) edited with Workbench.

  • A string table is a list of items identified by a name and referring to one or more character strings.
  • String tables are typically used for defining static texts to be used in the application.
  • These functions can be used for getting access to string tables in the programs:
  • Each string table may contain several columns of texts for each item, and thus ease the localization of application, simply by defining a column for each language.
    • This way, the language can be selected dynamically at runtime by specifying the active language (as a column) in the StringTable() function.

The name entered in the string table as an ID is automatically declared for the compiler.

  • The name:
    • Can directly be passed to the LoadString() function without re-declaring it.
    • Must conform to IEC standard naming rules.

You could do the same by declaring an array of STRING variables and enter some initial values for all items in the array.

  • String tables provide significant advantages compared to arrays:
    • The editor provides a comfortable view of multiple columns at editing.
    • String tables are loaded in the application code and does not require any further RAM memory unlike declared arrays.
    • The string table editor automatically declares readable IDs for any string item to be used in programs instead of working with hard-coded index values.

  • If the text is too long for the STRING variable when used at runtime, it is truncated.
    Use special $ sequences in strings to specify non printable characters, according to the IEC standard:

    Code

    Meaning

    $'

    A Single quote.

    $$

    A "$" character.

    $L

    A line feed character (ASCII code 10).

    $N

    Carriage return plus line feed characters (ASCII codes 13 and 10).

    $P

    A page break character (ASCII code 12).

    $R

    A carriage return character (ASCII code 13).

    $T

    A tab stop (ASCII code 9).

    $xx

    Any character (xx is the ASCII code expressed on two hexadecimal digits.