Tout le monde a recours dans la programmation à des tableaux dynamiques, besoin de validation de valeurs/paramètres et pourquoi pas faire du rangement dans ses variables.
Cette DLL que je viens de coder pour mes besoins personnels je me demande bien comment je pourrais encore programmer sans elle, tellement elle a des possibilités infinies et comme toujours je l'ai conçu en prenant compte de beaucoup de considérations dont les exigences sont la simplicité, l'efficacité et l'interactivité.
Le principe est simple.
Les Items sont stockés en 4 variables (Catégorie, Nom, Type, Valeur)
Ce qui signifie que les Items peuvent avoir le même nom mais dans 2 catégories différentes. Le système contrôlera que la valeur envoyé est conforme au Type (Texte, Numérique, Date/Heure, Booléen)
Pour toute opération sur un item il faut associer le couple (Nom, Catégorie).
Toute affectation sur une catégorie existante entraine la modification, meme si AddItem est invoqué.
Il est possibles de supprimer un item comme toute sa catégorie, il est possible de réinitialiser un item ou toute sa catégorie.
La méthode ItemsValues s'applique à une catégorie et permet de recevoir la liste des Items initialisés, on peut au besoin recevoir les informations sur les noms, les types et les valeurs.
on peut bien évidemment lire simplement un item, savoir s'il a été initialisé.
La méthode ValidateItems permet de faire valider une liste de variables par l'utilisateur. On peut décider si l'utilisateur peut valider la liste s'il existe des items vides ou pas.
NB : Pour mon développement personnel, l'utilisateur choisit les couleurs de ses interfaces, et ne travaillant qu'avec des composants personnalisés, j'adapte mes objets à mes besoins, ce qui signifie que le paramètre BackColor ne sera probablement pas utile pour vous.
Je m'arrêtes là, je vous laisse le soin de parcourir et de me faire vos commentaires surtout sur les limites de cet objet.
Il pourrait avoir quelques manquements dans le code, je sais avoir la mauvaise habitude de ne pas revenir sur mes sources mais en général je m'en rend compte en utilisant des petites omissions. Mais je serai très ravis d'avoir le retour de vos tests afin de pouvoir l'optimiser.