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 - Show more from this author
*COMMENT Visual Realisation

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.
 
gopal patel   gopal patel, Dr Patels Clinic
Jul 22, 2021
Is there a way to change the font to bold or italics ?
 
Michael Horak   Michael Horak, *COMMENT Visual Realisation
Jul 22, 2021
Yes. Instead of TextColor ( string ; color ) use TextStyleAdd ( string ; styles ) and pass the style/s you want to use as a parameter instead of color.
 
gopal patel   gopal patel, Dr Patels Clinic
Jul 23, 2021
that worked is there a way to make it both italics and highlight red ?
 
Michael Horak   Michael Horak, *COMMENT Visual Realisation
Jul 23, 2021
You can nest them: TextColor ( TextStyleAdd ( string ; styles ) ; color ). -- This not a good place to have a discussion. If you have more questions, ask in a forum - e.g. https://fmforums.com/.
 
gopal patel   gopal patel, Dr Patels Clinic
Jul 23, 2021
that worked is there a way to make it both italics and highlight red ?
 
Johnny Tsang   Johnny Tsang
Apr 7, 2022
Hi Mike, I'm new to this Custom Function. I was able to create your Customer Function HiliteSingle. However, I'm afraid that I need your help with showing me how to trigger or call this HiliteSingle function in a Script. My development objective is to use your Customer Function to highlight the text that I search in my Filemaker database of multiple records. Look forward to receiving your guidance. Thank you very much.
 
Michael Horak   Michael Horak, *COMMENT Visual Realisation
Apr 7, 2022
@Johnny Tsang: please post your question at https://fmforums.com/
 

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 20 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: