Codify ( theText ; code_option )
Encode/decode any input text using native code() & char() functions
Average rating: 3.9 (45 votes) Log in to vote
Bruce Robertson - Show more from this author |
this = "http://www.briandunning.com/filemaker-custom-functions/upload.php¶Example \"encoding\" result." ;
$$result = codify(this; 1) ] ;
List($$result;
"¶ROUND TRIP:¶";
codify( $$result;2)
)
)
ROUND TRIP:
http://www.briandunning.com/filemaker-custom-functions/upload.php
Example "encoding" result.
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
Encodes/decodes text using native code() and char() functions
The code() function turns each character of text into 5 digit unicode number
char() function decodes back into text
Although bulky, this is a convenient way to encode anything,
using fast native functions, into a single line of digits.
Results can easily passed in script parameters, variables, etc, and decoded
as desired.
The original source might have included multiple returns but the encoded result
is a single value. Therefore you can encode several different items and use value operations
like getValue() to operate on them.
code_option 1
ENCODE
Accepts any input including text containing returns
Breaks text into 80 character chunks and applies code() function
Each encoded chunk may be up to 400 digits
Chunks are delimited with "." character
code_option 2
DECODE
Takes "chunked" digit string and uses char() function to convert to standard text
Max chunk length must be 400 characters, delimited by return or "."
NOTE:
For use in $var[N] or $$var[N] you must limit output to 800 digits or less.
Therefore you must limit input to 160 characters or less.
The "." delimiter used here cannot be used in N
Either use a different calculation or custom function or do something like the following:
Let([
N = substitute( codify( left( yourText; 160 ) ; 1); "." ; "") ;
$$var[N} = theValueYouAreAssigning ] ;
"")
By Bruce Robertson
v1.0 3/6/2010
Comments
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.