Class StringTable

From TrainzOnline
Jump to: navigation, search


  • The StringTable class provides access to an asset's string table.
  • Any asset can have a string table container in its config.txt file, defined in the following format:
string-table {
   Industry_Title          "Packing Plant"
   Industry_Description    "$0 Packing Plant"
   Announcement            "The train at platform $0 is the $1 for $2, $3 and $4"
}
  • A string can have up to 10 parameters in the range of $0..$9.
  • A string table parameter is identified by the percentage character '$' followed by the parameter number.
  • The methods in this class allow a string to be retrieved such that its parameters are substituted with the desired string.
  • String tables can be used to store segments of HTML code that can be reused with the substituted parameters to define a table for example.
  • The Browser class also supports the use of string parameters through its Browser.SetParam() method.


Contents

Methods


ClearParams

public native void ClearParams(void)
Parameters
  • None
Returned Value
  • None
Syntax
table.ClearParams();
Notes
  • Resets the parameter list for the referenced StringTable.


GetLanguage

public native string GetLanguage(void)
Parameters
  • None
Returned Value
  • The current language version of Trainz.
Syntax
string language = GetLanguage();
Notes
  • Complete code should be :
 StringTable stringTable = me.GetAsset().GetStringTable();
 string language = stringTable.GetLanguage();


GetString

public native string GetString(string s)
public native string GetString0(string s)
Parameters
  • s = Name of the StringTable value to retrieve.
Returned Value
  • Value of the named item.
Syntax
// Industry_Description "Packing Plant"

description = table.GetString("Industry_Description"); // returns "Packing Plant"
Notes
  • If the named value is not present an empty string is returned.


GetString#

public string GetString1(string s, string p0)
public string GetString10(string s, string p0,.., string p9)
Parameters
  • s = Name of the StringTable value to retrieve.
  • p0..p9 = Replaceable parameters identified by "$0".."$9".
Returned Value
  • None
Syntax
// Industry_Description "$0 Packing Plant"

description = table.GetString1("Industry_Description","Wagga Wagga"); // returns "Wagga Wagga Packing Plant"

// Announcement "The train at platform $0 is the $1 for $2, $3 and $4"

description = table.GetString5("Announcement","1","8:15","Chelmsford","Witham","Colchester");
// returns "The train at platform 1 is the 8:15 for Chelmsford, Witham and Colchester"
Notes
  • A series of methods to retrieve a named string with substitution of up to 10 replaceable parameters.
  • The parameters are set up as placeholders within the StringTable using a percentage sign as an escape character.
  • Just to keep things simple function name counting starts at 1 and parameter indexing starts at zero.


SetParam

public native void SetParam(int param, string text)
Parameters
  • param = Index of parameter to define.
  • text = String value to assign to the defined parameter.
Returned Value
  • None
Syntax
// Industry_Description "$0 Packing Plant"
// Station_Description "$0 Station"

table.SetParam(1,"Fremantle");
table.GetString("Industry_Description");  // returns "Fremantle Packing Plant"
table.GetString("Station_Description");   // returns "Fremantle Station"
Notes
  • The value assigned to the parameter remains in place until amended or until a call to ClearParams() is made.


Categories

Personal tools