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 :

passage de valeur de champ d'un .m à un autre


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut passage de valeur de champ d'un .m à un autre
    bonjour à tous

    j'ai un petit problème, tout d'abord le contexte :

    j'ai un programme principal dans lequel je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    main=guihandles(gcf);
    main.tag1val=' ';
    main.tag2val=' ';
    main.tag3val=' ';
    main.tag4val=' ';
    main.tag5val=' ';
    main.tag6val=' ';
    main.tag7val=' ';
    guidata(gcf,main);
    afin d'avoir les attributs tag'bidule'val qui sont des chaines

    puis dans un autre .m appelé plus tard via une figure crée dans le principal je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    temp=findobj('type','figure','tag','figure1');
    deuz=guihandles(temp);
    set(deuz.tag1val,'string',sprintf('%0.3g',matricepalettechoix(nb,1)));
    pour fixer la nouvelle valeur de tag1val

    et j'obtiens la jolie petite erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ??? Reference to non-existent field 'tag1val'.
     
    Error in ==> paletteposit at 31
    set(deuz.tag1val,'string',sprintf('%0.3g',matricepalettechoix(nb,1)));
     
    ??? Error using ==> waitfor
    Error while evaluating uicontrol Callback
    donc ceci c'est quand le prog passe dans le code ou je veux affecter une valeur à tag1val

    et une autre 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
     
    ??? Error using ==> get
    Invalid handle.
     
    Error in ==> ui_interface1>btngo_Callback at 837
    strdatapalette=get(guipalettedata.tag1val,'string')
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> ui_interface1 at 47
        gui_mainfcn(gui_State, varargin{:});
     
    ??? Error using ==> waitfor
    Error while evaluating uicontrol Callback
    quand mon code passe dans le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    guipalettedata=guidata(gcbf);
    strdatapalette=get(guipalettedata.tag1val,'string')
    ayant débuté matlab y a pas longtemps j'ai beau chercher une solution je ne trouve pas, il me semble pourtant utiliser correctement les guihandles set get............ de toute évidence non ^^

    merci de votre aide

  2. #2
    Expert confirmé
    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
    Par défaut
    Moi aussi je m'embrouille avec guidata/guihandles...
    guihandles sert seulement à générer une structure par rapport aux tags que tu aurais mis sur tes objets.
    guidata sert à la fois à "setter" et "getter" (pas bô) la valeur.
    Donc :Sinon des main.tagkval franchement ça n'est pas super sexy...
    Tu pourrais peut-être faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = 1:7
       main.tag(i).val='';
    end

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    merci de ton aide caro ^^

    en effet c'est pas super beau comme code ^^ disons j'étais plutot occupé par faire marché autre chose que ça ^^

    je repasserais si j'ai d'autres problèmes j'vais essayer de repartir de ça et avancer un poil

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    je repasse juste pour dire que tout marche nikel avec guihandles/guidata et que j'ai eut envie de le faire avec get/ set appdata et que ça m'avait semblé baucoup plus "logique" d'utilisation ^^

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

Discussions similaires

  1. [AC-2003] sauvegarde d'une valeur de champ d'un formulaire à un autre
    Par sunshine44 dans le forum IHM
    Réponses: 4
    Dernier message: 09/03/2010, 10h14
  2. Réponses: 1
    Dernier message: 03/05/2007, 08h10
  3. Réponses: 2
    Dernier message: 23/07/2006, 22h11
  4. [C#] Passage de valeur d'une fenêtre à une autre
    Par groum999 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/09/2004, 14h12
  5. [servlet][tester la valeur des champs récupérés]
    Par maya5 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2004, 10h06

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