cnsGetNodesByName()
Looks for ID paths of nodes that match the given criteria.
Synopsis
bool cnsGetNodesByName(string pattern, [string view,] int whichNames, int
langIdx, int type, dyn_string &cnsPaths);
Parameters
Parameter | Description |
---|---|
pattern |
This pattern is checked against the ID path or display name path. As of version 3.20, there is a new default behavior. The wildcards *, ** and ? can be used depending on the config entry cnsUseDoubleAsterisk in the [general] section. The config entry is set to 1 by default, which means that:
You can also activate the old behavior by setting the config entry to 0. This means that the wildcards * and ? can be used:
|
view | Restricts the search to the given view |
whichNames |
Defines whether to look for ID path, display name path or both. Furthermore, it is possible to define if case-sensitivity is enabled or not. Therefore, the following constants are available:
These constants can be combined by using the pipe |. |
langIdx |
Defines in which language the name paths shall be matched.
This parameter is ignored if whichNames is not defined as CNS_SEARCH_ALL_NAMES or CNS_SEARCH_DISPLAY_NAMES |
type |
Limits the result to a matching CNSDataIdentifierType. The following constants are available:
|
cnsPaths | Receives the ID paths of the nodes which match the criteria. |
Return value
Returns TRUE if successful or FALSE in case of an error.
Errors
-
Description
This function returns ID paths of nodes that match the given criteria.
This function returns ID paths of nodes that match the given search criteria ( "Node1" under View1, all languages are searched and the function searches for the structure type). Note that you have to specify a leading * for the search pattern in order to receive a result.
main()
{
dyn_string dps;
cnsGetNodesByName("*Node1", "System1.View1:", CNS_SEARCH_ALL_NAMES, CNS_SEARCH_ALL_LANGUAGES,CNS_DATATYPE_EMPTY, dps);
DebugN(dps);
}
Returns all data point paths that match the search pattern (the path contains an 'o' and the search is case insensitive).
main()
{
dyn_string nodes;
cnsGetNodesByName("*o*", CNS_SEARCH_NAME | CNS_SEARCH_CASE_INSENSITIVE, CNS_SEARCH_ALL_LANGUAGES, CNS_DATATYPE_DATAPOINT, nodes);
DebugN("Paths:", nodes);
}
Availability
UI, CTRL