Exemple de code

Visual Basic dans Visual Studio 2005 : encore moins de lignes de code à écrire à "My"

Quelque soit leur origine, et c’est particulièrement vrai pour les développeurs Visual Basic 6, une des difficultés à laquelle sont confrontés les développeurs qui passent à .NET est de trouver la bonne méthode dans le bon espace de nommage pour réaliser une tâche. Certains développeurs perdus allaient même jusqu'à rechercher dans l’API Win32 des fonctions présentes dans le Framework .NET!
Et c’est d’autant plus frustrant pour les tâches simples et courantes. C’est une des raisons à l’origine de l’apparition en Visual Basic de l’espace de nommage “My”.

Un aperçu des possibilités des "My"

"My" regroupe en un point d’accès unique un ensemble de ressources couramment utilisées tels que My.Application, My.Computer, My.Forms, My.Resources, My.Settings, My.User, et My.WebServices.
En général chaque classe "My" constitue un raccourci qui donne un accès facile et rapide à deux types d’éléments :

  • soit des classes du Framework .NET (My.Application, My.Computer, My.User)

  • soit des éléments du projets en cours(My.Forms, My.Resources, My.Settings, et My.WebServices).

"My" par l’exemple

"My" par l'exemple

L’objectif de cet ensemble de classes est vraiment de vous rendre plus productif en vous facilitant la recherche de fonctions élémentaires et en vous raccourcissant l’écriture de code.

Regardons ces deux exemples simples : lire un fichier texte et tester la validité de la connexion réseau.

Pour lire un fichier texte il suffit d’utiliser la méthode My.Computer.FileSystem.ReadAllText, comme dans l’exemple ci-dessous, ainsi en une seule ligne de code, le fichier est lu de façon extrêmement simple.

'Sélectionner un fichier
OpenFileDialog1.ShowDialog()
'Récupérer le nom du fichier
Label1.Text = OpenFileDialog1.FileName

'Lire le fichier et mettre le résultat dans la TextBox
TextBox1.Text = My.Computer.FileSystem.ReadAllText(Label1.Text)

					

De même pour pilote les interaction avec le réseau, il existe l’ensemble de classes sous My.Computer.Network.

My.Computer.Network

My.Computer.Network

On peut ainsi tester facilement si une connexion réseau est active, faire un « Ping », et même télécharger un fichier, et tout cela à chaque fois en une seule ligne de code !

Try
If My.Computer.Network.IsAvailable Then
  Label2.Text = "Status Réseau = Connecté"
  'Une connexion réseau existe, on teste si l'accès internet fonctionne.
  If My.Computer.Network.Ping("weblogs.asp.net") Then
     Label3.Text = "Statut Connexion internet : Disponible"
     'Télécharger un fichier
     Label4.Text = 
     My.Computer.FileSystem.SpecialDirectories.MyDocuments
     My.Computer.Network.DownloadFile ("http://msdn.microsoft.com/vbasic/rss.xml",
     Label4.Text, "", "", False, 1000, True)
     'Lire le fichier et l'affichier
     TextBox1.Text = My.Computer.FileSystem.ReadAllText(Label4.Text & "\rss.xml")
  Else
     Label3.Text = "Statut Connexion internet : NON Disponible (Ping échoue)"
  End If

					

Voilà une petite introduction aux nouveautés de Visual Basic 2005.

Pour aller plus loin

Exemples de code de cet article, dans une application Windows :

Exemple d'une application Windows

Exemple d'une application Windows

Article sur MSDN

Navigate the .NET Framework and Your Projects with "My" Site en anglais

Using My.Settings in Visual Basic 2005 Site en anglais

Télécharger Visual Basic 2005 Express Edition Beta Site en anglais