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 :

changer le nom d'une variable à chaque itération [Débutant]


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 34
    Points : 29
    Points
    29
    Par défaut changer le nom d'une variable à chaque itération
    Bonjour,

    Il y a dans ma fenêtre un grand nombre d'objets tous nommés tbox#, # étant un numéro.
    je voudrais pouvoir gérer leur apparition ou non à l'écran en fonction d'un paramètre, en procédant de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i =1:str2double(get(handles.number,'String'))
           h = 'handles.tbox'+ num2str(i);
           %if i = 2, h = handles.tbox2
           set(h,'visible','on');
    end
    pour éviter une saisie manuelle pour chaque textbox qui prendrait un temps fou.
    Ce code est bien évidemment faux, mais il exprime assez bien l'idée.
    2 questions donc:
    - Ma manipulation est-elle possible?
    - Si oui comment, quelles fonctions utiliser?
    Toute aide est la bienvenue

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    J'ai trouvé tout seul comme un grand!



    http://matlab.developpez.com/faq/?pa...ion_string_num

    EDIT: J'ai réussi à faire h = 'handles.tbox1' avec sprintf, mais j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ??? Reference to non-existent field 'h'.
     
    Error in ==> discs2>stiffness_Callback at 2226
           set(h,'visible','on');
    Je me doute qu'au lieu d'avoir set(handles.textbox1,'visible','on') j'ai plutôt du set('handles.textbox1','visible','on') ce qui fait planter mon programme. Comment puis-je pallier ce problème?

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

    Il te faut pour cela utiliser les champs dynamique de structure, où seule la partie tboxi est une chaine de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tag = sprintf('tbox%d', i);
    set(handles.(tag),'visible','on');
    Un autre façon de récupérer tous ces handles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    h = findobj(gcbf, '-regexp', 'Tag', 'tbox*')

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Un grand merci, ça marche nickel

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

Discussions similaires

  1. Nom du slot pour changer la valeur d'une variable
    Par UnConfiantEtudiant dans le forum Débuter
    Réponses: 9
    Dernier message: 12/09/2014, 22h58
  2. [Débutant] [C#] Changer le nom d'une combobox grace à une variable?
    Par Doomer dans le forum Windows Forms
    Réponses: 5
    Dernier message: 11/06/2012, 17h51
  3. Changer le nom d'une variable (comme typedef en C/C++)
    Par mr_samurai dans le forum MATLAB
    Réponses: 5
    Dernier message: 02/04/2008, 23h56
  4. [Tableaux] changer le nom d'une variable
    Par drakenzara dans le forum Langage
    Réponses: 5
    Dernier message: 11/02/2007, 11h12
  5. changer le nom d'une variable
    Par chet dans le forum Général Python
    Réponses: 1
    Dernier message: 11/08/2006, 11h12

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