:Revision=3
:html
<<
128.156
Step-Object|Step
$NoHelpDebug
--
The IP-Object Step provides information about the active test step or other test steps of the loaded test sequence. However, most functions make sense only in the real test steps and the start- and end steps, not in the system steps.

There are 3 different ways to specify the step whose should be inquired:

<h4>1. Get data from the active test step</h4>
Only usefull in real test steps inside a test.
<!DEF><!TW>Step.<i>method</i><!TXT>
<h4>2. Access by test step number </h4>
Will retrieve data from the test step with the step number <!PW>rNumber. If no step with this number exists, a "Parameter-Out-Of-Range" error occurs. Use <!RW>Step.Exists() to check if a step with a certain step number exists.
<!DEF><!TW>Step(rNumber : real).<i>method</i><!TXT>
<h4>3. Access by index</h4>
Get information from the <!PW>rIndex-th test step in the internal test step list. The internal list has no particular order! Therefore, this way of access is uonly usefull, if all steps should be accessed one by one. The indices start with 1. The number of test steps can be retrieved with<!RW>Step.Count abfragen. Indices out of the range [1..Step.Count] will result in a "Parameter-Out-Of-Range" error.
<!DEF><!TW>Step[rIndex : real].<i>method</i><!TXT>
>>

<<
128.156.1
Functions of the Step-Object|Functions
--
>>
<<
128.156.1.1
Step.Number|Number
--
<!DEF>
function <!TW>Step.Number : real;
function <!TW>Step(rNumber : real).Number : real;
function <!TW>Step[rIndex : real].Number : real;
<!TXT>
Returns the number of the test step.

Note:
The expression
<!CODE>
rNr := Step(rNumber).Number;
<!TXT>
is in fact possible and completely valid syntactically, but rather useless since it would be easier to write:
<!CODE>
rNr:=rNumber;
<!TXT>
That's because the step number of a step with the number <!PW>rNumber is <!PW>rNumber.
>>
<<
128.156.1.2
Step.Name|Name
--
<!DEF>
function <!TW>Step.Name : string;
function <!TW>Step(rNumber : real).Name : string;
function <!TW>Step[rIndex : real].Name : string;
<!TXT>
Returns the name of the test step.
>>
<<
128.156.1.3
Step.IPName|IPName
--
<!DEF>
function <!TW>Step.IPName : string;
function <!TW>Step(rNumber : real).IPName : string;
function <!TW>Step[rIndex : real].IPName : string;
<!TXT>
Returns the name of the interpreter step.
>>
<<
128.156.1.4
Step.Precision|Precision
--
<!DEF>
function <!TW>Step.Precision : real;
function <!TW>Step(rNumber : real).Precision : real;
function <!TW>Step[rIndex : real].Precision : real;
<!TXT>
Returns the number of decimal places for test step results.
>>
<<
128.156.1.5
Step.Unit|Unit
--
<!DEF>
function <!TW>Step.Unit : string;
function <!TW>Step(rNumber : real).Unit : string;
function <!TW>Step[rIndex : real].Unit : string;
<!TXT>
Returns the measuring unit of the test step.
>>
<<
128.156.1.6
Step.LowerLimit|LowerLimit
--
<!DEF>
function <!TW>Step.LowerLimit : real;
function <!TW>Step(rNumber : real).LowerLimit : real;
function <!TW>Step[rIndex : real].LowerLimit : real;
<!TXT>
Returns the lower limit value of the test step.
>>
<<
128.156.1.7
Step.UpperLimit|UpperLimit
--
<!DEF>
function <!TW>Step.UpperLimit : real;
function <!TW>Step(rNumber : real).UpperLimit : real;
function <!TW>Step[rIndex : real].UpperLimit : real;
<!TXT>
Returns the upper limit value of the test step.
>>
<<
128.156.1.8
Step.Parameter|Parameter
$NoHelpDebug
--
<!DEF>
function <!TW>Step.Parameter (rParaNr) : string;
function <!TW>Step.(rNumber : real).Parameter (rParaNr) : string;
function <!TW>Step.[rIndex : real].Parameter (rParaNr) : string;
<!TXT>
Returns the test step - parameter <!PW>rParaNr (1..32) as string, as it is entered in the data base.
>>
<<
128.156.1.9
Step.Field|Field
--
<!DEF>
function <!TW>Step.Field (sUserFieldName, [sDefault]) : string;
function <!TW>Step(rNumber : real).Field (sUserFieldName, [sDefault]) : string;
function <!TW>Step[rIndex : real].Field (sUserFieldName, [sDefault]) : string;
<!TXT>
Returns the value of the user defined parameter field with the name <!PW>sUserFieldName.

Upper and lower case are disregarded in case of <!PW>sUserFieldName.

If the user defined parameter is not available, the <!PW>sDefault value is returned. If this is not specified either, a run time error is generated.
>>
<<
128.156.1.10
Step.Field.Exists|Field.exists
--
<!DEF>
function <!TW>Step.Field.Exists (sUserFieldName) : real;
function <!TW>Step(rNumber : real).Field.Exists (sUserFieldName) : real;
function <!TW>Step[rIndex : real].Field.Exists (sUserFieldName) : real;
<!TXT>
Returns <!RW>TRUE, if the user defined parameter field with the name <!PW>sUserFieldName exists.

Upper and lower case are disregarded in case of <!PW>sUserFieldName.
>>

<<
128.156.1.11
Step.Exists|Exists
--
<!DEF>
function <!TW>Step.Exists(rNumber : real) : real;
<!TXT>
Returns <!RW>TRUE, if there is a test step with the number <!PW>rNumber.

Usefull if a test step must be accessed over the rNumber in order to avoid run time errors:

<!CODE>
rNum:=10;
if Step.Exists(rNum) then begin
  s:=Step(rNum).Name;
end
else
  s:=str(rNum)+' doesn''t exist';
end;
<!TXT>
>>
<<
128.156.1.12
Step.Count|Count
--
<!DEF>
function <!TW>Step.Count : real;
<!TXT>
Returns the number of test steps in the test step list.

<!CODE>
for rNum:=1 to Step.Count do begin
  PrintStepname(Step[rNum].Name);
end;
<!TXT>
>>

<<
128.156.2
Procedures of the Step-Object|Procedures
--
>>
<<
128.156.2.1
Step.Modify|Modify
--
<!DEF>
procedure <!TW>Step.Modify (sItem : string; .Value : string|real);
<!TXT>
Modifies a parameter of the current test step. Modifications are only valid in this step-cycle and are not permanent.

 <!PW>sItem selects which parameter will be changed, <!PW>Value is the new value and must match in data type and size:

<!STBL>
<!+>sItem<!+>data type<!+> decription<!>
<!c>LOWERLIMIT<!c>Real<!>sets the lower limit<!>
<!c>UPPERLIMIT<!c>Real<!>sets the upper limit<!>
<!ETBL>
>>

