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 :

paramètrer le nom du modèle dans toutes les fonctions [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Par défaut paramètrer le nom du modèle dans toutes les fonctions
    bonjour,

    dans mon interface, l'utilisateur va choisir un modèle dans un répertoire. Ensuite toutes les fonctionnalités seront faites à partir de ce modèle choisi.

    Pour sélectionner son modèle, j'ai fait ce code qui marche très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function Directory_Model_Callback(hObject, eventdata, handles)
    [FileName,PathName] = uigetfile('*.mdl','Select Configuration directory');
    if(FileName ~= 0)
        set(handles.pushbutton11,'string',FileName);
    end
     
    %Name of model
    [pathstr, name, ext, versn] = fileparts(FileName)
    set(handles.text33,'string',name);
    Donc pour récupérer le nom du modèle dans mes autres fonctions, je dois indiquer filename? name? sachant que j'ai testé les 2 et rien!
    j'ai cette 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
    16
    17
    ??? Undefined function or variable 'filename'.
     
    Error in ==> maquette_bak>Stop_Simul_Button_Callback at
    199
    set_param(filename,'simulationcommand','stop')
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> maquette_bak at 42
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==>
    @(hObject,eventdata)maquette_bak('Stop_Simul_Button_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback
    je ne vois pas comment je peux faire autrement... j'ai essayé avec des ' ', sans ' ' mais rien...

  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,

    Je pense que tu devrais récupérer le nom de ton modèle dans ton edit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mon_modele = get(handles.text33,'string');
    Duf

  3. #3
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    salut
    voir les tutoriels sur la programmation d'interfaces graphiques.
    Les variables en Matlab n'ont de portée que dans la fonction dans laquelle elles sont déclarées.
    Sinon
    Citation Envoyé par nawal59
    j'ai fait ce code qui marche très bien
    as-tu testé l'option annulation de la fenêtre de choix du fichier ?

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Par défaut
    oui je viens de tester, ça ne met aucun chemin si j'annule.


    comment je peux dire que "mon_modele" sera juste le nom du modèle si je mets ce code dans le edit?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_modele = get(handles.text33,'string');

    grrrrrrrr (j'en suis à ma 2ème semaine de matlab de ma vie, veuillez m'excuser si j'ai l'impression de rien comprendre des fois )

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Par défaut
    Je pense que ça ne marche pas car il récupère uniquement le nom du modèle et donc il va le chercher dans le répertoire courant, ce qu'il faudrait c'est que je puisse préciser le chemin du modèle dans le set ou get...

    si je mets le chemin entier, j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Invalid Simulink object name: d:\Documents and
    Settings\nm\Mes documents\MATLAB\modeltest1.mdl.

  6. #6
    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
    Oula, j'ai l'impression qu'il y a plusieurs problèmes imbriqués dans ta question...

    Pourrais-tu nous décrire clairement ce que tu veux faire?

    Voilà ce que j'ai compris d'après tes explications:
    1°) L'utilisateur choisi un modèle dont tu affiches le nom dans une edit box
    2°) Lorsqu'il clique sur un bouton, tu récupères le nom du modèle et pour lequel tu veux changer des paramètres.

    Est-ce que j'ai bien compris ton problème (ou pas )?

    Quelques idées en vrac pour l'instant:
    • Tu peux stocker le chemin complet de ton modèle dans la propriété UserData de ton edit
    • Il faut que ton modèle soit chargé (ou ouvert) pour utiliser SET_PARAM, pour cela tu peux utiliser OPEN_SYSTEM ou LOAD_SYSTEM (sans oublier SAVE_SYSTEM et CLOSE_SYSTEM à la fin)


    Duf

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Par défaut
    oui tu as bien compris, il choisit un modèle pour lequel il va lancer une simulation, l'arrêter, changer les paramètres etc...
    Tous les boutons doivent fonctionner pour n'importe quel modèle.

    Lorsque je choisis le modèle, il n'est pas automatiquement ouvert ou chargé??

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

Discussions similaires

  1. [Try][Exception] dans toutes les fonctions
    Par Teo dans le forum Langage
    Réponses: 15
    Dernier message: 10/01/2011, 16h47
  2. [AC-2007] Creation de table avec calculs de ratio : "#Nom?" dans toutes les cellules
    Par jbulysse dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/09/2009, 09h48
  3. bizarerie dans toutes les requetes
    Par zais_ethael dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 09/03/2006, 21h28
  4. Comment MAJ le même champ présent dans toutes les tables ?
    Par PamelaGeek dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/02/2006, 14h06
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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