Difference between revisions of "API Expand.VarName"
(XML import) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | <sidebar>API Contents</sidebar> | |
− | |||
− | <sidebar>API | ||
Expands a string to the name of a global variable used in the generated code | Expands a string to the name of a global variable used in the generated code | ||
Line 21: | Line 19: | ||
[[Variable Types|BOOL]] ''SizeName'' | [[Variable Types|BOOL]] ''SizeName'' | ||
:Set true to return the expanded size define | :Set true to return the expanded size define | ||
+ | |||
+ | [[Variable Types|BOOL]] ''FullLine'' | ||
+ | :Set true to expand to a full declaration, else just the name | ||
Line 34: | Line 35: | ||
Note this does not return the full expression unless ''FullLine'' is true. In this case, ''Source'' ''must'' be a valid variable name for the ''Owner'' component, as the system needs this in order to expand the variable type, array sizes and initialisers. | Note this does not return the full expression unless ''FullLine'' is true. In this case, ''Source'' ''must'' be a valid variable name for the ''Owner'' component, as the system needs this in order to expand the variable type, array sizes and initialisers. | ||
+ | |||
+ | |||
+ | This is an example of what may be shown with differing ''SizeName'' and ''FullLine'' values. The sample variable is '''TestVar''', a byte array of 16 elements. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! SizeName | ||
+ | ! FullLine | ||
+ | ! Result | ||
+ | |- | ||
+ | | false | ||
+ | | false | ||
+ | | <tt>FCV_TESTVAR</tt> | ||
+ | |- | ||
+ | | true | ||
+ | | false | ||
+ | | <tt>FCVsz_TESTVAR</tt> | ||
+ | |- | ||
+ | | false | ||
+ | | true | ||
+ | | <tt>MX_UINT8 FCV_TESTVAR[FCVsz_TESTVAR]</tt> | ||
+ | |- | ||
+ | | true | ||
+ | | true | ||
+ | | <tt>#define FCVsz_TESTVAR 16</tt> | ||
+ | |} | ||
Line 39: | Line 66: | ||
===Calling in a calculation=== | ===Calling in a calculation=== | ||
* Declare a variable 'result' of type STRING | * Declare a variable 'result' of type STRING | ||
− | * Add to a calculation icon: <pre class="brush:[cpp]">result = ::Expand.VarName("source", owner, false)</pre> | + | * Add to a calculation icon: <pre class="brush:[cpp]">result = ::Expand.VarName("source", owner, false, true)</pre> |
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' |
Latest revision as of 15:57, 16 January 2014
<sidebar>API Contents</sidebar> Expands a string to the name of a global variable used in the generated code
Contents
Parameters
STRING Source
- The variable name to expand
HANDLE Owner
- A component that owns the variable
- The default value for this parameter is: this
BOOL SizeName
- Set true to return the expanded size define
BOOL FullLine
- Set true to expand to a full declaration, else just the name
Return value
The global variable name as it would exist in the generated code
Detailed description
This expands a global variable to the name it would be given in the generated code. The size define (the size of the final dimension of the array) may be returned instead if required.
Note this does not return the full expression unless FullLine is true. In this case, Source must be a valid variable name for the Owner component, as the system needs this in order to expand the variable type, array sizes and initialisers.
This is an example of what may be shown with differing SizeName and FullLine values. The sample variable is TestVar, a byte array of 16 elements.
SizeName | FullLine | Result |
---|---|---|
false | false | FCV_TESTVAR |
true | false | FCVsz_TESTVAR |
false | true | MX_UINT8 FCV_TESTVAR[FCVsz_TESTVAR] |
true | true | #define FCVsz_TESTVAR 16 |
Examples
Calling in a calculation
- Declare a variable 'result' of type STRING
- Add to a calculation icon:
result = ::Expand.VarName("source", owner, false, true)
No additional examples