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

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.

Under construction. Email me your wish list for improvements.