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 :

Afficher valeurs dans un "statictext"


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut Afficher valeurs dans un "statictext"
    Bonjour tout le monde,

    Je n'ai pas réussi à trouver l'équivalent de mon problème dans le forum...

    Mon problème est que je n'arrive pas à afficher une valeur dans un texte statique.

    Les valeurs que je désire afficher sont de type double, j'ai cherché une fonction qui fait la conversion double2str mais elle n'existe pas et je ne sais pas comment faire...

    Voici mon code :
    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
    18
    function pushbutton5_Callback(hObject, eventdata, handles)
     
    if (get(handles.pushbutton5,'Value') == get(hObject,'Max'))
     
        frequence1 frequence2 signal]=ma_fonction;
     
        for index_f1=1:3
            freq1=num2str(signal(frequence1(index_f1)));
            set(handles.edit4,'String',freq1);
            pause(2)
        end
     
        for index_f2=1:244
            freq2=num2str(signal(frequence2(index_f2)));
            set(handles.edit5,'String',freq2);
            pause(2)
        end
    end

  2. #2
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par lowee31 Voir le message

    Mon problème est que je n'arrive pas à afficher une valeur dans un texte statique.
    Dans le programme j'ai mis un "edit text" mais j'ai quand même l'erreur avec un "static text"...

  3. #3
    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 : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Pourrais-tu nous montrer l'erreur que tu obtiens?

    Citation Envoyé par lowee31
    j'ai cherché une fonction qui fait la conversion double2str
    Tu l'as utilisée avec NUM2STR. Sachant que pour l'affichage dans un Edit ou un Static il n'est normalement pas nécessaire de le faire.

    Duf

  4. #4
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par duf42 Voir le message
    Pourrais-tu nous montrer l'erreur que tu obtiens?
    Voila l'erreur générée ...

    ??? Error using ==> set
    Invalid handle object.
    
    Error in ==> GUI>pushbutton5_Callback at 409
            set(handles.edit4,'String',tona);
    
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
    
    Error in ==> GUI at 43
        gui_mainfcn(gui_State, varargin{:});
    
    Error in ==>
    @(hObject,eventdata)GUI('pushbutton5_Callback',hObject,eventdata,guidata(hObject))
    
     
    ??? Error while evaluating uicontrol Callback
    Je ne sais pas si j'ai été clair quand j'ai expliqué ce que je voulais faire donc je re-précise si ça peut t'aider !

    la fonction ma_fonction génère plusieurs indices, certains (ceux qui m'intéressent) sont stockés dans frequence1 tous les autres sont stockés dans frequence2, et ensuite je veux afficher la fréquence du signal signal en fonction des indices précédemment cités... J'aimerais les faire afficher toutes les 2 secondes (histoire de les voir défiler) dans un texte statique pour pas modifier les valeurs puisque je veux juste les afficher...

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

    N'as-tu pas une ligne du genre handles.edit4 = quelque chose quelque part?

    Remarque: sûrement un problème de recopiage, mais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [frequence1 frequence2 signal]=ma_fonction;

  6. #6
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Pour la remarque, c'est une erreur de copier-coller !

    Le problème ne vient pas de là, en ce qui concerne le
    handle.edit4 = qqchose
    j'ai pas non plus, c'est uniquement dans le code que je viens y toucher à la ligne 9 du code en début du post !

    Je ne comprend pas l'erreur !!

  7. #7
    Expert éminent sénior
    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
    Points : 14 828
    Points
    14 828
    Par défaut
    Ton problème n'est pas du tout où tu le penses.
    Le message d'erreur te dit clairement qu'il n'y a pas d'objet de handle handle.edit4.

    Je suppose que tu as créé ton GUI avec GUIDE ?
    N'aurais-tu pas modifié la propriété Tag de l'objet qui avait pour tag edit4 au départ ?


    En bref vérifie les propriétés de tes objets edit.

    C'est le problème de coder avec GUIDE sans vraiment maîtriser ce que l'on fait.

    Caro-Line membre de la ligue anti-guide

  8. #8
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Merci de l'astuce mais j'ai pas modifié les tag mais dans le doute j'ai supprimer le edit, j'ai mis un text, je n'ai pas modifié le tag de text et il me génère la même erreur

    ??? Error using ==> set
    Invalid handle object.
    
    Error in ==> GUI>pushbutton5_Callback at 410
            set(handles.text13,'String',tona);
    
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
    
    Error in ==> GUI at 43
        gui_mainfcn(gui_State, varargin{:});
    
    Error in ==>
    @(hObject,eventdata)GUI('pushbutton5_Callback',hObject,eventdata,guidata(hObject))

    Citation Envoyé par Caro-Line Voir le message
    C'est le problème de coder avec GUIDE sans vraiment maîtriser ce que l'on fait.
    Caro-Line membre de la ligue anti-guide
    Je suis tout à fait d'accord avec toi Caroline, j'ai pourtant lu les tuto pour programmer efficacement une interface graphique par Jérôme Briot sauf que je ne sais pas comment gérer les fonctions avec les setappdata et tout le tralala, j'ai pleins d'erreur et étant novice en programmation matlab, je pète un plombus quand j'ai plein d'erreurs, c'est pour ça que je code avec GUIDE ...


    Je peux toujours envoyer mon code à quelqu'un que ça intéresse pour qu'il m'explique concrètement l'erreur... à vous de voir la meilleure solution pour résoudre le problème...

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

    Petite question: que retournent get(handles.text13,'type') et disp(handles.text13) avant cette ligne?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    sans vouloir te décevoir, je n'arrive pas a retourner la valeur de
    get(handles.text13,'type')
    et par contre j'ai
    disp(handles.text13) = 408.0034
    Peux-tu m'expliquer cette valeur ? Pas compris

    ....



    REMARQUE : je viens de remarquer quelquechose de bizarre... Est-ce normal que quand je lance un programme à l'aide d'un "pushbutton", il ouvre une figure qui est dans le programme mais qu'il me ferme automatiquement l'interface?

    Je comprend pas comment il ferme l'interface alors que j'ai rien demandé, j'ai bien vérifié que dans le programme qu'il appelle il n'y est pas de
    clear all; close all; clc;
    mais rien à faire il le ferme quand même...

  11. #11
    Invité
    Invité(e)
    Par défaut
    disp(handles.text13) retourne juste le contenu de handles.text13.
    Pourrais-tu nous montrer ton code entier? Voire joindre le .m et .fig?

    [edit] Pour cette fermeture, à priori non ce n'est pas normal... peut-être un uiwait manquant?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut MAJ du GUI et GUIv2
    Voila je t'ai mis tous les fichiers utile, par contre, il faudra m'excuser mais tu risque de trouver mon code dégueulasse (si je peux me permettre), je vais essayer de le remettre en forme ce weekend si jamais tu préfères...

    C'est le fichier GUI.m, le fichier GUI_v2.m c'est celui que j'ai essayé de faire sans le GUIDE mais il n'est pas à jour (la dernière version est sur mon pc perso) je l'ajouterai quand je pourrai !


    Merci beaucoup pour votre investissement !!

    [MAJ] : Changement fichier joint, MAJ du GUI et GUIv2
    Fichiers attachés Fichiers attachés

  13. #13
    Invité
    Invité(e)
    Par défaut
    Alors déjà pour le fichier GUI.m: une première erreur que je vois concerne l'utilisation de handles dans un CreateFcn alors que (guide te le dit lui-même)
    % handles    empty - handles not created until after all CreateFcns called
    Ensuite une TRÈS bonne habitude à prendre c'est de changer les tags de tes objets pour leur donner un nom plus parlant:
    Au lieu de pushbutton1, 2, 3,... edit 1,2, ...
    plutôt push_Seuil_Audible, push_Frequence_Bark, edit_Frequence, text_Frequence, etc...
    Tu t'y retrouveras beaucoup mieux et ton code sera bien plus lisible pour ceux qui te liront.
    Je passe au GUI_v2.m, et je te tiens au courant.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Alors pour le fichier GUIv2.m, préfère définir les 'position' avec des unités 'normalized':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uicontrol('units','normalized',...
        'position',[ . . .], ... % valeurs entre 0 et 1 
           ...
    Cela permet entre autre de s'affranchir du problème de résolution d'écrans différents.
    Ainsi que de renseigner le tag, qui est justement le champ handles.nom_du_tag
    Dernière modification par Invité ; 13/05/2011 à 23h31.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Alors déjà pour le fichier GUI.m: une première erreur que je vois concerne l'utilisation de handles dans un CreateFcn alors que (guide te le dit lui-même)
    % handles    empty - handles not created until after all CreateFcns called
    Je voulais savoir si j'ai bien compris, l'utilisation de handle (dans ce cas là) ne peut se faire qu'après toutes les CreateFcns appelées ? Donc en gros je dois me servir de tout mes p'tit Pushbuttons et tout avant de pouvoir manipuler les textes ?

  16. #16
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas ta question
    De quelle façon souhaites-tu les manipuler?
    En principe les fonctions CreateFcn sont faites pour initialiser les objets correspondants en mettant les valeurs/propriétés par défault que tu souhaites avoir au début.
    Il n'y a qu'après que tu te sers des callbacks pour la "communication" avec l'utilisateur.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    ah d'accord, je n'avais moi-même pas compris le principe de la CreateFcn.

    Mais par contre je ne comprend toujours pas pourquoi je n'arrive pas à faire afficher les 3 fréquences tonales alors que pour la fréquence bark ça fonctionne (afficher la fréquence dans le static text)...

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lowee31 Voir le message
    Mais par contre je ne comprend toujours pas pourquoi je n'arrive pas à faire afficher les 3 fréquences tonales alors que pour la fréquence bark ça fonctionne (afficher la fréquence dans le static text)...
    Obtiens-tu encore une erreur?
    Quelle est la partie de code concernée?

  19. #19
    Membre à l'essai
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Mai 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti Ingénieur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 35
    Points : 18
    Points
    18
    Par défaut
    Oui j'obtiens toujours une erreur, la seule partie du code concernée est la dernière, dans la fonction
    push_composante_callback
    c'est le bouton
    MPEG Audio
    (j'ai changé les tag des boutons et des textes comme tu l'as suggéré, en effet c'est plus lisible)

    j'ai mis à jour le fichier joint de vendredi avec le guiv2 mis à jour que j'ai récupéré sur mon pc perso. Et le GUI.m avec les nouveaux tag.

    Par contre, après réflexion, je me suis dit qu'il serait mieux de faire une interface à la main (GUIv2.m) par contre tu verras que je n'ai fait qu'une seule fonction (seuil audible) sauf que je n'arrive pas à l'exécuter, l'erreur générée est :
    ??? Error using ==> GUIv2>seuil_audible
    Too many output arguments.
    
    Error in ==> GUIv2>seuil_audible at 278
            s_aud=seuil_audible(frequency);
     
    ??? Error while evaluating uicontrol Callback
    Je ne comprend pas le "Error while evaluating uicontrol Callback".

    Et une dernière chose, j'aimerais savoir comment faire pour déclarer une variable globale que ce soit avec GUIDE (GUI.m) ou sans GUIDE (GUIv2.m) pque dans le GUI.m j'ai essayé de déclarer une variable globale mais elle n'est pas visible par les autres fonctions qui l'utilise...

  20. #20
    Invité
    Invité(e)
    Par défaut
    La partie d'erreur à voir en premier est
    Too many output arguments.
    
    Error in ==> GUIv2>seuil_audible at 278
            s_aud=seuil_audible(frequency);
    à priori tu n'as pas défini ta fonction seuil_audible de façon à retourner quelque chose.
    Quelque chose du genre
    function sortie = seuil_audible(frequency)au lieu de function seuil_audible(frequency).
    Ensuite pour le passage de variables, tu peux regarder ici. Avec guide, on utilise habituellement la méthode guidata.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2010, 10h27
  2. [AC-2003] Etat-Afficher valeur dans un control indéxé
    Par Maxym63 dans le forum IHM
    Réponses: 3
    Dernier message: 30/04/2009, 13h24
  3. Afficher valeur dans jsp
    Par yasinfo dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 17/04/2009, 16h09

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