Insert ( text ; separator )
Moderatore: Moderatori
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Insert ( text ; separator )
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
$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
-
- Messaggi: 1170
- Iscritto il: domenica 21 novembre 2004, 1:00
- Località: Latina
Re: Insert ( text ; separator )
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.
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