cs_antoine76
Messages postés30Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention20 juillet 2005
-
21 juin 2005 à 14:03
cs_antoine76
Messages postés30Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention20 juillet 2005
-
22 juin 2005 à 10:41
Salut a tous,
voila, j ai un petit problème. J ai une liste ou je recupere tous les services windows actifs sur ma machine et je voudrais lire dans cette liste et tester si tel ou tel service est actif. J'ai fait un morceau de code mais ca marche pas.
Do While (n True Or i Me!List1.ListCount - 1)
For i = 0 To (Me!List1.ListCount - 1)
If List1.List(i) = "Serveur" Then
n = True
Else: n = False
End If
Next
Loop
If n = True Then
Affichage.Text = Affichage.Text & vbCrLf & "service actif"
Else
Affichage.Text = Affichage.Text & vbCrLf & "service desactivé"
End If
Ca marche pas et je comprends pas pourquoi, n prend tjs la valeur false alors que le service est démarre ( et donc ds la listbox), voila si quelqun pouvait m'aider...
cs_lim
Messages postés329Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention10 mai 20147 21 juin 2005 à 14:15
si tu veux tester un service particulier "Serveur", si il a plusieurs serveur ma solution ne marche pas.
Do While (n False Or i Me!List1.ListCount - 1)
For i = 0 To (Me!List1.ListCount - 1)
If List1.List(i) = "Serveur" Then
n = True
'Sort de ta boucle for et par la même occasion du while
exit for
Else: n = False
End If
Next
Loop
L'intérieur de ta boucle For (en orange) s'effectue sur tout les
éléments de ta liste. A la sortie du For, n vaut True ou False, en
fonction du résultat du check de la dernière valeur de ta liste. (n est écrasé à chaque itération).
Si ce dernier élément est de type Serveur, n vaudra TOUJOURS True à la sortie de la boucle For.
Et donc, tu ne sors jamais de ton While.
De même, à la sortie de la boucle For, i vaut forcément Me!List1.ListCount.
Donc ta condition Do While ( i = Me!List1.ListCount - 1) est
toujours fausse après le premier pasage dans la boucle Do While.
Tu t'es emmelé les pinceaux avec les deux structures de bouclage.
Manu -------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
cs_antoine76
Messages postés30Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention20 juillet 2005 21 juin 2005 à 14:37
Merci pour vos reponses, j ai teste ta solution LIM, ca marche nickel quand le service est actif mais par contre si le service n est pas present dans la listbox, ca plante, je suis en train d essayer de gerer le bug
cs_antoine76
Messages postés30Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention20 juillet 2005 21 juin 2005 à 16:51
Do While (n = False Or i = (Me!List1.ListCount - 1))
For i = 0 To (Me!List1.ListCount - 1)
If List1.List(i) = "Serveur" Then
n = True
Exit For
Else: n = False
End If
Next
Loop
j'ai mis ca, quand n est a false, cela me fait une boucle infinie et franchement je capte vraiment pas pourquoi
Vous n’avez pas trouvé la réponse que vous recherchez ?