OVH Cloud OVH Cloud

Utilisation ArrayString

3 réponses
Avatar
Bernard59139
Bonjour

J'ai du mal à comprendre l'utilisation des ArrayString.
J'ai un objet WMI qui me retourne un élément défini sous forme d'ArrayString (Win32_NetworkAdapterConfiguration,
IPAddress).
Le seul truc que j'ai trouvé pour utiliser ce truc, c'est ce bout de code (via google):
MonArrayString = CType(info("DefaultIPGateway"), String())

Je pensais utiliser les trucs *basic* pour parcourir ce tableau de string, mais les fonctions LBound et Ubound donnent
cette erreur de syntaxe
Option Strict On disallows implicit conversions from 'Object' to 'System.Array'.


Le For/Each ne fonctionne pas, j'obtiens alors cette erreur:
Expression is of type 'Object', which is not a collection type.

Y a -t-il moyen de travailler directement avec ce genre de données? Un conseil ou un élément de comprehension serait
bienvenue.

D'avance, merci
Bernard





Le code complet:
Dim query As New SelectQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

Dim search As New ManagementObjectSearcher(query)

Dim info As ManagementObject

Dim MonArrayString() As String

Dim Chaine As String

txtOutput.Text = ""

For Each info In search.Get()

txtOutput.Text = txtOutput.Text & "Description: " & info("description").ToString() & vbCrLf

MonArrayString = CType(info("IPAddress"), String())

For Each Chaine In MonArrayString

txtOutput.Text = txtOutput.Text & ". IPAddress : " & Chaine & vbCrLf

Next



End If

Next

3 réponses

Avatar
Patrice
De quel est type est MonArrayString ?

Tout se passe comme si c'était de type "object" ou lieu d'être de type
"String()". Changer la déclaration...

"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news:
u9rQ2%
Bonjour

J'ai du mal à comprendre l'utilisation des ArrayString.
J'ai un objet WMI qui me retourne un élément défini sous forme
d'ArrayString (Win32_NetworkAdapterConfiguration, IPAddress).
Le seul truc que j'ai trouvé pour utiliser ce truc, c'est ce bout de code
(via google):
MonArrayString = CType(info("DefaultIPGateway"), String())

Je pensais utiliser les trucs *basic* pour parcourir ce tableau de string,
mais les fonctions LBound et Ubound donnent cette erreur de syntaxe
Option Strict On disallows implicit conversions from 'Object' to
'System.Array'.


Le For/Each ne fonctionne pas, j'obtiens alors cette erreur:
Expression is of type 'Object', which is not a collection type.

Y a -t-il moyen de travailler directement avec ce genre de données? Un
conseil ou un élément de comprehension serait bienvenue.

D'avance, merci
Bernard





Le code complet:
Dim query As New SelectQuery("Select * from
Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

Dim search As New ManagementObjectSearcher(query)

Dim info As ManagementObject

Dim MonArrayString() As String

Dim Chaine As String

txtOutput.Text = ""

For Each info In search.Get()

txtOutput.Text = txtOutput.Text & "Description: " &
info("description").ToString() & vbCrLf

MonArrayString = CType(info("IPAddress"), String())

For Each Chaine In MonArrayString

txtOutput.Text = txtOutput.Text & ". IPAddress : " & Chaine & vbCrLf

Next



End If

Next






Avatar
Bernard59139
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news: %
De quel est type est MonArrayString ?



Ce que je code: Dim MonArrayString() As String

bernard
Avatar
Patrice
Désolé pour la réponse tardive masi je me lance au cas où le problème ne
serait pas résolu.

Le message "Option Strict On disallows implicit conversions from 'Object' to
'System.Array'." indique pourtant que l'on essaie d'appliquer UBound/LBound
sur un objet plutôt que sur un tableau.

Le mieux serait de fournir un exemple de code avec juste le nombre minimum
de lignes permettant de reproduire le problème.

"Bernard59139" <bfermaut at free dot fr> a écrit dans le message de news:
%

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
De quel est type est MonArrayString ?



Ce que je code: Dim MonArrayString() As String

bernard