CF : GetSigle
Moderatore: Moderatori
-
- Messaggi: 91
- Iscritto il: giovedì 7 agosto 2003, 2:00
- Località: Molare (AL)
- Contatta:
CF : GetSigle
Un saluto ai partecipanti al forum.
Mi sono cimentato nella realizzazione di una Funzione Personalizzata partendo da un quesito postato nel forum ieri.
Si chiama "GetSigle;Text"
//Funzione personalizzata che estrae le prime 3 lettere che compongono le prime 4 parole presenti nel campo testo.//
//Nel caso una delle parole contenute nel campo testo, fosse inferiore a 3 lettere, verranno calcolate solo le prime 2.//
//La funzione gestisce fino a 4 parole.//
//ES: Rossini Emilio Giovanni = RosEmiGio
//ES: Bo Fe Li = BoFeLi.//
//Graziano Oltolini 24-05-2007 //
----------------------------------------------------------------------------
Consenti
(
[
Len1 = Lunghezza ( ParoleaSinistra ( Text ; 1 ) ) ;
Len2 = Lunghezza ( ParoleinMezzo ( Text ; 2 ; 1 ) ) ;
Len3 = Lunghezza ( ParoleinMezzo ( Text ; 3 ; 1 ) ) ;
Len4 = Lunghezza ( ParoleinMezzo ( Text ; 4 ; 1 ) ) ;
Sgl1 = Casi ( Len1 = 3 ; Mezzo ( Text ; 1 ; 3 ) ; Mezzo ( Text ; 1 ; 2 ) ) ;
Sgl2 = Casi ( Len2 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 2 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 2 ; 1 ) ) ;
Sgl3 = Casi ( Len3 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 3 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 3 ; 1 ) ) ;
Sgl4 = Casi ( Len4 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 4 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 4 ; 1 ) )
];
Casi (
ContaParole (Text) = 1 ; Sgl1 ;
ContaParole (Text) = 2 ; Sgl1&Sgl2 ;
ContaParole (Text) = 3 ; Sgl1&Sgl2 & Sgl3 ;
ContaParole (Text) = 4 ; Sgl1&Sgl2 & Sgl3&Sgl4
)
)
Mi sono cimentato nella realizzazione di una Funzione Personalizzata partendo da un quesito postato nel forum ieri.
Si chiama "GetSigle;Text"
//Funzione personalizzata che estrae le prime 3 lettere che compongono le prime 4 parole presenti nel campo testo.//
//Nel caso una delle parole contenute nel campo testo, fosse inferiore a 3 lettere, verranno calcolate solo le prime 2.//
//La funzione gestisce fino a 4 parole.//
//ES: Rossini Emilio Giovanni = RosEmiGio
//ES: Bo Fe Li = BoFeLi.//
//Graziano Oltolini 24-05-2007 //
----------------------------------------------------------------------------
Consenti
(
[
Len1 = Lunghezza ( ParoleaSinistra ( Text ; 1 ) ) ;
Len2 = Lunghezza ( ParoleinMezzo ( Text ; 2 ; 1 ) ) ;
Len3 = Lunghezza ( ParoleinMezzo ( Text ; 3 ; 1 ) ) ;
Len4 = Lunghezza ( ParoleinMezzo ( Text ; 4 ; 1 ) ) ;
Sgl1 = Casi ( Len1 = 3 ; Mezzo ( Text ; 1 ; 3 ) ; Mezzo ( Text ; 1 ; 2 ) ) ;
Sgl2 = Casi ( Len2 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 2 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 2 ; 1 ) ) ;
Sgl3 = Casi ( Len3 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 3 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 3 ; 1 ) ) ;
Sgl4 = Casi ( Len4 = 3 ; Mezzo ( ParoleinMezzo ( Text ; 4 ; 1 ) ; 1 ;3 ) ; ParoleinMezzo ( Text ; 4 ; 1 ) )
];
Casi (
ContaParole (Text) = 1 ; Sgl1 ;
ContaParole (Text) = 2 ; Sgl1&Sgl2 ;
ContaParole (Text) = 3 ; Sgl1&Sgl2 & Sgl3 ;
ContaParole (Text) = 4 ; Sgl1&Sgl2 & Sgl3&Sgl4
)
)
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Re: CF : GetSigle
Perchè usare una funzione personalizzata, che può essere ricorsiva, e limitarne la gestione ?olto ha scritto:La funzione gestisce fino a 4 parole
Prova questa:
Sigla ( text )
Casi(
ContaParole ( text ) ; Sinistra ( ParoleaSinistra ( text ; 1 ) ; 3 ) & Sigla ( ParoleaDestra ( text ; ContaParole ( text ) - 1 ) )
)
Se il testo contenuto nel campo "text" fosse:
Fmpro il Forum degli appassionati di FileMaker
il risultato sarebbe:
FmpilFordegappdiFil
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 91
- Iscritto il: giovedì 7 agosto 2003, 2:00
- Località: Molare (AL)
- Contatta:
-
- Messaggi: 91
- Iscritto il: giovedì 7 agosto 2003, 2:00
- Località: Molare (AL)
- Contatta:
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
-
- Messaggi: 91
- Iscritto il: giovedì 7 agosto 2003, 2:00
- Località: Molare (AL)
- Contatta: