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

Interfaces Graphiques Discussion :

Gestion des interruptions MATLAB


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Gestion des interruptions MATLAB
    Bonjour, je suis en train de programmer un jeu avec GUIDE sous Matlab. J'ai besoin de faire un test tout simple, je m'explique. J'ai deux boutons sur mon guide et une variable "position". Quand on clique sur le bouton 1, on incrémente la position tant que l'on a pas cliquer sur le bouton 2. Si on clique sur le bouton 2, on break cette boucle. Seulement, cela ne marche pas.Voici mon code :
    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
    % --- Executes on button press in bouton_1.
    function bouton_1_Callback(hObject, eventdata, handles)
    
    handles.bouton1 = 1;
    while handles.bouton2 ~= 1
        handles.position = handles.position + 1;
        disp(handles.position)
        if handles.bouton2 == 1;
            handles.bouton1 = 0;
            break
        end
    end
    guidata(hObject, handles);
    
    % --- Executes on button press in bouton_2.
    function bouton_2_Callback(hObject, eventdata, handles)
    
    handles.bouton2 = 1;
    guidata(hObject, handles);
    En fait, la boucle vient lire une fois la variable bouton2 et ne s'arrete jamais...

    Merci pour vos réponses!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Une meilleure solution je pense serai l'utilisation d'un timer que tu ferais commencer dans le callback du bouton1 et arrêter dans celui du bouton2

    Sinon, il te faut utiliser la fonction drawnow, et recharger ta structure handles dans la boucle while:
    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
    function bouton_1_Callback(hObject, eventdata,handles)
    handles.bouton1 = 1;
    position = handles.position;
    while handles.bouton2 ~= 1
        position = position + 1;
        disp(position)
        drawnow
        handles = guidata(gcbf);
    end
    handles.position  = position;
    handles.bouton1 = 0;
    guidata(hObject, handles);
     
    function bouton_2_Callback(hObject, eventdata,handles)
    handles.bouton2 = 1;
    guidata(gcbf, handles);

Discussions similaires

  1. gestion des interruptions en C
    Par pfeuh dans le forum Windows
    Réponses: 11
    Dernier message: 14/11/2007, 10h13
  2. gestion des interruptions
    Par jsebfranck dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2007, 09h15
  3. Gestion des interruptions du µProcesseur
    Par herve13 dans le forum Assembleur
    Réponses: 3
    Dernier message: 22/08/2005, 20h51
  4. Gestion des interruptions du microprocesseur sous XP
    Par herve13 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 20/08/2005, 18h29
  5. Réponses: 7
    Dernier message: 02/03/2005, 14h45

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