LpCntIsGrtrThan ( lst )
Rate this function: Average rating: 5.0 (7 votes) Discuss this Custom Function
John Knight, dB SPL
http://www.filemaker.com
Exits loop when loop count is greater than the value count of a list (lst)
Sample Input:
| LpCntIsGrtrThan ( List ( "red" ; "green" ; "blue" ) |
|
Sample Output:
| Boolean Result and $cnt variable increments with loop |
|
Description:
Generates the $cnt variable and increments it by 1 with each pass of a loop.
Designed to be used with "Exit Loop If" script step to exit the loop after you've exhausted all of the values in a list.
$cnt <= ValueCount ( lst ) returns 0
$cnt > ValueCount ( lst ) returns 1
Quick Example (quasi-code):
Set Variable [$values; List ( Related::field )]
Go To Object [Object Name: "portal" ]
*Set Variable [$cnt]
Loop
* Exit Loop If [LpCntIsGrtrThan ( $values )]
Go to Portal Row [Last]
Set Field [Portal::entry; GetValue ( $values ; $cnt )]
End Loop
This example will create an entry in the portal for each value in $values, placing that value in a field in the new portal row and will exit the loop after it has gone through all the values. (Assumes 'Creation through Relationship' is checked')
Notes:
*It's a good idea to clear the '$cnt' variable before entering the loop, and it's essential if you utilize the function in multiple loops in the same script, since it will use the same variable that can't be cleared within the function without destroying the functionality.
*The 'Exit Loop If' should be placed at the beginning of the loop to set the variable before it's needed. If a 'GetValue ( $values ; $cnt )' is placed before the variable is initialized, you will have errors.
* Has been updated to allow for a numerical parameter, so you can either give a list and it will exit at ">valuecount ( lst )", or a single numerical value (example: 37) and it will exit at ">number."
* The drawback to adding this functionality is that if you have a list of numerical values that turns out to have a valuecount of 1, it will view that one value as a number and will not exit until it's surpassed the value of that number (ex. 37) instead of the valuecount of the list (1).
Ways of combatting this would be to use a non-numeric field that has the same number of values or you could wrap each value in the Quote() or GetAsText() functions.
Note: these functions are not guaranteed
or supported by BrianDunning.com. Please contact the individual
developer with any questions or problems.
This is my Custom Function and I want to
edit it
Discuss:There are no comments yet. Be the first to post a comment about this Custom Function! Please try to keep it brief & to the point. Anyone can post:
|
Newest Custom Functions:
| 1. |
list.intersect (listA; listB) |
| |
(Mon, May 14, 12:43pm) |
| 2. |
WeekStart ( weekOfYear ; year ) |
| |
(Sat, May 12, 8:42am) |
| 3. |
PercentToWords (FIELD) |
| |
(Thu, May 10, 3:16pm) |
| 4. |
PercentToText (FIELD) |
| |
(Thu, May 10, 2:37pm) |
| 5. |
StripReserved( text ) |
| |
(Wed, May 02, 6:05pm) |
| 6. |
ListBaseTables |
| |
(Wed, May 02, 3:48pm) |
| 7. |
ValidEmail( theEmail ) |
| |
(Wed, May 02, 7:27am) |
| 8. |
UltraDate (Text; LongDate_or_DateDigit) |
| |
(Wed, May 02, 6:07am) |
 |
|