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 data callback


Sujet :

Interfaces Graphiques

  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Par défaut récupération data callback
    Bonjour,

    Je crée des interfaces matlab à la main.
    Je travaille actuellement sur une interface classique dont un des bouton appelle une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
    % Création de l'objet pushbutton
    handles(i)=uicontrol('style','pushbutton',...
        'units','normalized',...
        'position',[0.2 0.4 0.6 0.1],...
        'callback',{@chargement, handles, i},...
        'string','Charger les cycles');
    i=i+1;
    ...
    La fonction chargement permet le stockage de 2 tableaux dans les variables X et n_var.

    Mon problème est que je n'arrive pas à récupérer ces variables en dehors de la fonction
    (j'aimerais définir ces variables comme sorties de la fonction de mon interface pour les récupérer à partir d'une autre interface ... sans les afficher ou les ré-utiliser dans l'interface elle même).

    Pour récupérer ces tableaux, j'ai suivi le tuto 'Développement efficace des interfaces graphiques' mais j'ai du rater quelque chose...

    Dans le code de l'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    % declaration des var à recup
    data.X=0;
    data.n_var=0;
    setappdata(gcf,'cube',data);
    Dans le code de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    data = getappdata(gcbf,'cube');
    data.X = X;
    data.n_var=n_var;
    setappdata(gcbf,'cube',data);
    Merci d'avance
    Mary

  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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Ton problème vient du fait que tu utilises GCBF dans tes SET/GETAPPDATA, celà signifie que tu utilises le workspace de la figure courante pour sauvegarder (charger) les données, si tu fait ces 2 commandes dans 2 fenêtres différentes çà ne fonctionnera donc pas.

    Pour faire communiquer tes 2 fenêtres, tu as deux solutions:
    - Passer le handles de ta fenêtre "parent" à ta fenêtre "enfant" et à la fermeture de cette fenêtre stocker les données dans le workspace de la fenêtre "parent".
    - Tout stocker dans le workspace 0, c'est la solution la plus facile mais je trouves cà un peu moins propre...

    Bonne journée,
    Duf

Discussions similaires

  1. [MySQL] récupération data base64binary
    Par ciolvic dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 15/11/2012, 10h57
  2. Problème Set/Get Data Callback
    Par TheDwarf01 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 01/02/2012, 15h06
  3. [AJAX] récupération data xml depuis AJAX
    Par jpclutier dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/05/2008, 14h13
  4. Récupération de data SAP pour crystal XI
    Par Fleur-Anne.Blain dans le forum SAP
    Réponses: 11
    Dernier message: 04/05/2007, 13h12
  5. Réponses: 4
    Dernier message: 24/03/2007, 10h54

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