Brian Dunning's FileMaker Custom Functions

CombineLines ( RC ; decimal ; ObjList )

Get a subslist under mask

  Average rating: 4.4 (24 votes) Log in to vote

Erich Schmidt   Erich Schmidt - Show more from this author

Share on Facebook Share on Twitter

  Sample input:
CombineLines(""; 5 ;"London¶Paris¶New York¶Berlin¶Rostock")
CombineLines(""; 37; "five¶six¶seven¶eight¶nine¶ten")
  Sample output:
"London¶New York"
"five¶seven¶ten"

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

The function returns a sublist of "ObjList". The parameter "decimal" determines wich lines are selected.
Each line of "ObjList" is assigned to a specific digit in the binary representation of "decimal" .
The first line of "ObjList" is assigned to the least significant bit (bit 0) of "decimal", the second line is assigned to bit 1 and so on.

A line of "ObjList" is selected, if the assigned bit is 1.

Parameters:
RC must be empty
decimal can be a decimal number between 0 and 2^ValueCount(ObjList) - 1
ObjList is any list

Further Examples:

The expression

let([
$Plist= GetPatternList("“; 5; 2);
$ObjList="London¶Paris¶New York¶Berlin¶Rostock"
];
CustomList(1;ValueCount($Plist);"Substitute(CombineLines(\"\";GetValue($Plist;[n]);$ObjList ) ;\¶;\"-\") " )
)

returns all possible combinations of two lines

Berlin-Rostock
New York-Rostock
Paris-Rostock
London-Rostock
New York-Berlin
Paris-Berlin
London-Berlin
Paris-New York
London-New York
London-Paris

Executing the term

let([
nObj=10;
$Plist= CustomList(1;nObj;"2^[n]-1");
$ObjList=CustomList(1;ValueCount($Plist);"[n]^3")
];
CustomList(1;ValueCount($ObjList);"Evaluate(Substitute(CombineLines(\"\";GetValue($Plist;[n]);$ObjList ) ;\¶;\"+\") ) " )
)

you get the following list, where line No. n contains the sum of the first n cubes (this is the same as the square of the sum 1+2+3+...+n)

1
9
36
100
225
441
784
1296
2025
3025

The expression

Let(
[
$Plist= "3¶5¶9¶17¶96¶128¶257";
$ObjList="Some girls¶will¶won't¶need a lot of lovin' and¶don't¶Well, I know I've got the fever¶but I don't no why¶Some say they will and¶lie"
];
CustomList(1;ValueCount($Plist);"Substitute(CombineLines(\"\";GetValue($Plist;[n]);$ObjList ) ;\¶;\" \") " )
)

returns the beginning of a Racey song

Some girls will
Some girls won't
Some girls need a lot of lovin' and
Some girls don't
Well, I know I've got the fever but I don't no why
Some say they will and
Some girls lie

 

Comments

Log in to post comments.

 

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 15 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth:

Under construction. Email me your wish list for improvements.