Brian Dunning's FileMaker Custom Functions

HiliteSingle ( text ; searchString ; color )

Returns text with every occurrence of searchString in text changed to the specified color.

  Average rating: 3.8 (55 votes) Log in to vote

Michael Horak   Michael Horak
*COMMENT Visual Realisation
http://comment.cjb.net/

Share on Facebook Share on Twitter

  Sample input:
HiliteSingle ( "Catalog of cats" ; "caT" ; RGB (255;0;0) )
  Sample output:
{Cat}alog of {cat}s

(the strings in curly braces are in red color)

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

Returns text with every occurrence of searchString in text changed to the specified color.

The HiliteSingle() function is NOT case-sensitive. Occurences of searchString are matched regardless of case, and returned in their original case.

 

Comments

Steve Hearn, CoreSolutions Software Inc   Steve Hearn, CoreSolutions Software Inc, London ON Canada
Apr 15, 2010
I've modified this function to use FM11's new highlight function. No need for color param.

/*
HiliteSingle function

Author
*COMMENT Visual Realisation

Format
HiliteSingle ( text ; searchString ; color )

Parameters
text - any text expression or text field;
searchString - any text expression or text field;

Data type returned
text

Description
Returns text with every occurrence of searchString in text highlighted.
The HiliteSingle() function is NOT case-sensitive. Occurences of searchString are matched regardless of case, and returned in their original case.


Updated to use FileMaker 11's highlight functionality
Steve Hearn shearn@coresolutions.ca
April 15, 2010
*/

Let ( [
// TEST FOR MATCH
pos = Position ( text ; searchString ; 1 ; 1 )
] ;
// IF MATCH IS FOUND
Case ( pos ;
// BEGIN CALCULATION
Let ( [
textBefore = Left ( text ; pos - 1 ) ;
len = Length ( searchString ) ;
string = Middle ( text ; pos ; len ) ;
textAfter = Right ( text ; Length ( text ) - pos - len + 1 )
] ;
textBefore & TextStyleAdd ( string ; HighlightYellow ) & HiliteSingle ( textAfter ; searchString )
) ;
// ELSE RETURN TEXT
text )
)
 
Brian Roy   Brian Roy, San Francisco
Jan 3, 2013
Hi,

First, thank you for the function. I'm having trouble saving it, though.
//TEST FOR MATCH
pos = Position ( text ;....)

I keep getting an error telling me that "text" is a specified parameter that cannot be found.

Any help on this would be great--thanks.
 
comment   comment, VR
Jan 3, 2013
You need to define the three parameters ( text ; searchString ; color ) within the 'Edit Custom Function' window. See the help for more:
http://www.filemaker.com/12help/html/fmpa_custom.23.5.html#1027698
 
Harry   Harry, Brooklyn
Oct 14, 2013
After having the function ready, how do I use it. Is is through a script or what?
Please give me an idea
 
comment   comment, VR
Oct 16, 2013
Once you have defined the custom function, you use like any other function.
 

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.