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 :

faire un set(handle) avec une fonction externe


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 129
    Par défaut faire un set(handle) avec une fonction externe
    Je suis conscient que le problème doit revenir assez souvent, mais je n'ai pas réussi à trouver de résolution simple, donc voila:

    Je suis dans un guide avec plusieurs slider, text box etc. et j'aimerais pouvoir modifier leur handles d'une fonction "externe" qui n'appartient à aucun des sliders.
    par ex, imaginons:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function pushbutton1_Callback(hObject, eventdata, handles)
    Essai;
     
    function slider1_Callback(hObject, eventdata, handles)
     
    function Essai (hObject,eventdata,handles) 
    % la je ne suis pas sur de moi, j'ai remi hobject eventdata et handles pour
    %le principe en me disant que c'etait peut etre la presence de "handles" 
    %dans les paramètres qui changeait quelque chose.
    set(handle.slider1,'Value',1);
    voila, mais quand je fais ce genre de programme, j'obtient un message d'erreur du type:
    Input argument "handles" is undefined
    Donc, en gros, je cherche à pouvoir gérer les handles d'une autre fonction.
    Merci d'avance.

    [edit:] j'ai deja regardé le tuto Input argument ici , mais je ne comprends pas comment modifier les paramètres intrinsèques d'un slider ou d'un texte.

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

    Dans un premier temps, tu déclares ta fonction Essai avec 3 arguments d'entrée, mais l'appeles simplement par Essai;.
    Dans un second temps:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Essai (hObject,eventdata,handles) 
    
    set(handles.slider1,'Value',1);
    Que veux-tu faire exactement avec cette fonction?

    [EDIT] Pour modifier les propriétés des objets, c'est comme tu l'as fait avec la fonction set

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 129
    Par défaut
    comme expliqué dans le commentaire, les trois entrées étaient un essai ( je ne comprends pas trop comment le gui gère les handles etc.) et le handle au lieu de handles est une faute de frappe.
    mais le problème reste le même

  4. #4
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 129
    Par défaut
    pardon, j'ai répondu trop rapidement
    alors dans l'exemple, admettons que ma fonction Essai n'ait pas d'entrée
    je veux juste modifier la valeur affichée par un slider ou un textbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function Essai
    set(handles.slider1,'Value',1);
    ne marchera pas car les handles ne sont pas reconnus dans cette fonction

  5. #5
    Invité
    Invité(e)
    Par défaut
    Comme dit dans mon message précédent si tu ne fais pas l'appel en faisant passer des arguments d'entrée, tu auras bien évidemment des "undefined".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function pushbutton1_Callback(hObject, eventdata, handles)
    Essai(handles);
    
    function Essai(handles)
    
    set(handles.slider1,'Value',1);
    Le fonctionnement avec GUIDE est le même (ou presque) que ce que tu as vu dans le tutoriel avec GUIDATA/GUIHANDLES, sauf que handles est fait passé dans les fonctions automatiquement et la ligne handles = guidata(gcbf) est alors inutile.
    Attention la dernière guidata(gcbf,handles) reste indispensable si tu effectues des modifications sur la stucture handles dans la fonction.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 129
    Par défaut
    ouuuuuuuuuuuuh ça marche!!
    j'y avais pensé, mais je pensais que le fait de mettre handles en entrée ne marchait que pour la fonction appellante, et que si je voulais modifier plusieurs slider ça ne marcherait pas!
    bah merci beaucoup

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  2. Réponses: 9
    Dernier message: 08/07/2009, 17h10
  3. Comment appeler une fonction externe avec XPath
    Par ttttnht dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 19/06/2009, 13h54
  4. erreur de linkage avec une fonction extern
    Par ali.ensi dans le forum C
    Réponses: 5
    Dernier message: 12/03/2008, 23h23
  5. Réponses: 3
    Dernier message: 03/02/2007, 00h12

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