0% ont trouvé ce document utile (0 vote)
21 vues5 pages

Espace de Nom My

Ce document présente un cours sur VB.NET, incluant des exemples de fonctions lambda et l'utilisation de l'espace de nom 'My' pour accéder à diverses propriétés de l'application et de l'ordinateur. Il décrit également comment manipuler des fichiers, récupérer des informations système, et utiliser des ressources intégrées. Les sources sont libres de droits, mais la présentation du contenu est protégée par des droits d'auteur.

Transféré par

nfissiabdslam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues5 pages

Espace de Nom My

Ce document présente un cours sur VB.NET, incluant des exemples de fonctions lambda et l'utilisation de l'espace de nom 'My' pour accéder à diverses propriétés de l'application et de l'ordinateur. Il décrit également comment manipuler des fichiers, récupérer des informations système, et utiliser des ressources intégrées. Les sources sont libres de droits, mais la présentation du contenu est protégée par des droits d'auteur.

Transféré par

nfissiabdslam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours VB.

NET par Philippe Lasserre

Module Module1
Sub Main()
'On appelle une fonction en envoyant une valeur et une fonction lambda.
' La ligne affiche "Success" car 4 est pair.
testResult(4, Function(num) num Mod 2 = 0)
' La ligne affiche "Failure" car 5 n'est pas > 10.
testResult(5, Function(num) num > 10)
End Sub

' Sub testResult a 2 arguments, 'value' un Integer et 'fun' la fonction lambda


' On teste la fonction lambda 'fun(value)'
' en fonction du resultat True ou False on affiche "Success" ou "Failure"
Sub testResult(ByVal value As Integer, ByVal fun As Func(Of Integer, Boolean))
If fun(value) Then
Console.WriteLine("Success")
Else
Console.WriteLine("Failure")
End If
End Sub
End Module

En vb 2010 on peut créer une expression lambda sur plusieurs lignes, on ajoute dans ce cas un 'End Function'.

Dim paireoupas = Function(x)


If (x Mod 2=0) Then
Return "paire"
Else
Return "Impair"
End If
End Function

' Affiche 2.
Console.WriteLine(paireoupas(1))

En plus, on peut créer une Sub lambda.

V-AG - L'espace de nom 'My'.

Ce chapitre est placé ici car il ne concerne pas l'interface, mais il sera plutôt lu dans un second temps.

Cet espace de nom comporte des objets qui sont des chemins d'accès simplifiés à de nombreux domaines
touchant l'application, l'ordinateur, les ressources, les imprimantes...

My qui est extrêmement pratique, est présent à partir de VB 2005 et uniquement dans VB (pas dans C#).

My: le SUPER RACCOURCI.

V-AG-1 - My.Application

My.Application permet d'accéder rapidement aux propriétés de l'application en cours.

Vous pouvez ainsi récupérer des informations sur l'assembly, la culture (langue), de l'application.

- 420 -
Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation
de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © - . Aucune reproduction, même partielle, ne peut
être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez
selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
http://plasserre.developpez.com/cours/vb-net/
Cours VB.NET par Philippe Lasserre

Vous pouvez aussi avec My.Apllication.Info récupérer des informations sur le répertoire de travail le titre le copyrhigt
de l'application.

'Culture
MsgBox(My.Application.Culture.ToString) ' culture du thread en cours affiche 'fr-FR'
My.Application.ChangeCulture (it-IT) 'permettra de changer la culture

'Formulaire
'My.Application.OpenForms qui retourne la collection des formulaires ouverts.
'Exemple: rajouter le texte 'ouvert' à la barre des formulaires ouverts:
For Each F As System.Windows.Forms.Form In My.Application.OpenForms
F.Text += "[ouvert]"
Next

'modifier la durée de l'affichage de l'écran Splash


My.Application.MinimumSplashScreenDisplayTime = 2000 '<= A rajouter dans Application_New
'voir chapitre sur écran Splash

'Afficher dans une liste Box les arguments de la ligne de commande


ListBox1.DataSource = My.Application.CommandLineArgs.ToArray

'Afficher les infos de l'application


MsgBox(My.Application.Info.DirectoryPath) 'affiche le nom du répertoire ou est l'exécutable.
MsgBox(My.Application.Info.Title) 'affiche le titre de l'application, de l'exécutable.
MsgBox(My.Application.Info.Version.ToString) 'affiche le nom du répertoire ou est l'exécutable.
MsgBox(My.Application.Info.ProductName) 'affiche le nom de produit de l'application.

V-AG-2 - My.Computer

My.Computer
permet d'accéder aux propriétés de l'ordinateur, du hardware.
Aux ressources logicielles et/ou matérielles de l'ordinateur.
My.Computer.Audio : permet de jouer des fichiers wav, ainsi que les sons systèmes de windows.

My.Computer.Audio.Play("c:\mysound.wav")
My.Computer.Audio.Play("c:\mysound.wav", AudioPlayMode.BackgroundLoop) 'joue en boucle
My.Computer.Audio.Stop 'stop la boucle

My.Computer.Clipboard : permet de récupérer des informations sur le contenu du presse-papier, de récupérer et


de définir son contenu.

If My.Computer.Clipboard.ContainsImage Then
PictureBox1.Image = My.Computer.Clipboard.GetImage
ElseIf My.Computer.Clipboard.ContainsText Then
TextBox1.Text = My.Computer.Clipboard.GetText
End If

My.Computer.Clock : permet de récupérer l'heure courante ainsi que le nombre de millisecondes écoulées depuis
le démarrage.

MsgBox(My.Computer.Clock.LocalTime.ToString) 'Affiche date et heure

My.Computer.FileSystem: permet de trouver des répertoires et d'effectuer les opérations d'entrées/sorties


standards.

- 421 -
Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation
de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © - . Aucune reproduction, même partielle, ne peut
être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez
selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
http://plasserre.developpez.com/cours/vb-net/
Cours VB.NET par Philippe Lasserre

On peut ainsi lire le chemin des répertoires habituels:

MsgBox(My.Computer.FileSystem.CurrentDirectory) 'répertoire courant


MsgBox(My.Computer.FileSystem.SpecialDirectories.MyDocuments) 'répertoire documents
MsgBox(My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData)'rep données utilisateur en cours
MsgBox(My.Computer.FileSystem.SpecialDirectories.AllUsersApplicationData)'rep données utilisateur en cours
MsgBox(My.Computer.FileSystem.SpecialDirectories.Programs) 'répertoire des programmes

Il y a aussi Destock, MyMusic, MyPictures, ProgramsFiles.

Récupérer le nom du premier disque:

MsgBox(My.Computer.FileSystem.Drives.Item(0).ToString)'affiche 'A:'

La collection Drives contient des items indiquant les disques.


GetDrives et GetDriveInfo permettent de récupérer une collection de disque présent, et des informations sur les
disques.

Un répertoire existe t-il?

MsgBox(My.Computer.FileSystem.DirectoryExists("c:\").ToString) 'affiche True si c:\ existe.

De même pour un fichier:

MsgBox(My.Computer.FileSystem.FileExists("c:\myfiel.txt").ToString) 'affiche True si c:


\myfile.txt existe.

Possibilité de copier, créer, effacer, déplacer répertoires ou fichiers:

Il y a:
CopyDirectory
DeleteDirectory
RenameDirectory
MoveDirectory
CreateDirectory
et
CopyFile
DeleteFile
RenameFile
MoveFile

Exemple: copie d'un répertoire:

My.Computer.FileSystem.CopyDirectory(sourcedirectory, destinationdirectory)

On peut ajouter 2 paramètres, pour afficher une boite de dialogue qui indique la progression de la copie et pour
générer une interruption si l'utilisateur annule le processus (il faut dans ce cas que le code soit dans un Try Catch).

Voir les sous répertoires:

- 422 -
Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation
de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © - . Aucune reproduction, même partielle, ne peut
être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez
selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
http://plasserre.developpez.com/cours/vb-net/
Cours VB.NET par Philippe Lasserre

My.Computeur.FileSystem.GetDirectories("c:\").item(0) 'permet de voir le premier sous répertoire.

Afficher dans ListBox1 tous les répertoires qui sont dans C:

ListBox1.DataSource = My.Computer.FileSystem.GetDirectories("c:\")

GetFiles fait de même avec les fichiers et GetDrives pour les disques.

Mettre le contenu d'un fichier texte dans une variable:

Dim LeTexte As String = My.Computer.FileSystem.ReadAllText("c:\devicetable.log")

(Il existe aussi WriteAllText, ReadAllBytes et WriteAllBytes)

FindInFiles permet de retrouver les fichiers contenant un texte.

Dim list As System.Collections.ObjectModel.ReadOnlyCollection(Of String)


list = My.Computer.FileSystem.FindInFiles("C/", "Chaîne à chercher", True,
FileIO.SearchOption.SearchAllSubDirectories)

My.Computer.Info : Obtient des informations concernant l'ordinateur et le système d'exploitation (mémoire vive libre,
nom de l'os, version de l'os, etc).

MsgBox(My.Computer.Info.TotalPhysicalMemory.ToString) 'affiche la mémoire physique

Il y a aussi AvailablePhysicalMemory, TotalPhysicalMemory, TotalVirtualMemory OSVersion, OSFullName..

My.Computer.Keyboard : permet de tester l'état des touches CTRL, ALT, etc� et de simuler l'appuie de touche
grâce à la méthode Sendkeys.

MsgBox(My.Computer.Keyboard.AltKeyDown.ToString)' teste si la touche Alt est enfoncée.

My.Computer.Keyboard.SendKeys("a")' simule l'appuie d'une touche.

My.Computer.Mouse : permet de récupérer des informations sur la souris (présence de la souris, présence de
molette, boutons inversés, etc.)

MsgBox(My.Computer.Mouse.WheelExists.ToString) 'affiche True s'il y a une molette.

My.Computer.Name : récupère le nom de l'ordinateur.

MsgBox(My.Computer.Name.ToString)

- 423 -
Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation
de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © - . Aucune reproduction, même partielle, ne peut
être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez
selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
http://plasserre.developpez.com/cours/vb-net/
Cours VB.NET par Philippe Lasserre

My.Computer.Network : permet de télécharger et d'uploader des fichiers, de vérifier si l'ordinateur est connecté à
Internet, d'effectuer des pings, et de récupérer les évènements lors des connexions et déconnexions.

Charger un fichier à partir du réseau:

My.Computer.Network.DownloadFile(AdresseCompleteFichierACharger, DestinationFileNane)

With My.Computer.Network
If .IsAvailable And .Ping(txtIpAdress.text) Then
.UploadFile("c:\filetupload.ext", txtIpAdress.Text)
End If
End With

My.Computer.Ports : permet de récupérer la liste des ports séries, et de les ouvrir.

My.Computer.Printers : permet de récupérer la liste des imprimantes installées et de définir l'imprimante par défaut.
(absent dans la version bêta)

My.Computer.Registry : permet de manipuler la base de registre facilement.

My.Computer.Screen : permet de récupérer les informations concernant les écrans installés.

MsgBox (My.Computer.Screen.Bounds.Height.ToString) 'voir la hauteur de l'écran

V-AG-3 - My.User

My.User permet de récupérer les informations sur l'utilisateur courant.

My.User.Identity.Name

My.User.IsInRole("Administrators") 'contient l'administrateur

V-AG-4 - My.Ressources

My.Ressources permet de manipuler et récupérer très facilement les ressources incorporées à l'assembly.

Mettre une ressource image dans le plan BackGround d'un formulaire:

Me.BackgroundImage = My.Resources.Form1Background

Mettre une ressource image dans le plan BackGround d'un bouton:

- 424 -
Les sources présentées sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre la page de présentation
de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © - . Aucune reproduction, même partielle, ne peut
être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez
selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
http://plasserre.developpez.com/cours/vb-net/

Vous aimerez peut-être aussi