Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
Training
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages
Videos
Adventures
Links

Shopping Cart
Shopping Cart

Search:

Free Newsletter
Signup


Contact


Privacy Policy



FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

 

 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

Repeat ( text ; numberOfTimes )

Rate this function:  

RatingRatingRatingRatingRating
  Average rating: 4.0  (57 votes)
  Discuss this Custom Function

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

Repeats text number of times

Sample Input:
Repeat ( "abc " ; 4 )
Sample Output:
abc abc abc abc


 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Description:

Repeats text the specified number of times.

This simple non-recursive calculation extends the limit of allowable repeats up to 161,999 (with a plain Substitute ( 10^numberOfTimes - 1 ; "9" ; text ) the limit is 404 repeats, while the obvious recursive function would be limited to 10,000 recursions).

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:

For the OCD, here is one that doubles the string each time and uses tail-end recursion...

So you have 2^50k repeats possible - ha ha ha!! No point cluttering Brian Dunnings site with another CFunction doing the same thing, so i just add here for the lunatic fringe...

It should arrive at your desired length extremely rapidly!

It will take decimal numbers and round to nearest letter.

/*
Repeat ( "abc ; " ; 7 ) => "abc ; abc ; abc ; abc ; abc ; abc ; abc ;"
0 -- "abc ; abc ; " ; 3.5 (_n -2 )/ 2
1 -- "abc ; abc ; abc ; abc ; " 1.75
2 -- "abc ; abc ; abc ; abc ; abc ; abc ; abc ; "
*/

Case ( _n > 2 ; Repeat ( _string & _string ; _n/2 ) ; // now I'm sending a string twice as long, so n is halved

_n > 0 ; Left ( _string & _string ; Round ( _n * Length ( _string ) ; 0 ) ) ; // return final result

_ ) // end case - 0 or bad _n return empty

Thomas Seidler, London, UK
June 27, 2009 4:31am

Thank you so much for doing and posting this.

Braxton, Sacramento
March 29, 2010 7:41pm

I was curious to know the performace difference between this function and this simple recursive function that produces the similar result:
RecursiveRepeat(text;numberOfTimes)
If(
numberOfTimes > 0 ;
text & RepeatB( text ; numberOfTimes - 1 )
)

Comparision of Repeat to RecursiveRepeat for various numberOfTimes values:
numberOfTimes comparison to RecursiveRepeat
001 10% slower
002 almost equal
005 160% faster
010 250% faster
100 1600% faster

Bottom Line: great custom function Michael!

Dan Smith, B.C. Canada
August 28, 2011 1:41pm

Some further thoughts on this problem here: http://www.soliantconsulting.com/blog/2013/01/power-division

Steve Lane, Devon, PA
January 10, 2013 1:28pm

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
City/Location:
Comment:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 9 + 6 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions