Retourner la valeur d'une propriete d'une classe

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Retourner la valeur d'une propriete d'une classe

Messagepar RagDam » 20 Nov 2009 à 13:31

Bonjour,

Ayant créé ma classe, j'aimerai récupérer la valeur d'une propriété dont le nom est calculé.

Je stocke le nom d'une propriété de ma classe dans une variable NameField.
Et j'aimerai faire l'équivalent de

Values = Me.Namefield

J'ai essayé Execute("Values = Me." + Namefield), mais l'utilisation du Me. le gène..

Si vous avez des idées je suis preneur.

Merci
RagDam
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 10 Oct 2009 à 18:45

Messagepar Dominux » 20 Nov 2009 à 14:15

Le plus simple ne serait-il pas de faire une fonction publique dans ta classe à qui tu passes NameField et qui de renvoit ce que tu veux ?!
Cordialement,
Olivier (www.dominux.fr et sur Twitter)
Image
Avatar de l’utilisateur
Dominux
Administrateur
Administrateur
 
Message(s) : 1201
Inscrit(e) le : 16 Déc 2004 à 10:56
Localisation : Nantes

Messagepar RagDam » 20 Nov 2009 à 14:23

La classe me gere une 100taine de champs.
Ce que j'aurais éviter c'est justement de faire comme tu dis une fonction genre, vu que les propriétés de ma classe ont le même nom que mes champs des documents que je traite:
function GetValues(NameField as string) as string
select case NameField
case "nom1"
GetValues = Me.Nom1
case "nom2"
GetValues = Me.Nom2
case "nom2"
GetValues = Me.Nom2
case ...
...
case "nom100"
GetValues = Me.Nom100
end select
end function
RagDam
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 10 Oct 2009 à 18:45

Messagepar d.bugger » 08 Déc 2009 à 11:54

Private NameField List As Variant

puis

If IsElement(Me.NameField(toto)) Then
Values= Me.NameField(toto)
Else
Values= ""
End If
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar stloje » 16 Déc 2009 à 14:56

le "Me" est utile uniquement pour différencier les variables (propriétés) propres à la classe de celles fournies via les paramètres de fonctions.

Ex. :

Code : Tout sélectionner
public MyClass as Class
     private var1 as string
     private var2 as integer

     sub New (var1 as string, var2 as integer)
          'le Me permet de faire la différence entre la variable de la classe
          'et celle provenant du paramètre
          Me.var1 = var1
          Me.var2 = var2
     end sub
end Class
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans


Retour vers Développement

cron