Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VB 6 via VB.NET

2 réponses
Avatar
Annie
Il y a des mots réservés dans Visual Basic .NET que l'on doit remplacer car
on les utilisaient en VB 6.
J'ai lu que l'on devrait rempacer ces mots réservés par ceux utiliser par .NET
Ex.: Len(maVariable) par maVariable.Length

Est-ce que ces mots réservés doivent être remplacés :
CInt, CStr, CDbl, CDate...etc par CType
ex.: CDbl(maVariable) par CType(maVariable, Double)

Est-ce que ces anciens mots réservés seront désuets dans une version future
de VB.Net ou que ces mots réservés sont encore utilisés (CDbl, CInt, CStr,
CDate...)

Y-a-t-il une différence avec "CType". Doit-on utiliser ce mot réservé
régulièrement?

J'aimerais avoir vos commentaires!

Merci pour vos réponses!

2 réponses

Avatar
Fred
Dans : news:,
Annie écrivait :
Il y a des mots réservés dans Visual Basic .NET que l'on doit
remplacer car on les utilisaient en VB 6.
J'ai lu que l'on devrait rempacer ces mots réservés par ceux utiliser
par .NET Ex.: Len(maVariable) par maVariable.Length



Il s'agit plutôt de fonctions et procédures VB6 que de mots clés.
Effectivement, elles ont été regroupées dans l'espace de nom
Microsoft.VisualBasic pour assurer une compatibilité je suppose. Mais
lorsqu'on les examine à l'aide d'un outil tel que Reflector, on se rend
compte qu'elles font appel aux fonctions du framework alors autant
utiliser ces dernières directement.
L'espace de nom Microsoft.VisualBasic est automatiquement importé dans
tout projet vb.NET (voir les propriétés du projet, onglet Références).
On peut l'enlever et la saisie d'une de ces fonctions/procédures VB6
sera signalée par le compilateur.


Est-ce que ces mots réservés doivent être remplacés :
CInt, CStr, CDbl, CDate...etc par CType
ex.: CDbl(maVariable) par CType(maVariable, Double)



Je ne sais pas. Ce sont des mots clés que je n'utilise pas. Je préfère
là encore les classes du framework. Mais il n'est pas sûr que cela soit
plus efficace que l'utilisation de mots-clés, et peut-être même au
contraire..

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Fred
Dans : news:uF$,
Fred disait :

Précisions :

Est-ce que ces mots réservés doivent être remplacés :
CInt, CStr, CDbl, CDate...etc par CType
ex.: CDbl(maVariable) par CType(maVariable, Double)





J'ai effectivement lu dans la MSDN Library que ces fonctions sont plus
optimisées que leurs équivalents framework.
Ce qui n'apparaît pas extrêmement évident en décompilant les trois
lignes suivantes :
Dim i As Int32
i = CInt("123")
Int32.TryParse("123", i)

En ce qui concerne les chaînes de caractères, ces fonctions les
analysent selon la culture système.
Avec les fonctions du framework, on peut paramétrer la culture à
utiliser.
À noter également que la dernière ligne ne plantera pas le programme (il
suffit de tester le retour).

Dernier point :
CInt("123") et CType("123", Int32) génèrent exactement le même code, à
savoir un appel à :
Conversions.ToInteger de l'espace de noms
Microsoft.VisualBasic.CompilerServices

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)