|
<< Click to Display Table of Contents >> Navigation: 3. Script Language > String commands > !BLO.-Block-Commands > Block Information > String Operations |
MiniRobotLanguage (MRL)
BLO.Count
Counts the number of top-level blocks.
Intention
This Command counts how many complete, top-level blocks exist in a string.
It is useful for determining the size of a list or the number of records before starting a loop. It intelligently ignores any nested blocks, providing an accurate count of only the main, parent-level blocks.
Will only work is start- and End-Delimiter are NOT the same.
� � � � � � � � � � � � Counting Top-Level Blocks
� � � � � � � +------------+ � �+-------------------------+ � � � � +----------+
Counted: � � � � Block 1 � � � � Block 2 (ignores nested) � � � � � � Block 3
Source String: �<ITEM>A</ITEM> � <ITEM><SUB>a</SUB></ITEM> � � � � �<ITEM>C</ITEM>
� � � � � � � +------------+ � �+-------------------------+ � � � � +----------+
� � � � � � � Result: 3
Syntax
BLO.Count|P1|P2|P3[|P4]
Parameter Explanation
�P1 - (Input, Text) The source string to search within.
�P2 - (Input, Text) The starting delimiter string.
�P3 - (Input, Text) The ending delimiter string.
�P4 - (Output, Numeric) Optional. Variable to store the resulting count. If omitted, the count is placed on the Top of Stack (TOS).
Example
'***********************************
' BLO.Count Example
'***********************************
' This string contains two top-level blocks.
$$SRC=AaB
BLO.Count|$$SRC|''|''|$$COUNT
' $$COUNT will be 2
MBX.Found $$COUNT top-level items.
ENR.
See also:
? BLO.Verify - Verify count and get last block
? BLO.GetAll - Get all blocks to array
? BLO.Validate - Check delimiter balance