Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SURCHARGE D'OPERATEUR VB5/6


Information sur la source

Catégorie :Divers Classé sous : operateur, surcharge, activex, dll, overload Niveau : Débutant Date de création : 10/12/2006 Vu / téléchargé: 3 137 / 388

Note :
10 / 10 - par 6 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Bonjour voici une source faite en colaboration avec mon ami et grand specialiste Warning.

Elle permet de faire de la surcharge d'operateur en VB5/6. Pour ceux qui ne connaissent pas ce terme. La surcharge d'operateur consiste à traiter une opération basique genre
"A + B" comme si "+" etait une fonction personnalisé.

C'est beaucoup de recherche pour pas grand chose mais le principe etait interessant a developper. Je ne pense pas que cela soit utile dans un projet quelconque.
 

Conclusion

Toutes les fonctions ne sont pas accessible depuis l'IDE faute d'avoir bucher suffisament ;) mais cela reste une tres bonne demo.

Grand merci a Warning :p

Bonne prog
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de ajaja le 10/12/2006 16:56:41

J'ai pas compris cette source
(1+1)=-1 comment? (1+1=2!!!)

signaler à un administrateur
Commentaire de EBArtSoft le 10/12/2006 17:27:29 administrateur CS

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

@+

signaler à un administrateur
Commentaire de MadM@tt le 10/12/2006 17:58:49

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 ;)

signaler à un administrateur
Commentaire de violent_ken le 10/12/2006 18:21:36

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 !
@+

signaler à un administrateur
Commentaire de bilaloch le 10/12/2006 18:37:08

...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

signaler à un administrateur
Commentaire de DARKSIDIOUS le 10/12/2006 18:54:51 administrateur CS

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

signaler à un administrateur
Commentaire de EBArtSoft le 10/12/2006 20:00:57 administrateur CS

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> ;)

@+

signaler à un administrateur
Commentaire de ajaja le 10/12/2006 21:39:14

C compris EB, bien

signaler à un administrateur
Commentaire de asimengo le 12/12/2006 10:30:26

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.

signaler à un administrateur
Commentaire de tinux le 12/12/2006 18:33:48

ça pourrait être utile pour simplifier des développements de complexes :s ??

signaler à un administrateur
Commentaire de bouv le 13/12/2006 00:02:42

Tout a été dit et cela ne me servira surement jamais, mais bravo à vous deux (EB + Warning).

signaler à un administrateur
Commentaire de rvblog le 21/01/2007 14:59:26

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!

signaler à un administrateur
Commentaire de pifou25 le 15/03/2007 14:39:01

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 :)

signaler à un administrateur
Commentaire de Aethys le 07/02/2008 11:18:06

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 ;)

signaler à un administrateur
Commentaire de EBArtSoft le 07/02/2008 18:23:22 administrateur CS

Ne cast pas et utilises une fonction de conversion genre round, fix, int...

@+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Point d'entrée d'une fonction introuvable dans une dll activex [ par Fizzo ] Bonjour à tous.J'ai créer une dll activex sous vb contenant des informations nécessaire à l'exécution d'un .exe vb lui aussi.Mais voilà, problème!Lors Passage d'un tableau de byte à une fonction encapsulé dans un ACtiveX Dll [ par novik ] J'aimerai pouvoir passer un tableau de Byte a ma fonction (Activex Dll)lors de l'appel j'ai une erreur Type Mismatch.Or lorsque j'appelle cette foncti Comment démarrer une DLL ActiveX avec un browser autre que IE? [ par Fr@nck ] Comment démarrer une DLL ActiveX avec un browser autre que IE?Merci de me répondre.Fr@nck ActiveX.exe et ActiveX.dll [ par Philtous ] Salut à vous, J'aimerais savoir si c'est possible de me donner un exemple simple (facile à comprendre) d'un ActiveX.exe ou .dll en VB.Merci,Philippe Dll non ActiveX en VB ? [ par Raptor ] Il parait qu'on peut créer des Dll non ActiveX en VB ????(un message ici => http://www.vbfrance.com/article.asp?Val=307) Si quelque'un sait, peut i Dll ActiveX et Explorateur d'objets [ par Bichon63 ] Bonjour,Je viens de créer une Dll ActiveX (1er fois) que j'appelle d'un autre prog. je voulais savoir si il été possible d'afficher les constantes ain DHTML [ par seb ] Quand j'ai fini mon projet en DHTML, toutes mes pages sonnt au format *.htm et les codes sont compilés en un *.dllQuand j'exécute avec IE, la form ne Pb appel ActiveX DLL (ASP 0115) [ par Christo ] Bonjour ! J'ai un big pb. Pas de solution en vue :-( J'ai développé (sous VB6) une DLL. J'appelle celle-ci dans mes pages ASP avec le fameux "serv Pb creation de dll activex [ par stef_2001 ] Bonjour, je suis un presque nouveau venu dans VB...J'essaye de créer une dll active x. jusque, la pas de pb.C'est lorsque que je crée une Sub privée a


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,061 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.