Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 13:13  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : MUIbase - Les filtres
(Article écrit par Steffen Gutmann et extrait de muibase.sourceforge.net - mars 2006)


Des filtres peuvent être utilisés dans MUIbase pour masquer des enregistrements. Cet article décrit les différents types de filtre disponibles et la façon de les utiliser.

MUIbase connaît deux types de filtres : les filtres d'enregistrement (utilise une expression booléenne comme filtre) et et les filtres de référence (utilise un enregistrement référence comme filtre).

Filtre d'enregistrement

Un filtre d'enregistrement peut être positionné sur une table pour filtrer les enregistrements qui ne vous intéressent pas. Les enregistrements filtrés sont exclus de l'affichage de la table et par conséquent l'utilisateur ne peut ni les voir, ni les parcourir.

Expression de filtrage

Un filtre est défini en donnant une expression booléenne qui peut contenir des appels à des fonctions de programmation MUIbase. Pour chaque enregistrement de la table sur laquelle est spécifié le filtre, cette expression est évaluée. Si elle retourne NIL, alors l'enregistrement est filtré, sinon l'enregistrement est accepté.

Chaque table peut avoir sa propre expression de filtrage.

Modifier les filtres

Pour modifier le filtre de la table courante, sélectionnez le menu "Table - Changer le filtre". Cela ouvrira une fenêtre contenant :
  • Dans le titre de la fenêtre, le nom de la table sur laquelle vous installez le filtre.

  • Une liste de tous les champs de la table pouvant être utilisés dans l'expression de filtrage. Cette liste est placée sur la gauche de la fenêtre. Si vous double-cliquez sur un nom, alors celui-ci sera inséré dans l'expression de filtrage à la position courante du curseur.

  • Une banque de boutons reprenant les fonctions de programmation et les opérateurs de MUIbase est placée sur la droite de la fenêtre. Cliquez sur l'un des boutons pour entrer la fonction correspondante dans l'expression de filtrage. Veuillez noter que la liste présentée des fonctions et opérateurs n'est pas exhaustive ; les autres fonctions de MUIbase qui ne sont pas présentes dans l'un des boutons doivent être saisies manuellement. Seules les fonctions MUIbase qui n'ont pas d'effet de bord peuvent être utilisées, p. ex. il n'est pas possible d'écrire des données dans un fichier au sein d'une expression de filtrage.

  • Un champ de saisie de chaînes de caractères pour entrer l'expression de filtrage. Les noms des champs, des fonctions et des opérateurs sont insérés ici. Vous pouvez également directement saisir votre expression de filtrage.

  • Deux boutons "Ok" et "Annuler" pour refermer la fenêtre.
Après avoir spécifié l'expression de filtrage, cliquez sur le bouton "Ok" pour quitter la fenêtre. L'expression saisie est alors compilée. En cas de compilation réussi, l'expression est appliquée à tous les enregistrements. Ceux pour qui l'expression booléenne n'est pas vérifiée sont retirés de l'affichage de la table.

Si l'expression ne compile pas, vous obtiendrez un message d'erreur dans la barre de titre de la fenêtre.

Un filtre peut être activé ou désactivé en cliquant sur le bouton "F" dans l'onglet de la table (s'il celui-ci est activé). Après la spécification d'une expression de filtrage sur une table, le filtrage de cette table est automatiquement activé.

Si vous (ré)activez un filtre, alors tous les enregistrements de la table sont analysés pour vérifier s'ils répondent ou non au filtre.

Lorsqu'un filtre est activé et que vous changez la valeur d'un champ (employé dans le filtre) dans un enregistrement de cette table, la correspondance avec le filtre de cet enregistrement n'est pas réévaluée et reste inchangée.

Si vous allouez un nouvel enregistrement dans une table ayant un filtre actif, aucune vérification n'est faite sur le nouvel enregistrement quant à sa correspondance avec le filtre, il a son état de vérification automatiquement positionné à TRUE.

Exemples de filtre

Voici quelques exemples d'expression de filtrage valides :
  • NIL filtre tous les enregistrements.
  • TRUE ne filtre aucun enregistrement (conserve tout).
  • 0 a le même effet que TRUE car pour MUIbase toute expression différente de NIL est considérée TRUE.
  • (> Montant 100.0) n'affiche que les enregistrements dont le champ Montant est supérieur à 100.0 (on suppose ici que la table dispose d'un champ "Montant" de type décimal).
  • (NOT (LIKE Nom "*x*")) filtre tous les enregistrements ayant la lettre "x" dans le champ "Nom" (de type chaîne).
Notez que le langage de programmation de MUIbase utilise une syntaxe similaire à celle de Lisp. Pour plus d'informations concernant le langage de programmation, voir l'article Programmer MUIbase.

Filtre de référence

Les champs de type référence peuvent également avoir un comportement de filtre. Cela est utile par exemple pour construire une hiérarchie de tables. Comme exemple voyez le projet Albums de MUIbase.

Si le filtre d'un champ Référence est activé alors les fonctionnalités suivantes le sont aussi :
  1. L'utilisateur ne peut accéder qu'aux enregistrements de la table pour lesquels la référence pointe sur l'enregistrement courant de la table référencée.

  2. Si la table référencée change d'enregistrement courant, un nouvel enregistrement courant est également recherché et activé dans la table du champ Référence.

  3. Lors de l'allocation d'un nouvel enregistrement, la référence est automatiquement positionnée à l'enregistrement courant de la table référencée.
Note : la suppression en cascade doit être implémentée manuellement (en utilisant un déclencheur de suppression).

N'utilisez pas les filtres de référence sur des graphes cycliques, par exemple une table s'auto-référençant, car cela n'a pas beaucoup de sens.


[Retour en haut] / [Retour aux articles]