Bonjour,
J'ai créer une classe Point2d avec les propriétés suivantes:
La propriété qui coince est "Distance" qui calcul la distance entre deux points. L'un qui est l'objet appelant et l'autre qui est transmis en variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Option Explicit Private mX As Double Private mY As Double Private mdistance1 As Double Property Get X() As Double ' Propriété en lecture X = mX End Property Property Let X(X As Double) ' Propriété en écriture mX = X End Property Public Property Get Y() As Double Y = mY End Property Public Property Let Y(Y As Double) mY = Y End Property Public Function Distance(Ptf As Point2D) As Double mdistance1 = ((Ptf.X - mX) ^ 2 + (Ptf.Y - mY) ^ 2) ^ 0.5 End Function
Quand j'appelle cette propriété le calcul se fait bien mais la valeur Distance n'est pas exportée au dehors de la fonction.
Exemple
Je crée 2 points puis, j'appelle la propriété
Si je regarde le déroulement dans la propriété le calcul se fait bien mais je ne récupère rien dans Dist.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 dim Pt1 as new Point2d, pt2 as new Point2d, Dist as double let pt1.x=2: let pt1.y=0 Dist = Pt2.Distance(Pt1)
La question générale est
Comment faire un appel à une propriété qui comporte une variable ?
PS :
J'ai contourné le pb avec non pas une propriété mais avec une routine de type
call distance( Pt1, Pt2, Valeur)
mais c'est moins pratique.
Merci à tous






Répondre avec citation




Partager