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 6 et antérieur Discussion :

[VB6] Faire une boucle infinie


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Lucas42
    Inscrit en
    Janvier 2006
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 301
    Par défaut [VB6] Faire une boucle infinie
    Bonjour , je vous expose mon probléme :
    J'aimerai créer une boucle me permettant de mettre à jour l'état d'une lampe .

    j'ai créé un : je dispose de 2 checkbox :
    j'ai affecter à la premiére :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Check1 = checked then
              nbr = 2
    la deuxiéme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Check2 = checked then
              nbr = 3
    ainsi qu'un label affichant : "lampe alumée" si le nbr est 2
    "lampe eteinte" si le nbr est 3

    Mon soucis c'est que ma demande , checkbox cocher ou pas , n'ai jamais pris en compte , donc j'ai essayer avec une boucle do / while mais je n'y arrive pas .
    Si il y a un moyen plus facile , merci de m'aider

    merci d'avance
    amicalement lucas

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Comme on ne voit pas où tu as mis ce code, on s'interroge en vain !
    1) ton code de la sous-routine, stp
    2) nbr est public ?
    3) tes chexboxes sont indépendantes ou groupées ???

  3. #3
    Membre Expert
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Par défaut
    juste une idee (car ton probleme n'est pas clair du tout) et si tu utilisais le controle "timer" pour gerer tout ca ?? je croit que c'est cette repetition qui doit poser ce pb ??

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Laissons-le répondre, si vous le voulez bien !
    Je devine autre chose que ce qu'il dit : Exercice de va-et-vient !
    Si c'est celà (et je pense que oui), c'est un peu plus compliqué que ce qu'il fait !
    Mais laissons-le s'expliquer, s'il vous plait !

  5. #5
    Membre éclairé Avatar de Lucas42
    Inscrit en
    Janvier 2006
    Messages
    301
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 301
    Par défaut Explications
    En fait je cré un controle activex , sur cet activex se trouve 2 images , l'une represente une lampe allumée , l'autre une lampe eteinte .
    une fois l'activex terminé , je l'importe sous InTouch ( c'est un logiciel de supervision ) , et l'ordinateur est relié à un automate .
    L'automate renvoie une variable NBR , qui correspond à : LAMPE ALLUMEE si NBR = 1 , LAMPE ETEINTE si NBR = 0 . Donc j'aimerai que lorsque la lampe s'eteigne , l'image presente sur l'activex , soit LAMPE ETEINTE , et vis versa quand la lampe est allumée .
    Je n'est incorporé AUCUN boutton .
    L'automate n'est toujours pas arrivé donc j'ai utiliser 2 checkbox pour simuler l'automate :
    - le premier checkbox met NBR à 1
    - le deuxiéme checkbox met NBR à 0
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Dim NBR As Integer
    Private Sub Check1_Click() ' CheckedBox pour simuler
    If Check1 = Checked Then   ' que la lampe est allumée
    NBR = 1
    End If
    End Sub
    Private Sub Check2_Click() ' checkbox pour simuler
    If Check2 = Checked Then   ' que la lampe est eteinte
    NBR = 0
    End If
    End Sub
    Aprés mon soucis c'est que je ne sais pas ou mettre ce bou de code , j'ai essayé bcp de chose mais en vain .....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If NBR = 1 Then
    Pitcure2.Visible = False   ' image de la lampe eteinte
    Picture1.Visible = True    ' imade de la lampe allumée
    If NBR = 0 Then
    Pitcure1.Visible = False   ' image de la lampe allumée
    Picture2.Visible = True    ' imade de la lampe eteinte
    End If
    End If
    Voila , donc si vous voyez comment faire , je vous ecouterai avec plaisir ^^
    merci d'avance
    amicalement lucas

    je rajoute une petit programme qui pourant devrait marcher , et en fait ...... NON :s

    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
    18
    19
    20
    Option Explicit
    Dim NBR As Integer
    Private Sub Check1_Click() ' CheckedBox pour simuler
    If Check1 = Checked Then   ' que la lampe est allumée
    NBR = 1
    End If
    End Sub
    Private Sub Check2_Click() ' checkbox pour simuler
    If Check2 = Checked Then   ' que la lampe est eteinte
    NBR = 0
    End If
    End Sub
    Private Sub Label1_Click()
    If NBR = 1 Then
    Label1.Caption = "allumée"
    If NBR = 0 Then
    Label1.Caption = "eteint"
    End If
    End If
    End Sub

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Je vois dans ta démarche plusieurs points troublants !
    1) Les Checkboxes ne sont pas des boutons d'option ! tu peux très bien avoir Check1 et Check2 cochés en même temps (ce que tu ne pourrais pas faire avec des optionbuttons ) mais je ne vois rien dans ton code en ce qui concerne ce que tu veux faire si tes 2 checkboxes sont cochés !
    2) Si tu veux allumer et éteindre une lampe, un seul checkbox ferait l'affaire (ou, d'ailleurs, un seul optionbutton)
    3) je ne vois pas comment, dans ton "raisonnement fort incomplet", tu fais passer à la connaissance d'un événement l'état de ta variable NBR (pas globale)
    Alors et pour résumer :
    - ou il s'agit simplement d'allumer ou éteindre : un seul contrôle, y compris un bouton de commande, fait l'affaire, associé à une variable booléenne (si autre que cochable) et sans même une telle variable (si cochable)
    - ou on t'a imposé des checkboxes pour faire celà... et il s'agit alors, selon toute évidence, d'un exercice (au demeurant facile à résoudre) qu'il va bien falloir que TU fasses. Commences par écrire sur un papier (hors syntaxe) le mécanisme de ta pensée !

    EDIT : Ah ! je vois que tu as déjà apporté des modifications à ce que tu avais écrit !
    Je vais voir ! ATTENDS !

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Aprés mon soucis c'est que je ne sais pas ou mettre ce bou de code , j'ai essayé bcp de chose mais en vain .....
    tu crée une procédure ... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub MajLAmpe ()
     Pitcure2.Visible = (NBR = 0)  ' image de la lampe eteinte
     Picture1.Visible = (NBR = 1 )    ' imade de la lampe allumée
    End sub
    et tu l'appelle sur chaque clic sur boutons ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Check1_Click() ' CheckedBox pour simuler
    If Check1 = Checked Then   ' que la lampe est allumée
    NBR = 1
    End If
    MajLampe
    End Sub
    et à l'activation de ta Form ...


    Par contre ... si c'est juste pour une simulation pourquoi ne te contente tu pas de seulement un seul checkbox, état lampe...

    Autre question : tu dis attendre l'automate... , mais dans l'application finale l'acquisition des données en provenance de l'automate sera effectué comment ? directement par l'active X ? ou par Intouch..?

  8. #8
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Citation Envoyé par Lucas42
    j'ai affecter à la premiére :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Check1 = checked then
              nbr = 2
    la deuxiéme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Check2 = checked then
              nbr = 3
    à vue de nez (je ne sait pas ce que tu veut faire mais ceci me paraitrais plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Check1_Click()
    if check1.value=1 then label.caption="lampe alumée"
    End Sub
     
    Private Sub Check2_Click()
    if check2.value=1 then label.caption="lampe éteinte"
    End Sub

    enfin, c'est ce qui me parais le plus logique.

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

Discussions similaires

  1. Une boucle pour faire une repetition infini
    Par saibri dans le forum jQuery
    Réponses: 1
    Dernier message: 11/11/2011, 12h24
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. Faire tourner un processus dans une boucle infinie
    Par mario002e dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 19/02/2010, 15h30
  4. Faire une boucle d'attente infinie
    Par ego dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 13/11/2006, 23h14
  5. Comment faire une boucle ???
    Par HookerSeven dans le forum Access
    Réponses: 6
    Dernier message: 17/06/2005, 12h58

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