cqui789
Messages postés261Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention18 mai 2009
-
12 févr. 2005 à 15:11
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 2019
-
13 févr. 2005 à 13:31
C'est encore moi avec mes points
je veux gerer des points allors j'ai defini un type Point avec un atribut X et un Y.
Je voulais les ranger dans une collection, apres tout on peut bien y
metre de tout dans une collection, comme des objets bien plus
compliques que mes points.
Et bien non, VB me le refuse sans me dire carrement que c'est pas possible.
est-ce que quelqu'un a deja fait ce genre de manip et quelle sont les condition (en francais) pour que ca marche?
cqui789
Messages postés261Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention18 mai 20093 13 févr. 2005 à 02:35
Ca a l'air vraiment prometeur ce genre de truc ;o)
Je me suis amuse a ajouter dans le module de classe, juste pour voir :
Public Function z() As Integer
z = X + Y
End Function
et miracle, il me rajoute un argument z qui vaut la somme de x et y.
Je vais aller me coucher moins bete ce soir!
J'imagine qu'il y d'autres possibilites, as tu un tutorial a recomander?
J'ai aussi essaye de remplacer le type RECT dans une API qui renvoie la
zone ecran par une classe RECT pour calculer directement la hauteur en
fonction du haut et du bas mais ca m'a plante VB. je suis peut-etre
encore entrains de rever, il faut que trouve plus d'infos
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 13 févr. 2005 à 11:38
Non tu ne peux pas comparer P1 et P2 comme ceci car si tu fait cela tu compare l'adresse memoire de deux objet et pas leurs valeur de propriete...
If P1.X = P2.X c'est la bonne methode, c'est plus long a ecrire mais c'est la meilleur facon de proceder en plus elle est naturel ce qui facilite la relecture du code
Oui il ne faut pas confondre TYPE et CLASS et surtout ne pas intervertir les deux dans une api sinon c'est le crash assuré tu peux par exemple utiliser un tableau de TYPE
Dim Points(255) As POINTAPI (la c'est un tableau de 256 point)
ou transformer une classe en point
Dim P as POINTAPI
Dim C as New ClsPoint
C.x = 100
C.y = 100
puis quand tu as besoin de l'utiliser dans une api tu converti
P.x = C.x
P.y = C.y
le traitement en vb est plus simple avec les collection donc n'hesite pas a tester effacer recommencer tu te fera ta propre idée sur le systeme et la meilleur faon de l'utiliser