IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

instruction non effectuée dans une boucle [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut instruction non effectuée dans une boucle
    Bonjour,
    j'ai un soucis avec le "Label2.Text = ip" qui doit s'afficher à chaque boucle
    hors le seul moyen que j'ai trouvé pour le faire c'est de rajouter cette "msgbox"
    quand la msgbox est commentaire ca ne marche pas
    quand la msgbox est active ca marche dans la msgbox et dans le label2 !
    j'y comprends rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            Dim ip As String
            Dim numero As String
            Dim host As String
            host = Nothing
            
            For compteur As Integer = 1 To 30
                numero = compteur
                ip = "192.168.0." + numero
                Label2.Text = ip
                'MsgBox(ip)
    
                If My.Computer.Network.Ping(ip) Then
                    host = host & vbNewLine & ip
                End If
    
            Next
    merci de votre aide

  2. #2
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Qu'entends-tu exactement par "ça ne marche pas" ? Si le résultat de ta boucle est l'affichage de 192.168.0.30 dans le Label2, c'est normal, c'est ce que tu as codé...
    "C'est tellement merdique que toute modification est une amélioration !"

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    le but c'est de savoir à quelle ip j'en suis (affiché par mon label2.text)
    (celle qui est en train d'etre pingée)

    ca me l'affiche bien dans le label (et dans la messagebox) QUE quand la ligne msgbox est présente (pas en commentaire)
    sinon ca ne m'affiche rien tant que la boucle n'est pas finie

    MERCI

  4. #4
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Ok, dans ce cas, ça doit être un problème de rafraichissement de la fenêtre : http://www.developpez.net/forums/d10...nform-refresh/
    "C'est tellement merdique que toute modification est une amélioration !"

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    ok
    merci beaucoup

    je vais regarder ca mais c'est pas (encore) de mon niveau je pense

    MERCI

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour
    vous pouvez aussi rafraichir le Label comme il est écrit dans la réponse 5.1
    Ne pas oublier Label1.Refresh qui force l'affichage pour chaque tour de la boucle. Sans cela l'affichage serait mis à jour uniquement en fin de procédure.
    vous pouvez aussi temporiser le Thread en cours soit le Thread principal de l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            For compteur As Integer = 1 To 60
                numero = compteur.ToString
                ip = "192.168.0." + numero
                Label2.Text = ip
                If My.Computer.Network.Ping(ip) Then
                    host = host & vbNewLine & ip
                End If
     
                Threading.Thread.Sleep(200)
                Label2.Refresh()
            Next
    L'inconvénient est que l'on bloque l'application.
    Pour l'éviter, il faudra -comme le dit plume13- déléguer le traitement à un Thread secondaire.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    merci chrismonoye

    le Label.Refresh() est effectivement ce dont j'avais besoin

    le Threading.Thread.Sleep(ms) me rends bien service à un autre endroit, je n'osez pas l'utiliser mais mon code est tellement hazardeux que ça n'est pas encore ma priorité


    Thread.Sleep is a sign of a poorly designed program

    merci merci merci !

  8. #8
    Membre expérimenté Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Points : 1 461
    Points
    1 461
    Par défaut
    Du coup j'ai une petite question toute conne à poser qui vient de me traverser l'esprit : c'est parce que c'est dans une statusStrip que mon label se refresh automatiquement ?
    Expert en recherche google caféinomane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variable non reconnue dans une boucle
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/11/2011, 10h33
  2. Réponses: 10
    Dernier message: 17/03/2011, 16h00
  3. Réponses: 6
    Dernier message: 26/01/2011, 10h38
  4. Exécution d'une instruction à chaque passage dans une boucle
    Par monichou86 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/11/2009, 20h47
  5. [débutant] Actions dans une boucle non effectuées
    Par Diegoooowwww dans le forum Caml
    Réponses: 10
    Dernier message: 31/12/2008, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo