Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 06/25/21 in Blog Entries

  1. Claris l’avait annoncé : finies les traditionnelles grandes sorties du moi de mai. Le cycle « Agile » consiste en des mises à jour plus fréquentes, avec une répartition des nouveautés tout au long de l’année. Cette semaine, c’est la version 19.3 qui a été annoncée, et c’est une version importante même si surtout « technique ». Petit résumé […] Cet article Sortie de FileMaker 19.3 est apparu en premier sur 1-more-thing. >>> Lire la suite… <<<
    1 point
  2. Nous voici arrivé au terme de cette série où nous allons enfin réaliser cette fameuse fonction personnalisée récursive ! Pour celles et ceux qui arrivent seulement, je propose depuis trois semaines une série sur la réalisation de fonctions personnalisées récursives. Donc, nous allons mettre en place la fonction personnalisée qui correspond au script donné la semaine dernière, à savoir une fonction qui a comme objectif d’inverser les items. Bon, pour ceux du fond qui sont pressés de partir en vacances, on fournit à la fonction une liste de valeurs (A, B, C, D) et elle devra nous retourner cette liste mais avec les items inversés (D, C, B, A). Petits rappels Pour créer une fonction personnalisée vous devez avoir le logiciel FileMaker Pro Advanced. C’est avec ce logiciel que vous allez pouvoir mettre dans votre base de données la fonction personnalisée, car elle appartiendra au fichier, ce qui permet aux utilisateurs n’ayant pas FileMaker Pro Advanced de pouvoir l’exécuter sans problème à partir d’une formule de calcul. Si vous souhaitez connaître la procédure pour la réalisation d’une fonction personnalisée, je vous recommande de lire la chronique disponible en cliquant ici. La réalisation d’une fonction récursive Pour rappel, je n’arrête pas de le rappeler, une fonction récursive est une fonction qui s’appelle elle-même pour palier le fait qu’on n’a pas d’instruction de boucle. Notre fonction devra avoir la forme suivante : InverserListe( listeATraiter ), avec : InverserListe : le nom de la fonction, que l’on retrouvera dans la liste des fonctions des formules de calcul; listeATraiter : le paramètre de la fonction, qui sera justement une liste. Deuxième petit rappel, dans FileMaker une liste de valeurs est une liste où chaque item est séparé par une retour à la ligne (symbole ¶). Voici le logigramme correspondant à la fonction que nous allons mettre en place: Et vous remarquez que j’ai ajouté deux paramètres à la fonction : i et l. Car je dois, à chaque itération de ma boucle (appel à la fonction), transmettre des valeurs transitoires : i : contient lors du 1er appel à la fonction une valeur vide et ensuite le numéro de l’item à récupérer ; l : contient la liste inversée encours de construction. Voici donc la formule de la fonction récursive : DEFINIR ( [ _L = ListeATraiter ; _i = CAS( ESTVIDE( i ) ; DECOMPTEVALEURS( _L ) ; i - 1 ) ; _lt = l & "¶" & OBTENIRVALEUR( _L ; _i ) ] ; CAS( _i ≤ 1 ; _lt ; InverserListe( _L ; _i : _lt ) ) ) Pour ceux qui veulent supprimer le premier retour chariot du résultat Car la formule précédente génère un retour chariot inutile en début de liste, mais comme je ne voulais compliquer la formule, la voici donc avec le retour chariot en moins : DEFINIR ( [ _L = ListeATraiter ; _i = CAS( ESTVIDE( i ) ; DECOMPTEVALEURS( _L ) ; i - 1 ) ; _la = OBTENIRVALEUR( _L ; _i ) ; _lt = CAS( ESTVIDE( l ) ; _la ; l & "¶" & _la ) ] ; CAS( _i ≤ 1 ; _lt ; InverserListe( _L ; _i : _lt ) ) ) C’est tout pour aujourd’hui Vous trouverez en pièce jointe à cette chronique le fichier FileMaker contenant la fonction personnalisée. En attendant la prochaine chronique, je vous souhaite à toutes et à tous une excellente semaine ensoleillée et chaude !
    1 point
×
×
  • Create New...