CLASSE DÉFINISSANT TOUTES LES CONSTANTES WINDOWS MESSAGE (WM_ACTIVATE,WM_MOUSE..

XDarwin Messages postés 17 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 8 avril 2010 à 12:37
cs_bigboss9 Messages postés 162 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 20 juillet 2013 - 13 avril 2010 à 11:58
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/51569-classe-definissant-toutes-les-constantes-windows-message-wm-activate-wm-mouse-wm-paint-avec-des-commentaires-xml

cs_bigboss9 Messages postés 162 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 20 juillet 2013
13 avril 2010 à 11:58
A ta question je répondrais par la réponse suivante : VB s'arrête là ou C++ utilise les pointeurs. Pour le reste, il est toujours facile d'utiliser une DLL C++ en VB, dès que l'on en a extrait les méthodes. Au pire, une DLL écrite servant de pipeline suffira à résoudre les problèmes les plus embêtants.

Pour ce qui est du langage parlé, cela pourrait être une bonne idée. Le problème étant que la syntaxe logique du langage n'est pas la même que la syntaxe logique d'un compilateur. Il te faudrait pour résoudre ce problème utiliser une langue qui possède un fort 'typage' et une rigueur plus grande que le français ou l'anglais. L'allemand par exemple serait un excellent choix. La syntaxe de la phrase étant très stricte, la transformation de la phrase en méthode logique serait alors plus facile.

Tu peux déja commencer par créer un langage ressemblant à l'OCAML, Objective CAML, très puissant et syntaxiquement très pratique pour ce genre de choses ...
XDarwin Messages postés 17 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 22 avril 2010
12 avril 2010 à 00:23
Merci BigBoss9 pour cette explication exhaustive de la situation.. ;-)
Je suis totalement d'accord, et conscient des atouts des deux langages..

Personnellement, la plus-part du temps je code pour résoudre des problèmes algorithmiques, asservissements, logique, tester des méthodes de traitement issus de mon imagination, utilitaires persos (à usage unique parfois!), etc.. alors pour moi "efficace" serait le mot avec lequel je caractérise "la possibilité d'exprimer mes idées et solutions sans avoir à trop se pencher sur le code" c'est une définition perso qui convient à mon besoin de programmer.. C'est d'ailleurs l'esprit qui à conduit à l'élaboration de visual basic.

j'envisage même créer un outil, sorte de convertisseur:[Langage parlé-Code (vb)] qui pourra simplifier au max mon utilisation de vb. science-fiction!!? hehehe.. je crois pourtant que c'est possible. j'utiliserai un tel outil plus simple que vb, windev... et ça sera pour moi plus efficace..

Enfin et comme tu l'a bien exprimé il s'agit là de deux chemins divergents <-C++--|--VB--> il faut en choisir un..

Mais la question que je me pose est: est il possible (meme théoriquement) de remonter à toutes les fonctionnalités de C dans Visual Basic ?
cs_bigboss9 Messages postés 162 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 20 juillet 2013
11 avril 2010 à 22:01
En effet. Car on part du principe sur la MSDN que l'on donne une méthode générique. Il en va de même dans tous les exemples Microsoft. VB étant un peu pauvre en codes de qualité sur le net, il ne faut pas hésiter à visiter la MSDN C++ et ensuite traduire en VB (ca se fait assez simplement dans la pluspart des cas) les exemples. C'est comme cela que j'ai utilisé pour la première fois les effets Aero, dépassant les codes basiques que l'on trouvait en VB sur le net sur le sujet. Pour ce qui est de l'interception des messages, et plus globalement tout ce qui touche au système lui même, le C++ est très riche. Donc n'hésite pas à consulter la MSDN.

Ce qui est plus simple n'est pas plus efficace. Pour la simple et bonne raison que la simplicité résulte d'une simplification mal faite (car toutes les classes du Framework ne sont pas égales point de vue qualité) la pluspart du temps. C'est simple car on a caché tous les rouages internes et tu perds la possibilité d'un control total sur ton code. Le code le plus efficace est celui qui peut être maîtrisé de A à Z. C'est le cas du C++ ou la gestion de la mémoire se fait manuellement par exemple. Cela peut s'avérer dans pas mal de cas plus efficace que le Garbage Collector.

L'optimisation se fait toujours au détriment de la simplicité. Il faut mettre les mains dans le code et ne pas hésiter à refaire ce qui a été fait. Cela vaut pour pas mal de choses dans le Framework. Une liste non exhaustive :

- La fonction de calcul de la taille d'un String (MeasureString)
- La fonction qui détermine si un nombre est positif, pair, multiple de etc.

Bref, le .Net t'apportera la puissance de la portabilité (quoiqu'en VB on peut encore se poser la question) ainsi qu'un fort taux de productivité. Mais il faut bien comprendre qu'on ne construit pas les mêmes choses en VB qu'en C++.
XDarwin Messages postés 17 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 22 avril 2010
10 avril 2010 à 10:55
Bonjour et Merci d'avoir commenté;

Un dictionnaire, oui pourquoi pas, si ça peut être utile..!

Mais je vois que c'est plutôt un domaine rarement recherché par les utilisateurs de vb..
Il faut le dire.. si on cherche un contrôle total sur les applications il faudra mieux utiliser un langage de plus bas niveau, non..? (C++ par exemple): c'est Simplicité VS Contrôle..

Mais il se trouve que j'ai cette "conviction" que plus simple = plus efficace, c'est la raison pour laquelle je tient toujours à vb, et dans ça je crois que je me trouve "seul"..

D'ailleurs rares sont les exemples en vb dans ce sujet, sur le web le seul exemple que j'ai trouvé utilise le WM_ACTIVATE (généré lorsque la fenêtre active à été modifiée): c'est l'exemple cité sur msdn aussi!
cs_bigboss9 Messages postés 162 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 20 juillet 2013
10 avril 2010 à 09:54
C'est une bonne idée. Tu pourrais même créer une application, une sorte de petit dictionnaire des constantes avec une fonction de recherche dans la description et le nom ... Ca serait plus utile, tu pourrais faire une base de données et un code ainsi plus profitable encore, se différenciant de celui qui existe déja ...
XDarwin Messages postés 17 Date d'inscription vendredi 19 mars 2010 Statut Membre Dernière intervention 22 avril 2010
8 avril 2010 à 12:37
Salut tout le monde,
Bah il fallait que je poste le premier et vous dire un truc avant que quelqu'un le fasse..

Vous connaissez l'équation "Rush = Crash" ?!!
J'ai souvent l'attitude de réinventer les choses déjà inventés ..! hehehe..
Toujours si pressé de faire les choses moi même plutôt que de les chercher..

bref..

Je dit ça parce-que je vient de trouver une source identique à la mienne, aussi commenté au site pinvoque.net (oui celui d'ou j'ai trouvé les données -sous forme de tableau-), il le propose également en vb avec les commentaires et tout ça.. il se trouve que j'ai n'est pas vu ça avant !!

Alors qu'ils me pardonnent, j'ai pas piqué leurs sources..
Alors voilà le lien si vous voulez consulter ça depuis sa sources d'origine:
"http://www.pinvoke.net/default.aspx/Enums/WindowsMessages.html"

Pour moi c'était une nuit perdue :(
Peut etre que non! Meme les echecs nous fait du bien, n'est ce pas ;) Je m'en sort avec de nouvelles idées..

Alors A+
:)
Rejoignez-nous