SURCHARGE D'OPERATEUR VB5/6

cs_ajaja Messages postés 27 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 29 octobre 2012 - 10 déc. 2006 à 16:56
cs_EBArtSoft Messages postés 4525 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

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
7 févr. 2008 à 18:23
Ne cast pas et utilises une fonction de conversion genre round, fix, int...

@+
Aethys Messages postés 4 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 7 février 2008
7 févr. 2008 à 11:18
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 ;)
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014
15 mars 2007 à 14:39
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 :)
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
21 janv. 2007 à 14:59
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!
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
13 déc. 2006 à 00:02
Tout a été dit et cela ne me servira surement jamais, mais bravo à vous deux (EB + Warning).
tinux Messages postés 244 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 21 octobre 2013
12 déc. 2006 à 18:33
ça pourrait être utile pour simplifier des développements de complexes :s ??
cs_asimengo Messages postés 280 Date d'inscription jeudi 24 mars 2005 Statut Membre Dernière intervention 18 mars 2009
12 déc. 2006 à 10:30
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.
cs_ajaja Messages postés 27 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 29 octobre 2012
10 déc. 2006 à 21:39
C compris EB, bien
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
10 déc. 2006 à 20:00
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_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 déc. 2006 à 18:54
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
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
10 déc. 2006 à 18:37
...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
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
10 déc. 2006 à 18:21
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 !
@+
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
10 déc. 2006 à 17:58
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 ;)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
10 déc. 2006 à 17:27
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

@+
cs_ajaja Messages postés 27 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 29 octobre 2012
10 déc. 2006 à 16:56
J'ai pas compris cette source
(1+1)=-1 comment? (1+1=2!!!)
Rejoignez-nous