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

MATLAB Discussion :

Récupérer l'info contenue dans les check box


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Points : 50
    Points
    50
    Par défaut Récupérer l'info contenue dans les check box
    Bonjour,

    J'essaye faire un programme qui éxécute un certain nombre de commandes en fonction des infos réccupérées dans l'interface utilisateur. Cependant la syntaxe suivante ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function checkbox1_Callback(hObject, eventdata, handles)
    guidata(hObject,handles);
     
    function pressButton_Callback(hObject, eventdata, handles)
    get(hObject.checkbox1,'Max');
    J'ai un message comme suit :
    ??? Attempt to reference field of non-structure array.

    Error in ==> Compex>pressButton_Callback at 228
    get(hObject.checkbox1,'Max')

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> Compex at 15
    gui_mainfcn(gui_State, varargin{:});

    Error in ==>
    @(hObject,eventdata)Compex('pressButton_Callback',hObject,eventdata,guidata(hObject))


    ??? Error while evaluating uicontrol Callback
    Ca marche pourtant bien avec les text box

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Je pense que t'as du faire un copier-coller malheureux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function pressButton_Callback(hObject, eventdata, handles)
    get(handles.checkbox1,'Max');

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Points : 50
    Points
    50
    Par défaut
    Ah oui ca marche !

    Mais en fait je me suis basé sur la doc de MatLab qui propose :

    function checkbox1_Callback(hObject, eventdata, handles)
    if (get(hObject,'Value') == get(hObject,'Max'))
    % Checkbox is checked-take approriate action
    else
    % Checkbox is not checked-take approriate action
    end
    j'avais repris cette syntaxe là....

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Citation Envoyé par TopCao Voir le message
    j'avais repris cette syntaxe là....
    Pas tout à fait puisque tu as considéré hObject comme une structure ce qui n'est jamais le cas.

    En fait, hObject correspond au handles de l'objet associé au Callback et handles correspond à la structure regroupant tous les handles de la figure.
    En résumé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function toto_Callback(hObject,evendata,handles)
    % hObject = handles.toto;
    Pour éviter les problèmes, il vaut mieux utiliser la structure handles, comme ca on voit directement avec quel objet on travaille...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Points : 50
    Points
    50
    Par défaut
    Merci pour le conseil, je vais adopter cette rigueur !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 163
    Points : 50
    Points
    50
    Par défaut
    Ca s'éxécute parfaitement, en revanche, au moment du clic dans la check box, il y a un message d'erreur qui s'affichant dans la fenêtre principale de matLab :
    ??? Error using ==> feval
    Undefined function or method 'dicomReadFunction_Callback' for input
    arguments of type 'struct'.

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> Compex at 15
    gui_mainfcn(gui_State, varargin{:});

    Error in ==>
    @(hObject,eventdata)Compex('dicomReadFunction_Callback',hObject,eventdata,guidata(hObject))
    Ca n'a pas vraiment d'importance, mais si tu sais comment l'éviter...

  7. #7
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Quel est le contenu du callback :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dicomReadFunction_Callback

Discussions similaires

  1. Réponses: 21
    Dernier message: 22/07/2009, 14h19
  2. Récuperer les info contenu dans les tags mp3
    Par Salsaboy60 dans le forum IHM
    Réponses: 2
    Dernier message: 07/04/2009, 01h58
  3. Réponses: 4
    Dernier message: 27/01/2009, 18h14
  4. récupérer une info contenue dans une fenetre modale
    Par glouffy6 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/12/2008, 23h51
  5. cocher tout les check box
    Par Flob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/02/2005, 10h29

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