PatBlarg
Messages postés67Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention11 mai 2010
-
7 avril 2009 à 19:50
PatBlarg
Messages postés67Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention11 mai 2010
-
8 avril 2009 à 14:09
Bonjour, je veux me créer une bibliothèque de fonctions qui vont me servir dans plusieurs projets, et afin de simplifier le tout, je me demande si il était possible de regrouper plusieurs functions en une? Je m'explique :
Disons que j'ai deux fonctions très très simple (c'est complètement inutile comme fonctions, mais le principe est là)
Public Function Gauche(ByVal Chaine As String, ByVal Position As String) As String
Gauche = Left(Chaine, Position)
End Function
Public Function Compter(ByVal Chaine As String) As Integer
Compter = Len(Chaine)
End Function
Est-ce que je pourrais les regrouper sous une fonction "TraitementChaine" par exemple, que j'appellerais d'une façon semblable :
TraitementChaine.Compter("Chaine")
ou TraitementChaine.Gauche("Chaine",2)
???
Pas nécessairement de cette façon, mais quelque chose de semblable quoi.
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 7 avril 2009 à 20:31
Faut utiliser les classes, alors.
Et en tête de module tu mets "Dim MonInstanceDeMaClasse = New MaClasse"
Tu accèderas à une fonction via "MonInstanceDeMaClasse.MaFonction"
Evidemment, tu peux nommer ta classe "cls_MaClasse" et son instance "MaClasse", c'est plus court et plus lisible !
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 8 avril 2009 à 01:46
En fait, t'as raison : c'est bien "Dim MonInstance As New cls_MaClasse"
Pour t'en servir, tu peux, par exemple, mettre cette déclaration dans un module.
Tu pourras alors accéder à ces objets à partir de partout ...
PatBlarg
Messages postés67Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention11 mai 2010 7 avril 2009 à 20:17
Et pour l'histoire de créer un module, eeeuh, c'est bien beau, mais quand j'appelle ma fonction, je ne l'appelle pas par TraitementChaines.Compter(...) mais seulement par Compter(...).
Ça me faciliterais la tâche si je pourrais regrouper tout ca dans une même fonction, vu que dans un programme sur lequel je travaille, j'ai présentement environ 20 fonction pour charger différentes informations et 20 autres fonction pour enregistrer ces mêmes informations. Mon but serait de faire quelque chose comme Facture.Charger(paramètres) ou Factuer.Sauver(paramètres)
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 7 avril 2009 à 20:24
Euh désolé pour la remarque ... C'est courant, en plus !
Non mais tu peux aussi appeler tes fonctions via NomDuModule.NomDeLaFonction.
Y'a que ceux qui programment comme des porcs qui appellent les fonctions dans des modules directement !
PatBlarg
Messages postés67Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention11 mai 2010 8 avril 2009 à 14:09
Ok! Merci! En même temps, ça m'a aidé à simplifier autres choses les classes. J'avais 3 sub presque identiques où j'enregistrais les résultats dans 3 séries de variables différentes, et il semblerait que en déclarait la même classe 3 fois mais de nom différent, j'obtiens le même résultats, avec seulement une sub. C'est génial les class o.O