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

MATLAB Discussion :

Récupérer une variable avec un string


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Récupérer une variable avec un string
    Bonjour tout le monde,
    j'ai un petit soucis, je vais essayer d'être claire:
    je récupère le nom d'une variable que l'utilisateur rentre dans une interface graphique. par exemple l'utilisateur écrit "toto" dans l'interface, moi dans mon callback je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var=get(handles.nomVar, 'String')
    j'obtiens
    mon but maintenant c'est d'afficher dans un tableau la variable toto (qui contient des données), mais mon problème c'est comment je peux passé d'un string 'toto' à ma variable toto de mon workspace??

    Merci, j'espère avoir été clair, c'est pas facile à expliquer

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    doc evalin

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    merci, quand j'essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var=get(handles.nomVar, 'String')
    v = evalin('base', var)
    j'ai une erreur Undefined function 'evalin' for input arguments of type 'cell'.

    pourtant var c'est un string non?

  4. #4
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Impec, ça marche avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var=get(handles.nomVar, 'String')
    v = evalin('base', var{1})
    merci beaucoup

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    De rien :-)

    Attention toutefois aux problèmes de sécurité avec eval et evalin (si l'utilisateur rentre le nom de variable 'delete(''un fichier'')' ...)

    Pour éviter ca, 2 approches:
    - Parser son nom de variable, interdire les (), vérifier le type de l'objet dans le base workspace - variable et non fonction...
    - Abandonner eval et passer à ton interface une structure nom->variable autorisée (entraine une copie en mémoire des objets)

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

Discussions similaires

  1. récupérer une variable avec $_POST
    Par Giantrick dans le forum Langage
    Réponses: 3
    Dernier message: 11/05/2009, 00h03
  2. Récupérer une variable avec la fonction $.ajax
    Par freakss dans le forum jQuery
    Réponses: 14
    Dernier message: 23/02/2009, 15h16
  3. [Système] Récupérer une variable avec Curl
    Par Alexdezark dans le forum Langage
    Réponses: 2
    Dernier message: 26/11/2007, 15h33
  4. Réponses: 21
    Dernier message: 30/03/2007, 15h21
  5. [JSTL] Récupérer une variable du style <%String bob = "bobby"%>
    Par nickoshiba dans le forum Taglibs
    Réponses: 2
    Dernier message: 15/03/2005, 08h50

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