FMPRO-L Archives

March 2011, Week 2

FMPRO-L@LISTSERV.DARTMOUTH.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Tom Elliott <[log in to unmask]>
Reply To:
FileMaker Pro Discussions <[log in to unmask]>
Date:
Tue, 8 Mar 2011 09:46:11 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (82 lines)
John, I don't have time to test this exhaustively but I think it's OK:

Let ( [ 
digits = "0123456789" ; 
len = Length ( text ) ;
num1 = not IsEmpty ( Filter ( Left ( text ; 1 ) ; digits ) ) ; 
num2 = not IsEmpty ( Filter ( Middle ( text ; 2 ; 1 ) ; digits ) ) ;
num3 = not IsEmpty ( Filter ( Middle ( text ; 3 ; 1 ) ; digits ) ) ;
num34 = len > 3 and  Middle ( text ; 4 ; 1 ) = Filter ( Middle ( text ; 4 ; 1 ) ; digits ) ;
triplet = num1 and num2 and num3 and not num34
] ; 
Case ( 
num1 xor num2 ; 
Left ( text ; 1 ) & Case ( len > 1 ; "-" & PLCFormat ( Right ( text ; len - 1 ) ) ) ;

triplet ;
Left ( text ; 3 ) & Case ( len > 3 ; "-" & PLCFormat ( Right ( text ; len - 3 ) ) ) ;

num1 and num2 ; 
Left ( text ; 2 ) & Case ( len > 2 ; "-" & PLCFormat ( Right ( text ; len - 2 ) ) ) ;

Left ( text ; 1 ) & Case ( len > 1 ; PLCFormat ( Right ( text ; len - 1 ) ) )
)
)

cheers

Tom

On 8 Mar 2011, at 05:27, John Wenmeekers wrote:

> Hi all,
> 
> I struggle for some time now changing the output of a CF.
> 
> Let ( [ 
> digits = "0123456789" ; 
> len = Length ( text ) ;
> num1 = not IsEmpty ( Filter ( Left ( text ; 1 ) ; digits ) ) ; 
> num2 =  not IsEmpty ( Filter ( Middle ( text ; 2 ; 1 ) ; digits ) )
> ] ; 
> Case ( 
> num1 and num2 ; 
> Left ( text ; 2 ) & Case ( len > 2 ; "-" & PLCFormat ( Right ( text ; len -
> 2 ) ) ) ;
> 
> num1 xor num2 ; 
> Left ( text ; 1 ) & Case ( len > 1 ; "-" & PLCFormat ( Right ( text ; len -
> 1 ) ) ) ;
> 
> Left ( text ; 1 ) & Case ( len > 1 ; PLCFormat ( Right ( text ; len - 1 ) ) )
> )
> )
> 
> This CF returns the possible digits in an input field in groups of 2 with a
> dash.
> When there are letters involved, they are also separated from the
> number/digits by a dash.
> 
> Example input/output:
> 
> TA123/TA-12-3
> 1234JKL/12-34-JKL
> 123TA45/12-3-TA-45
> 
> I need an additional output form when the numbers are a group of 5 digits.
> 
> TA12345 needs to be TA-12-345
> 12345JK needs to be 12-235-JK
> 
> By now I know I have to test not only for the first 2 characters, but also
> for 3 and 4.
> Reason is, if 3 is a digit, and 4 not, I need to output 3 characters and a
> dash (instead of just 2 and a dash as before). 
> 
> So, I need to keep the output like it is now, only when there are 5
> consecutive digits, the return needs to be a group of 2/dash/group of 3,
> with possible letters.
> 
> Any hint, idea, solution....?
> 

ATOM RSS1 RSS2