SURCHARGE D'OPERATEUR VB5/6

Messages postés
27
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
29 octobre 2012
- - Dernière réponse : cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
- 7 févr. 2008 à 18:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40656-surcharge-d-operateur-vb5-6

Afficher la suite 
cs_ajaja
Messages postés
27
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
29 octobre 2012
-
J'ai pas compris cette source
(1+1)=-1 comment? (1+1=2!!!)
cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
Ajaja> Et bien, imagine que ce soit toi et toi seul qui dise a VB comment calculer 1 + 1 ! A partir de la tu pourrais lui indiquer n'importe quelle valeur par exemple -1. Et bien c'est ce que fait la source. Elle te permet en quelque sorte de diriger les operation de base + - * / % And Or etc...

Evidament pour 1 et 1 ça na pas beaucoup d'interet mais si tu faisait ça :

PictureBox3 = BictureBox1 + PictureBox2

ça devient tout de suite plus drole

@+
MadM@tt
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Pfouaaaa le code !
Effectivement, dans certains [rares] cas ça peut être utile, enfin voir comment c'est possible en tout cas ça déchire !

Par contre, est-il possible grace à cette méthode d'ajouter des opérateurs ?
(et la declarations OperatorType c'est vous qui l'avez définie, ou alors c'est un type de VB, ou windows je sais pas...?)
et la notation [+], ou [Or]... Je connaissais pas, ça fait bizarre de voir ça ^^
C'est quoi d'ailleurs les opérateurs Neg et Like ?

Merci pour les infos ;)
violent_ken
Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
-
DAMN ?

Cela rend possible le calcul par opérations simples (/, *, -, +) de types persos.
Notamment dans la manipulations de nombres complexes par exemple.

Dammit ! C'est énorme !
@+
bilaloch
Messages postés
554
Date d'inscription
lundi 6 octobre 2003
Statut
Membre
Dernière intervention
9 juillet 2014
-
...EB pourrais je te poser une question ?? Ou trouves tu ces idées, et comment tu fais pour toujours nous impressionner en les codant ?? =D C'est incroyable, comment t'as appris tout ca ?

PS : Com d'hab 10...

BILALoch
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
79 -
Pour trouver cette idée, il suffit de connaître le langage C, maintenant, pour réussir à le coder, ben là je te tire mon chapeau (mais je pense que tu as l'habitude, à chacune de tes sources je suis époustouflé de toute façon !).

Continue comme cà mon EB !

DarK Sidious
cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
Tous> Merci, mais n'oublions pas Warning c'est aussi son projet ! Il a passé des heures a rechercher des données dans du code binaire et c'est lui l'inspirateur de la source. Donc... je voulais juste dire ça. merci aussi à Warning :p

MadM@tt> Il possible d'ajouter des operateurs mais dans ce cas on sort du contexte de l'IDE et autant crée une simple fonction. Pour ce qui est de la notation [] bah... suffit de le savoir :p Renfield utilise souvent ce genre de notation

Dark> ;)

@+
cs_ajaja
Messages postés
27
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
29 octobre 2012
-
C compris EB, bien
cs_asimengo
Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
EB tu vas me rendre fou mon gars.

J'installe VB sur mon nouveau poste de mon nouveau boulot et je reviens vers toi. Effectivement c'est tres interessant et je ne savais pas que c'etait possible en VB.
En fait je comprends qu'il faille tout laisser pour se concentrer sur le DEV sinon tu recules tellement avec toi ca va loin et ce qu'il faut retenir de tout ca est que la POO c'est un concept tellement fort et il suffit de maitriser la structure et la hierarchie des objets qu'utilisent VB,cest pour ca qu'on est MVP.

Du courage EB, d'ici quelques jours je reviens a l'ecole.
tinux
Messages postés
246
Date d'inscription
mercredi 13 avril 2005
Statut
Membre
Dernière intervention
21 octobre 2013
-
ça pourrait être utile pour simplifier des développements de complexes :s ??
bouv
Messages postés
1429
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
Tout a été dit et cela ne me servira surement jamais, mais bravo à vous deux (EB + Warning).
rvblog
Messages postés
794
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5 -
Costaud! (mais pas surprenant venant de toi)
ne servira jamais, ne servira jamais...je ne suis pas sûr!

Il suffit de trouver un opérateur VB, limité d'origine, et pour lequel la surchage pourrait offrir une réelle utilité...

Tiens, et l'opérateur New? pourrait-on le surcharger? est-il considérable comme un opérateur? parce que, qui n'a pas réver d'initialiser les membres d'une classe avec des arguments reçu lors de l'appel au construction?

Et puisqu'il s'agit d'un opérateur unaire, est-il envisageable de faire supporter ceux-ci? et donc les fameux ++, += et les autres?

en tout cas, déjà, merci!
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
Bonjour,
j'essaye de créer une nouvelle structure, le BigInt (le très long) pour manipuler de très grands nombres! On voit tout de suite l'intéret de surcharger tous les opérateurs, je veux pouvoir faire A+B avec A et B BigInt comme je fais 1+2. (c'est utile pour les complexes aussi bien sur) J'ai posé une question sur le forum dont voici le lien j'ose espérer que vous aurez une réponse:
http://www.vbfrance.com/infomsg_VB-NET-CLASSE-HERITANT-TYPE-DONNEES_903815.aspx#2
merci pour la source :)
Aethys
Messages postés
4
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
7 février 2008
-
Salut

Je reviens sur cette source que tu as faite car j'ai un probleme en VB.NET

Si je cast 3.5 en entier j'obtiens 4 et si je cast 4.5 en entier j'obtiens aussi 4.

Apres tests les impairs sont arrondis à l'entier supérieur et les pairs à l'entier inférieur.

A part dire merci Bill Gates, je préfèrerai réussir à surcharger l'opérateur = (celui d'assignation, pas celui de comparaison) de la classe Integer de base avec un Double en paramètre.

Une sorte de :
Class Integer
Public Overload Operator = (ByVal value As Double)
end Class

Peut-etre l'un de vous aurait-il une idée ?

Merci d'avance et bravo pour ta source ;)
cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
5 -
Ne cast pas et utilises une fonction de conversion genre round, fix, int...

@+