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

Comment déclarer une variable objet ?

3 réponses
Avatar
LE TROLL
Bonjour,

Je suis sur PCnoteBook avec Vista 32 sous vbExpress2008 en vbNet

J'ai un problème, je ne sais pas comment faire pour déclarer une
variable objet dans le cas qui suit, en plus parfois on met "new", d'autres
fois pas, ah ben... Voici mon code :

-------------------
Option Explicit On
Imports System.Net.NetworkInformation
Public Class Form1
Sub Form1_Load(...

MonInterface.NetworkInterfaceType =
NetworkInformation.NetworkInterfaceType.Wireless80211
monInterface.Speed()

End Sub ' form1
End Class
-------------------


Et voici mon problème, sur ceci

--------------
monInterface
--------------

Où il me dit -> Le nom "MonInterface" n'est pas déclaré

Déclarer, certes, mais de quelle façon, merci si vous le savez, de me
donner un exemple qui tourne ?

Cordialement ;o)

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.

3 réponses

Avatar
Patrice
Bonjour,

Lire peut-être au moins une fois au moins en partie la spéc du langage :
http://msdn.microsoft.com/fr-fr/library/ms234437.aspx

J'ai un problème, je ne sais pas comment faire pour déclarer une variable
objet dans le cas qui suit, en plus parfois on met "new", d'autres fois
pas, ah ben...



Sans New on ne fait que déclarer la variable (qui reste non initialisée donc
à "Nothing"). Avec new cela crée en plus une instance (un mot de jargon pour
dire un "exemplaire") de cet objet.

-------------------
Option Explicit On
Imports System.Net.NetworkInformation
Public Class Form1
Sub Form1_Load(...

MonInterface.NetworkInterfaceType =
NetworkInformation.NetworkInterfaceType.Wireless80211
monInterface.Speed()

End Sub ' form1
End Class



Dans ce contexte, cela n'aurait pas de sens de créer un object "Interface
réseau" de toute pièce. A priori il s'agit plutôt de récupérer un object
dans une liste (produite via NetworkInterface.GetAllNetworkInterfaces) :

Dim MonInterface As System.Net.NetworkInformation.NetworkInterface
For Each MonInterface In
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
Debug.WriteLine(MonInterface.Speed.ToString)
Next

--
Patrice
Avatar
LE TROLL
Bonsoir,

Merci, ça marche :

Dim MonInterface As System.Net.NetworkInformation.NetworkInterface

For Each MonInterface In
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()

TextBox1.Text = TextBox1.Text & "Vitesse : " & MonInterface.Speed.ToString
1048576 & " Mo/s" & vbCrLf

Exit For

Next



Il ne me maque plus que trois infos :

- Qualité de connexion

- Durée de connexion

- Nom du réseau Wifi SSID



Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.



"Patrice" <http://scribe-fr.blogspot.com/> a écrit dans le message de
news:
Bonjour,

Lire peut-être au moins une fois au moins en partie la spéc du langage :
http://msdn.microsoft.com/fr-fr/library/ms234437.aspx

J'ai un problème, je ne sais pas comment faire pour déclarer une
variable objet dans le cas qui suit, en plus parfois on met "new",
d'autres fois pas, ah ben...



Sans New on ne fait que déclarer la variable (qui reste non initialisée
donc à "Nothing"). Avec new cela crée en plus une instance (un mot de
jargon pour dire un "exemplaire") de cet objet.

-------------------
Option Explicit On
Imports System.Net.NetworkInformation
Public Class Form1
Sub Form1_Load(...

MonInterface.NetworkInterfaceType =
NetworkInformation.NetworkInterfaceType.Wireless80211
monInterface.Speed()

End Sub ' form1
End Class



Dans ce contexte, cela n'aurait pas de sens de créer un object "Interface
réseau" de toute pièce. A priori il s'agit plutôt de récupérer un object
dans une liste (produite via NetworkInterface.GetAllNetworkInterfaces) :

Dim MonInterface As System.Net.NetworkInformation.NetworkInterface
For Each MonInterface In
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
Debug.WriteLine(MonInterface.Speed.ToString)
Next

--
Patrice




Avatar
Patrice
Je me disais bien que cela me rappelait qq chose ;-) Précédémment j'avais
répondu cela :(voir en particulier le dernier lien qui pourrait fournir une
bibliothèque intéressante) :


Bonjour,

Le plus simple est sans doute d'utiliser l'explorateur d'objet pour voir les
diverses propriétés et de confirmer éventuellement avec la doc.


' - état connexion : actif ou inactif (pour calcul dur,e)



Par exemple pour la classe NetworkInterface je vois OperationalStatus (mais
je ne vois pas comment tu vas utiliser cela pour la durée)


' - adresse IP local PC



Sans doute GetIPProperties.UnicastAddresses qui permet de voir les adresses
liés à cette interface réseau.


' - nom utilisteur PC



System.Environment.UserName (que j'avais indiqué précédemment)


' - SSID nom r,seau wifi



Je ne sais pas.


' - Vitesse de d,bit



Toujours pour NetworkInterface je vois une propriété Speed.

Comme je ne vois pas comment avoir la durée à partir du statut j'ai
farfouillé un peu et avec WMI on peut récuperer TimeOfLastReset. WMI serait
une autre façon de récupérer des infos de la carte réseau. Par exemple :

' WMI
Dim searcher As New Management.ManagementObjectSearcher("SELECT *
FROM win32_NetWorkAdapter")
For Each o As Management.ManagementObject In searcher.Get
For Each p As Management.PropertyData In o.Properties
Debug.WriteLine(p.Name & ", " & If(Not IsNothing(p.Value),
p.Value.ToString, "N/A"))
Next
Next

Et donc voir dans l'affichage TimeOfLastReset qui doit correspondre au
moment de la connexion.

Resterait donc le SSID toujours avec WMI et un SELECT * FROM
MSNdis_80211_ServiceSetIdentifier (je n'ai pas de réseau Wifi sur le PC que
j'utilise actuellement).

Plus généralement j'ai trouvé aussi :
http://www.codeplex.com/managedwifi
qui doit fournir un accès facile à l'AOPI native wifi de Windows.

Bon courage.

--
Patrice