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 :

Détection de chaine de caractère indicé [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut Détection de chaine de caractère indicé
    Bonjour à tous,

    Je suis de nouveau confronté à un problème dont je n'ai pu trouvé de réponse satisfaisante sur internet.
    Clairement l'intitulé de mon post ne veut rien dire donc je m'explique.

    Je suis sur une interface que je vien de terminer dans les grandes lignes mais que je voudrai améliorer.
    J'ai donné un 'tag' unique à chacun de mes objets graphiques en me disant que ça pourrait peut être me servir (comme identifiant ?).
    Le but de cette page est de taper une vitesse initiale et une vitesse finale et de selectionner un fichier leurs correspondant dans un popupmenu.
    J'aimerai que le popupmenu soit 'enable','off' qd aucune vitesse n'est sélectionnée.

    Je pensais me servir des tags associés aux objets graphiques qui sont du type tag1, tag2,... etc

    Est-ce possible ? sinon comment puis-je procéder ?, j'ai 36 lignes je trouve ça un peu lourd de taper un code pour chaque ligne j'aurais voulu faire une boucle.

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Par défaut
    et bien les tag te servent a acceder aux valeurs de tes objets. Dans le cas d'un champs de texte, tu vas pouvoir recuperer la valeur qui a été tapée dedans avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TE = str2num(get(handles.tag1,'String'));  %str2num si c'est une valeur numerique que tu recuperes
    ensuite tu peux tester si le champ ets vide ou non, avec isempty par exemple.

    apres pour changer les attributs du popup menu et bien avec un set.

    je te conseille de lire plus en detail dans le help le chapitre SET (et peut-etre GET).

  3. #3
    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
    Alors, la réponse de coolzy est très bien ... dans le cas où tu as utilisé GUIDE car c'est un des rares trucs bien avec GUIDE il te crée une belle structure handles avec comme champs les tags de tes objets, et à laquelle tu peux accéder de partout.

    Mais comme je sais (grâce à ma boule de cristal et mes supers-pouvoirs de modo) que tu as fait ton GUI "à la main" (ce qui est très bien), ça ne va pas marcher....

    Une possibilité rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list_handles=zeros(1,nbTags);
    for k=1:nbTags
        list_handles(k) = findobj(hFigure,'Tag',['tag',num2str(k)]);
    end
    list_handles(1) correspond alors au handle de l'objet de Tag tag1.

    On peut mieux faire mais je poste déjà ça et je reviens.
    [edit] enfin un peu plus tard parce que là je pars

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Merci beaucoup pour vos réponses.

    A vrai dire mon problème n'était pas réellement les modifications en elle même car maintenant je commence a comprendre (En partie grace à caro95470, merci) mais surtout de pouvoir repérer mes objets 'edit' grace à leurs tags soigneusement choisie .

    Pour être précis mes tags se nomme tous:
    Vitesse_initialei_rapportj et
    Vitesse_finalei_rapportj
    Avec i allant de 1 à 6 et j également de 1 à 6, soit 36 lignes au total (ouais j'adore les math )

    Jai une deuxième fenetre ou le problème est le même mais qui ne comporte que 8 lignes avec des tags nommé
    Vitesse_initialei
    Vitesse_finalei

    Je pensais qu'au vu de la similtude des tags (juste leur indice change), il serai possible d'automatiser le traitement via une boucle for.

    Cela dit je ne suis pas borné, si il éxiste une autre solution ça me va très bien , et oui effectivement j'ai décidé de coder l'interface à la main, je confirme au cas où il se pourrait que ça ait une influence.

    Merci pour vos réponses je me penche dessus tout de suite.

  5. #5
    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
    Revenue !

    Avant de développer plus loin, je me disais : si tu veux juste récupérer tous les objets de style edit de ta fenêtre tu n'as même pas besoin des tags :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mes_edit=findobj(handleFigure,'style','edit')

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Ba en fait chaque couple de valeur initiale et valeur finale influence deux popupmenus.
    En gros quand les champs 'edit' sont remplis je voudrai que les 2 popupmenus associés soient activés et désactivés quand les champs sont vides.
    Donc il faut que je récupère tous les 'edit' mais séparément ou du moins que je puissent les différencier à un moment.

    Merci

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Par défaut
    Bon j'ai repris le temps de travailler sur ce point que j'avais du laisser de coté.
    Je sais pas trop pourquoi ça ne fonctionnait pas la première fois que j'avais essayé mais la j'ai exactement ce que je veu, ça marche très bien.

    Voici la partie de mon code concerné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for i=1:nb_dl;
     
        liste_handle_val_init(i) = findobj(fenetre,'tag',['Vitesse_initiale',num2str(i)]);
        test1 = get(liste_handle_val_init(i),'tag');
        disp(test1);
     
        liste_handle_val_fin(i) = findobj(fenetre,'tag',['Vitesse_finale',num2str(i)]);
        liste_handle_fichier_essai1(i) = findobj(fenetre,'tag',['Choix_fichier_dl',num2str(i),'_essai1']);
        test2 = get(liste_handle_fichier_essai1(i),'tag');
        disp(test2);
     
        liste_handle_fichier_essai2(i) = findobj(fenetre,'tag',['Choix_fichier_dl',num2str(i),'_essai2']);
     
    end
    Encor merci à vous tous et excusez le temps que j'ai mis pour répondre à ce post.

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

Discussions similaires

  1. Rechercher indice dans un tableau de chaine de caractère
    Par bsangoku dans le forum Débuter
    Réponses: 4
    Dernier message: 23/12/2009, 12h50
  2. [RegEx] Détection de la fin d'une chaine de caractères
    Par fourchette dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2009, 22h23
  3. Indicer un tableau avec une chaine de caractères
    Par petdelascar dans le forum C
    Réponses: 10
    Dernier message: 08/11/2007, 15h55
  4. Réponses: 9
    Dernier message: 19/10/2006, 18h02
  5. Réponses: 3
    Dernier message: 07/06/2006, 15h40

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