FAQ Visual Basic
FAQ Visual Basic Consultez toutes les FAQ
Nombre d'auteurs : 50, nombre de questions : 300, dernière mise à jour : 15 juin 2021
VB.net est l'un des langages supportés par .Net, la nouvelle plateforme de Microsoft, dont le framework est totalement orienté objet. Il n'est donc pas une simple mise à jour comme l'était VB6 par rapport à VB5.
La question est donc moins de choisir entre deux langages qu'entre deux plateformes. .Net sera dans quelques années la nouvelle plateforme de Windows et remplacera donc l'actuelle Win32. Si vous voulez vous initier à un langage d'avenir, tournez-vous vers VB.Net: sur les prochaines versions de Windows, VB6 ne sera plus vraiment adapté.
Lien : La Faq .Net
Lien : Comment migrer vos projets vers VB.NET ?
Lien : De VB6 à VB.NET
Visual basic 6, (VB6) n'étant plus commercialisé par Microsoft
seul les marchés de l'occasion où autre ventes au enchéres permettent encore
de se procurer une licence.
Un module standard contient un ensemble de fonctions et de procédures, plus toutes les déclarations qui leur sont nécessaires.
Parmi ces déclarations, fonctions, et procédures, certaines peuvent être de portée privée, c'est-à-dire que l'on ne peut pas y
accéder à partir d'un autre module. Sera donc de portée privée tout ce qui n'est utilisé que dans le module standard lui-même.
Un module de classe vous permettra de créer une classe. Une classe décrit un objet particulier : quelles sont ses
caractéristiques (appelées propriétés) et ce qu'il peut faire (quelles sont ses méthodes). Par exemple, chaque form
de votre projet correspond à une classe. Ses propriétés sont Caption, BorderStyle, etc...
et ses méthodes Show, Hide, etc... Dans une classe, une méthode s'écrit sous la forme d'une fonction de portée
publique. Voyons comment s'écrit une propriété, par exemple la propriété Marque de la classe Voiture :
'Variable privée représentant la marque, on ne peut pas y accéder depuis l'extérieur
Private
m_Marque As
String
'Property Get est la fonction appelée lorsque l'on veut obtenir la valeur de la propriété
Property
Get
Marque
(
) As
String
Marque =
m_Marque
End
Property
'Property Let est la procédure appelée lorsque l'on veut modifier la valeur de la propriété.
'Si elle n'existe pas, la propriété sera en lecture seule.
'Elle doit avoir un argument qui a le type de la propriété,
'soit le même que celui de la valeur renvoyée par Property Get.
Property
Let
Marque
(
value As
String
)
m_Marque =
value
End
Property
Et pour finir, un exemple d'utilisation de la classe Voiture :
Dim
UneVoiture As
Voiture
Set
UneVoiture =
New
Voiture
UneVoiture.Marque
=
"Renault"
MsgBox
UneVoiture.Marque
Set
UneVoiture =
Nothing
Dans un module standard, créez une procédure Main(). Dans les propriétés du projet, Sélectionnez "Sub Main" comme objet de démarrage.
Sub
Main
(
)
'code du programme
End
Sub
- Désassemblage seulement possible
- Optimisation vitesse (x5-x20 /P-Code selon type d'opération)
- Taille plus importante qu'un exécutable en P-Code (+30 à 50%)
- Possibilité de créer une table de Débogage Symbolique
- Quelques bugs à la compilation - Instabilité d'appel à certaines API (multiThreading par ex)
- Code interprété - couche supplémentaire donc plus lent
- Dé-compilation possible à l'image de vb.net ou java (http://www.vb-decompiler.org/)
- Optimisation taille du code
La compilation en code Natif ou en P-Code nécessite l'une comme l'autre MSVBVMx0.dll