Les Snippets

Connexion

Test existance de texte dans une liste items

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 23/06/2009 18:13:45 et initié par asimengo [Liste]
Vue : 1003
Catégorie(s) : Chaîne de caractères
Langages dispo pour ce code :
- VB6



Langage : VB6
Date ajout : 23/06/2009
Posté par asimengo [Liste]
REM Conception/Realisation @ASIMENGO
Public Function IsTextMatchItems(ByVal psText As String, ByVal psItems As String, Optional ByVal psItemsSeparator As String = "|") As Boolean
Dim aItems As Variant, i As Long
    If psItems = "*" Then
        'Si psItems égal "*" alors IsTextMatchItems renverra tjrs True
        IsTextMatchItems = True
    Else
        'Si psItems différent de "*" alors il y'a 3 cas de figure en fonction du premier Item de la liste
        aItems = Split(psItems, psItemsSeparator)
        Select Case aItems(0)
            Case "+":
                'Le premier Item est "+", pour indiquer à la fonction de retrouver psText dans la liste des items à partir du deuxième Item
                For i = 1 To UBound(aItems)
                    If psText = aItems(i) Then
                        IsTextMatchItems = True
                        Exit Function
                    End If
                Next i
            Case "-":
                'Le premier Item est "-", pour indiquer à la fonction de ne pas retrouver psText dans la liste des items à partir du deuxième Item
                For i = 1 To UBound(aItems)
                    If psText = aItems(i) Then
                        IsTextMatchItems = False
                        Exit Function
                    End If
                Next i
                IsTextMatchItems = True
            Case Else:
                'Le premier Item différent de "+" et "-", pour indiquer à la fonction de retrouver psText dans la liste de tous les items
                For i = 0 To UBound(aItems)
                    If psText = aItems(i) Then
                        IsTextMatchItems = True
                        Exit Function
                    End If
                Next i
        End Select
    End If
End Function


Remarque :
Cette fonction très simple peut servir à automatiser certains tests. Dans mon cas, son exploitation me permet de gérer plus simplement un formulaire avec onglets et toolbar. Pour chaque onglet j'ai la liste des cles des buttons du toolbar qui doivent s'afficher ou pas. Ainsi je peux généraliser cette fonctionnalité à d'autres formulaires. Banal mais bon ...

Les exemples étant plus parlant, je donne 4 exemples:

?IsTextMatchItems("x","*")              --> renverra True
?IsTextMatchItems("x","y|x|s")          --> renverra true
?IsTextMatchItems("x","+|yx|ax|s")      --> renverra False
?IsTextMatchItems("x","-|yx|ax|s")      --> renverra true

voila ...

Snippets en rapport avec : Item, Asimengo, Text



Codes sources en rapport avec : Item, Asimengo, Text

{Visual Basic, VB6, VB.NET, VB 2005} GESTION DYNAMIQUE DES ITEMS - BIEN PLUS INTERESSANT QUE LES TABLEAUX DYNAMIQUES
Tout le monde a recours dans la programmation à des tableaux dynamiques, besoin de validation de val...

{Visual Basic, VB6, VB.NET, VB 2005} INTEGRATION AUTOMATIQUE DE LA ROULETTE/MOLETTE DE LA SOURIS DANS VOS APPLIS
'je dois de dire un merci aux personnes ci-dessous: 'Daetips pour sa source http://www.vbfrance.com...

{Delphi} CHAINLISTS, LISTE CHAINÉE
ChainLists est une unité lambda qui permet la manipulation et la création de listes chainées. typ...

{Python} LES CONTES DE MONTE CRYPTO
Inspiré du jeu d'infogramme pour Thomson TO8, mon code propose différents textes cryptés qu'il faut ...

{C# / C#.NET} RICHTEXTBOX NUMÉROTÉ (NUMÉROS DE LIGNES)
Ce code est un exemple de ce que j'utilise pour un éditeur de fichiers que j'ai développé. Lorsque l...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTSTYLE, EDITOR HTML
Ce programme est consideré comme une part d'un editeur HTML qui sert à donner couleur, style et tail...

{Delphi} [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS UN HINT
Un code tout ce qu'il y a de plus simple Tellement simple et évident qu'il devrait être disponible...

{IRC} PANNEAU DE CONFIGURATION POUR CHANGER D'ÉCRITURE
Bonjour, c'est un petit panneau de configuration pour la couleur d'écriture d'un script mais complet...

{} [FLEX 4/AIR] NOTEPAD DE BASE
Bonjour, Vous trouverez dans ce code les base d'un notepad classique. Toutes les fonctionnalités ...

{Visual Basic, VB6, VB.NET, VB 2005} DECOMPOSITION SQL - ALGORITHME SIMPLE ET EFFICACE
Une DLL qui permet de décomposer un texte SQL ou de jouer avec et d'avoir la décomposition de chaque...