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 :

Récuperer le contenu d'un Edit Text


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut Récuperer le contenu d'un Edit Text
    Salut, vraiment je suis bloqué avec se problème qui me rend vraiment fou et qui m'empêche de progresser dans mon travail. La question est claire: comment faire pour récupérer un texte à partir d'un edit et le mettre dans une variable ?
    A noter que j'ai le Matlab 5.3

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    il suffit que tu mette ton texte dans une cell :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A=get(handles.ton_edit_text,'string')

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut
    j'ai essayé cette methode mais sans succes...

  4. #4
    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
    En effet en version 5.3 la gestion de la structure handles n'était pas encore apparue, elle est cependant utilisable.

    Maintenant pour que l'on puisse t'aider, nous aurions besoin de savoir comment tu as créé ton objet edit ?
    Lui as-tu donné une propriété permettent de le reconnaitre de façon unique ? (en général la propriété Tag) ?
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    uicontrol('style','edit',...
    'string','toto',...
    'Tag','monEdit');
    %....ailleurs
    str=get(findobj(gcf,'Tag','monEdit'),'String')
    As-tu récupéré son handle (numéro identifiant unique) ?
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    hEdit=uicontrol('style','edit',...
    'string','toto');
    setappdata(gcf,'handleEdit',hEdit);
    %....ailleurs
    hEdit=getappdata(gcf,'handleEdit');
    str=get(hEdit,'String')
    Un peu de lecture :Les tutoriels en français sur les Interfaces Graphiques

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut c comme ça
    j'ai fait comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saisie=uicontrol('Style','edit','position',[200,100,300,20]);
    puis dans un boutton j'ai fais ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    btn1=uicontrol('Style','pushbutton','string','Recuperer','position',[1,200,100,50],...
       'foregroundcolor',[0 0 0],'callback','X= get(saisie, ''String'');');
    mais ça ne marche pas...

  6. #6
    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
    Si tu regardes bien mon code pour la solution 2 (que tu sembles avoir choisie) j'utilise setappdata et getappdata.
    En effet ta variable saisie n'est pas connue dans l'environnement de ton callbakc.
    Il faut mieux d'ailleurs appeler une sous-fonction dans ton callback c'est plus lisible.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    saisie=uicontrol('Style','edit','position',[200,100,300,20]);
    setappdata(gcf,'handleSaisie',saisie);%enregistrement de la valeur du handle
    btn1=uicontrol('Style','pushbutton','string','Recuperer','position',[1,200,100,50],...
       'foregroundcolor',[0 0 0],'callback','callback_btn1');
    %...plus loin
    function callback_btn1()
    saisie=getappdata(gcf,'handleSaisie');
    X= get(saisie, 'String');

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut ok
    ok je vais tester

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut ça avance
    Slt. J'ai fais se que vous m'avez consigner, je crois que la recuperation ça a marché , mais quand je fais l'appel de la variable qui contient ce que j'ai recuperé, il me dit que "variable inconnu", alors ou est-il le problème??

  9. #9
    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
    Citation Envoyé par scholes Voir le message
    quand je fais l'appel de la variable qui contient ce que j'ai recuperé, il me dit que "variable inconnu", alors ou est-il le problème??
    C'est le même problème que pour la variable saisie dans le post n° 5.
    Il faut que tu comprennes que les variables ont une durée de vie limitée à l'intérieur de la fonction où elles sont créées.
    Voir la Quelle est la durée de vie des variables ?
    A toi donc de les gérer pour les enregistrer si tu veux les réutiliser dans un autre environnement.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut ??
    Et qu'es-que vous me conseiller de faire?

  11. #11
    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
    De lire attentivement Les tutoriels en français sur les Interfaces Graphiques
    et de choisir la méthode que tu veux pour gérer tes variables.
    A noter cependant que les nested functions n'existaient pas en version 5.3 mais pour le reste tout s'applique.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut slt
    Sltt.
    J'ai trouver dans le tutoriel que declarer une variable global resolura le probleme, mais ma variable est toujour inconnu, pourquoi???

  13. #13
    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
    Surement parce que tu as oublié quelque chose
    Ceci dit tu as aussi du lire qu'utiliser les variables globales est la plus "mauvaise" méthode...
    Je trouve ça dommage que tu aies choisie celle-là.
    Celle avec les set/getappdata comme dans l'exemple pour transférer la valeur du handle de l'edit ne te plaisait pas ?

  14. #14
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 173
    Points : 39
    Points
    39
    Par défaut ....
    J'ai pas bien saisie cette methode, es-que peux tu expliquer le fonctionnement??

  15. #15
    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
    Avec setappdata tu enregistres la variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=2;
    setappdata(0,'maVariable',a);
    Avec getappdata tu la récupères depuis n'importe où (une autre fonction, la command windows) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a=getappdata(0,'maVariable');
    setappdata prend en entrée 3 variables :
    - un handle (dans mon exemple j'ai mis 0 ça correspond à la command windows MATLAB, tu peux aussi utiliser le handle de ton GUI si tu en as un)
    - une chaine de caractère : c'est ça qui te servira à récupérer ta variable : choisis bien un nom unique
    - ta variable

Discussions similaires

  1. Ecrire le contenu d'un edit Text multiligne dans un fichier
    Par mokochan dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 07/05/2013, 13h47
  2. Réponses: 19
    Dernier message: 16/06/2011, 14h42
  3. [Delphi2005]récuperer le contenu d'un Edit Handle
    Par shell13010 dans le forum Langage
    Réponses: 14
    Dernier message: 25/02/2010, 19h39
  4. enregistrer le contenu d'un Edit dans un fichier texte
    Par tapouni dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2008, 23h02
  5. Enregistret le contenu d'un edit dans un fichier text
    Par prison_break dans le forum C++Builder
    Réponses: 19
    Dernier message: 02/01/2007, 13h55

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