Please enable JavaScript to view this site.
Note: From Cobwebb Server Version > 6.2.82 you should use COBFNDRET as this program has an issue in that you needed to specify the Offset and Return String length as one greater than you want due to the program adding a blank to the front of the pattern.
This program will scan the String passed in PARM1 for the Pattern supplied in PARM2. If the pattern is found then a string will be returned based on the Offset and Return String length specified in parameters 5 & 6 respectively.
Parameter |
In |
Len |
Out |
Len |
PARM1 |
String |
132 |
Pattern start position #2 |
3 |
PARM2 |
Pattern |
132 |
Return string #5 |
132 |
PARM3 |
Translate [*YES] #1 |
4 |
- |
|
PARM4 |
Whole word [*YES] #3 |
4 |
- |
|
PARM5 |
Offset #4 |
4 |
- |
|
PARM6 |
Return String length |
3 |
- |
|
#1 | the scan function will be case sensitive unless you specify *YES in PARM3 in which case the string [PARM1] will be converted to uppercase before matching with the pattern. |
It follows that if you specify *YES in PARM3 then your pattern should be entered in uppercase in order to find a result.
#2 the result returned in PARM1 will be ‘000’ if:
•No match was found
•The Pattern length is longer than the String length
•The String is blank
•The Pattern is blank
Otherwise the result returned is the position of the first character of the pattern in the string e.g. 028.
#3 the scan function will search for the pattern with an assumed leading and trailing blank.
E.g.
String = Here we go again, the aga is playing up.
Pattern = aga [with a leading space]
If you specify *YES in PARM4 then the Pattern start position returned will be 023 [for aga], if blank then it will be 012 [for again].
#4 | this is the Offset from the first character of the found string#2 to specify the start position for the data to be returned. If you wish the offset to be BEFORE the found string then the first character of this parameter must be ‘-‘. |
Note: If no offset is specified, or the offset makes the start position > 132, then the start position of the found string will be assumed.
#5 | this will only be populated if you have specified a Return String length in PARM6. |
Example
Position |
1 2 3 4 1234567890123456789012345678901234567890123456789 |
|
String |
PARM1 |
The quick brown fox jumped over the lazy dog. |
Pattern |
PARM2 |
fox |
The returned Pattern Start in PARM1 would be 017. Then depending upon the Offset & Return length you would get the following examples:
Offset |
Return length |
Return String |
PARM5 |
PARM6 |
PARM2 |
‘-006’ |
‘005’ |
brown |
‘004’ |
‘011’ |
jumped over |
‘ ‘ |
‘010’ |
fox jumped |