Insert ( text ; separator )

E' l'area in cui è possibile condividere funzioni personalizzate nate dalla creatività e l'esperienza degli sviluppatori FileMaker

Moderatore: Moderatori

Rispondi
raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Insert ( text ; separator )

Messaggio da raybaudi » domenica 20 febbraio 2011, 14:25

Let([
$i = $i + 1 ;
char = Middle ( text ; $i ; 1 )
];
Case(
$i < Length ( text ) ; char & separator & Insert ( text ; separator ) ;
Let( $i = "" ; Right ( text ; 1 ) )
)
)

Data la stringa di testo "FMPro.it", il risultato potrebbe essere:
con separator = " " : F M P r o . i t
con separator = ¶ :
F
M
P
r
o
.
i
t

C'è da notare che questo modo di scrivere una funzione personalizzata ( usando le $var ) consente di usarla SENZA avere la versione Advanced, applicando semplicemente quel tipo di calcolo ad un campo calcolato NON memorizzato*.

Ad esempio, se il campo origine si chiamasse: text ed il campo calcolato si chiamasse: TestoSpaziato, potremmo scrivergli nel suo stesso calcolo:

Let([
$i = $i + 1 ;
char = Middle ( text ; $i ; 1 )
];
Case(
$i < Length ( text ) ; char & " " & TestoSpaziato ;
Let( $i = "" ; Right ( text ; 1 ) )
)
)

* con la limitazione di 356 ricursioni
Raybaudi FMP 12 Adv. Windows XP SP3

moro
Messaggi: 1170
Iscritto il: domenica 21 novembre 2004, 1:00
Località: Latina

Re: Insert ( text ; separator )

Messaggio da moro » domenica 20 febbraio 2011, 16:30

Buona funzione spero potrà essermi utile in futuro.
A livello di prestazione e limitazione ricursioni sempre meglio utilizzarla in una funzione personalizzata ottimo però dare un'alternativa a chi non ha la versione advacend.
Filemaker Pro Advanced 12.0 - Windows Xp Professional SP2

Rispondi