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 :

Utilisation de variables globales


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut Utilisation de variables globales
    SVP, j'ai essayé de declarer une variable globale dans le GUI, mais j'ai pas pu, ce que je voudrais faire, c'est:par exepmle:

    j'ai Deux pop-up menu:

    1- pour choisir le signal,
    2- selon le choix du signal (pop-up menu 1) , choisir le traitement adéquoit grace au pop-up menu 2,

    pb: a chaque fois il me dit que la variable n'est pas défénie, malgré que je lai déclaré comme etant un variable glaobale

    Merci a tous

  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
    Bonjour,

    1/ il faudrait être plus précis :
    Quand définis-tu ta variable globale ? comment ? où l'instancies-tu ?
    Le plus simple serait de nous mettre un bout de ton code...

    2/ Les variables globales, c'est pas génial ...On est vite perdus (comme tu l'es).
    Il existe plein d'autres solutions pour faire passer des variables d'un workspace à l'autre :
    set/getappdata
    Utilisation de la propriété UserData des objets de la figure

    Mais normalement tu ne devrais pas en avoir besoin puisque tu es toujours dans la même figure. Mais pour t'expliquer plus il faudrait le code...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 71
    Par défaut
    Ta variable globale tu la définies ou ? Dans le script de ton interface?
    Et c'est quoi exactement le problème? Il ne te la reconnait pas dans ton workspace ?
    Si c'est le cas utilise la commande assignin...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    assignin('base','Nom_Variable','Nom_Variable);

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut
    voila le pb:
    j'ai deux pop-up menu ,
    1- me permet de choisir 1 signal parmi trois, ok
    2- me permet de d'appliquer un traitement choix, pour le signal que j'ai auparavant selectionner dans le pop-up menu de 1 :

    Exemple:
    Pop-up menu 1:
    Sin
    Chirp
    SinFM
    qd je clique sur un choix, le graphe s'affiche ( pas de pb)

    Pop-up menu 2:
    Wigner-ville
    Page
    Spectro
    maintenant il faut que j'applique une des ces applications au signal voulu ( là y'a le pb)

    j'ai essaye de déclarer dans Open (GUI) sig variable globale, mais qd je veux executer le pop-up menu2 , il m'affiche , '' function non défie,,,

    Merci

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    peur de dire des bêtises, mais il me semble qu'il y a deux solutions à ce problème (moi perso, j'en utilise une à la pelle, mais je suis pas certain de le faire bien )

    -> solution que j'utilise personnellement

    tu joues avec les appdata (cf help sur setappdata, getappdata et rmappdata). L'idée est de créer un jeu de données propres à ton application de ce genre:

    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
    
    dans ton popup1:
    setappdata(0,'hGui', gcf);           %définit un jeu de données
    hGui = getappdata(0,'hGui');        % handle du jeu de données
    Sig1 = sinus;                            % signal 1
    setappdata(hGui,'Sinus',Sig1);     % ajout du signal 1 au jeu de données
    Sig2 = chirp;                            % signal 2
    setappdata(hGui,'Chirp',Sig2);     % ajout du signal 2 au jeu de données
    reste des initialisations
    
    dans ton popup2
    hGui = getappdata(0,'hGui')         % handle du jeu de données
    Sig1 = getappdata(hGui,'Sinus');   % récupère le signal 1 dans les données
    Sig2 = getappdata(hGui,'Chirp');   % récupère le signal 2 dans les données
    traitement
    -> la deuxième solution, dont je suis moins sur et que je te conseille de tester quand même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dans ton popup1
    handles.sinus = sinus;
    handles.chirp = chirp;
    reste des initialisations
    
    dans ton popup 2
    sinus = handles.sinus;
    chirp = handles.chirp;
    à confirmer

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut
    Merci c'est très gentil de ta part,
    pour la 2ème solution il faut juste ajouter ce que tu as écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    guidata(hObject,handles)
    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/05/2006, 12h39
  2. Utilisation de variables globales en MFC
    Par beb30 dans le forum MFC
    Réponses: 6
    Dernier message: 15/05/2006, 23h57
  3. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  4. Réponses: 6
    Dernier message: 07/04/2006, 01h10
  5. utilisation des variables global dans tout le projet
    Par EYENGA Joël dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2006, 10h55

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