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 :

Récupération donnée dans le callback d'un bouton


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut Récupération donnée dans le callback d'un bouton
    Bonjour,

    Je débute en programmation Matlab.
    J'utilise Guide pour créer une fenêtre. Mais j'ai un premier problème avec les boutons que je créé.

    1er bouton : par un clic je sélectionne un fichier txt que je stock dans une matrice (ça c'est OK)
    2e bouton : j'aimerais réutiliser la valeur de cette matrice mais message d'erreur...

    Donc je vous écoute. C'est un problème de base mais sans ça dur d'avancer !

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Sans le code et sans le message d'erreur comment veux-tu que l'on puisse t'aider ?


    Enfin commence déjà par lire ceci cela devrait t'aider :
    Développement efficace des interfaces graphiques (GUI)

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    toutes mes excuses mais je suis débutant en terme de forum.

    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
    21
    22
    23
    24
    25
    % --- Executes on button press in charger.
    function charger_Callback(hObject, eventdata, handles)
    % hObject    handle to charger (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
     
    [fichier, chemin] = uigetfile('*.txt','Choisir le fichier à ouvrir :');
    if fichier == 0
       disp('Aucun fichier n''a été désigné !')
    else
     
    S = dlmread([chemin fichier]);
     
     
     
    % --- Executes on button press in interpoler.
    function interpoler_Callback(hObject, eventdata, handles)
    % hObject    handle to interpoler (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    X=S(:,1);
    Y=S(:,2);
    Z=S(:,3);
    et voici le message d'erreur :

    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
    ??? Undefined function or variable "S".
     
    Error in ==> home_guide>interpoler_Callback at 136
    X=S(:,1);
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> home_guide at 42
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==> guidemfile>@(hObject,eventdata)home_guide('interpoler_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback
    Pour informations le fichier *.txt que je charge est un fichier de coordonnées de points en mètre, au millimètre près (3 colonnes).

    Merci de votre précieuse aide !

  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
    Bonjour,

    Le problème vient du fait que tu n'as pas sauvegardé S, une façon de faire (expliquée dans le tutoriel dont Caro t'as donné le lien):
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    % --- Executes on button press in charger.
    function charger_Callback(hObject, eventdata, handles)
    % hObject    handle to charger (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
     
    [fichier, chemin] = uigetfile('*.txt','Choisir le fichier à ouvrir :');
    if fichier == 0
       disp('Aucun fichier n''a été désigné !')
    else
     
    S = dlmread([chemin fichier]);
     
    % Sauvegarde de la variable S dans le workspace 0 ("root")
    setappdata(0,'S',S);
     
    % --- Executes on button press in interpoler.
    function interpoler_Callback(hObject, eventdata, handles)
    % hObject    handle to interpoler (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Lecture de la variable S depuis le workspace 0 ("root")
    S = getappdata(0,'S');
     
    X=S(:,1);
    Y=S(:,2);
    Z=S(:,3);
    Bonne journée,
    Duf

    EDIT: Il est important de bien comprendre ce concept si tu veux t'éviter des ennuis par la suite

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup Duf42.
    Je savais que c'était simple mais bon...

Discussions similaires

  1. Récupération donnée dans une cellule
    Par macarons dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/08/2011, 14h26
  2. récupération données dans zone texte
    Par meldja dans le forum IHM
    Réponses: 5
    Dernier message: 15/03/2009, 14h37
  3. SQLite3 et types de données dans le callback
    Par SirDavik dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 25/12/2008, 19h23
  4. problème de handle dans le callback d'un bouton
    Par ZeFMG dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 04/11/2008, 11h48
  5. probleme récupération donnée dans script xsl
    Par jmacdev dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 12/05/2006, 17h37

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