getText: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add BIS_fnc_returnConfigEntry as an enhanced fnc to bis_fnc_getcfgdata)
m (note format)
Line 25: Line 25:
<dd class="notedate">Posted on Mar 28, 2014 - 07:52
<dd class="notedate">Posted on Mar 28, 2014 - 07:52
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
In ArmA3 ver 1.14, it is recommended to use [[BIS_fnc_GetCfgData]] or [[BIS_fnc_returnConfigEntry]] to get variable cfg data rather than conditioning via [[isNumber]], [[isText]], [[isArray]], [[getNumber]], [[getText]] and [[getArray]] combination. E.g.<br>
(ArmA3 1.14) It's recommended to use [[BIS_fnc_GetCfgData]] or [[BIS_fnc_returnConfigEntry]] to get variable cfg data rather than conditioning via [[isNumber]], [[isText]], [[isArray]], [[getNumber]], [[getText]] and [[getArray]] combination.<br>
Traditional workaround:
Traditional workaround:
<code>
<code>
_cfg = configfile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"
_cfg = [[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type"
switch (true) do
[[switch]] ( [[true]] ) [[do]]
{
{
case (isNumber _cfg): {getNumber _cfg};
[[case]] ([[isNumber]] _cfg): {[[getNumber]] _cfg};
case (isText _cfg): {getText _cfg};
[[case]] ([[isText]] _cfg): {[[getText]] _cfg};
case (isArray _cfg): {getArray _cfg;};
[[case]] ([[isArray]] _cfg): {[[getArray]] _cfg;};
default {nil};
[[default]] { nil };
};
};
</code>
</code>
'''Recommended workaround:'''
'''Recommended workaround:'''
<code>
<code>
(configfile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call bis_fnc_getcfgdata;
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_GetCfgData]];
</code>
</code>
To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[bis_fnc_getcfgdata]]. e.g.
To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[BIS_fnc_GetCfgData]]. e.g.
<code>
<code>
[(configfile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry;//0.5
[([[configFile]] >> "CannonFire" >> "LightExp"),"lifeTime",0] [[call]] [[BIS_fnc_returnConfigEntry]];//0.5
</code>
</code>
To compose collected [[String]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead. E.g.
To compose collected [[String]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead. E.g.
<code>
<code>
(configfile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataArray;
([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataArray]];
</code>
</code>
<!-- Note Section END -->
<!-- Note Section END -->

Revision as of 13:30, 19 July 2014

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Extract text from config entry.
Groups:
Uncategorised

Syntax

Syntax:
String = getText config
Parameters:
config: Config
Return Value:
String

Examples

Example 1:
_text = getText (configFile >> "CfgVehicles" >> "Thing" >> "icon");

Additional Information

See also:
configFileconfig/nameconfigNamecountgetArraygetNumberinheritsFromisArrayisClassisNumberisTextselect

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Posted on Mar 28, 2014 - 07:52
ffur2007slx2_5
(ArmA3 1.14) It's recommended to use BIS_fnc_GetCfgData or BIS_fnc_returnConfigEntry to get variable cfg data rather than conditioning via isNumber, isText, isArray, getNumber, getText and getArray combination.
Traditional workaround: _cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type" switch ( true ) do { case (isNumber _cfg): {getNumber _cfg}; case (isText _cfg): {getText _cfg}; case (isArray _cfg): {getArray _cfg;}; default { nil }; }; Recommended workaround: (configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_GetCfgData; To return default value once entry was not found, we can use BIS_fnc_returnConfigEntry instead of BIS_fnc_GetCfgData. e.g. [(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry;//0.5 To compose collected String into Array, use BIS_fnc_getCfgDataArray instead. E.g. (configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataArray;

Bottom Section