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écupération de donnée via une interface


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut Récupération de donnée via une interface
    Bonjour à tous,
    J'ai créer avec "guide" une interface de génération d'un nuage de points : l'utilisateur rentre le nombre de points à générer, et les bornes du pavé
    [a,b] x [c,d].
    Je recupère ensuite les valeurs a,b,c,d et n=nbre de points puis j'appelle ma fonction qui génère ce nuage aléatoire.

    Voici la fonction relative au bouton de génération :

    function pushbutton1_Callback(hObject, eventdata, handles)

    n = get(handles.edit1,'string');
    a = get(handles.edit3,'string');
    b = get(handles.edit5,'string');
    c = get(handles.edit4,'string');
    d = get(handles.edit6,'string');

    Cloud = NuageAlea(n,a,b,c,d)

    close
    Seulement voilà mon nuage n'est pas générer !
    Je crains que mes valeurs ne sont pas lues.
    Merci de m'apporter votre aide.

  2. #2
    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 830
    Points
    14 830
    Par défaut
    Les valeurs récupérées sont de type string (comme l'indique la propriété), je suppose que tu souhaites des nombres.
    Tu peux essayer de voir du côté de la fonction STR2NUM si tes variables sont effectivement juste des nombres.
    exemple:

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Il semble que les données que tu récupères soient des chaines de caractères. Il faudrait donc les convertir en valeurs numérique avant l'appel de NuageAlea, non ?

    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
    function pushbutton1_Callback(hObject, eventdata, handles)
     
    n = get(handles.edit1,'string');
    a = get(handles.edit3,'string');
    b = get(handles.edit5,'string');
    c = get(handles.edit4,'string');
    d = get(handles.edit6,'string');
     
    n=str2double(n);
    a=str2double(a);
    b=str2double(b);
    c=str2double(c);
    d=str2double(d);
     
    Cloud = NuageAlea(n,a,b,c,d)
     
    close

  4. #4
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    Effectivement c'était la solution merci bien
    Par contre, comment faire pour récupérer ma variable Cloud à la fin de l'éxécution du programme ?

    Car lorsque j'éxécute mon programme puis génère mon nuage, j'obtient bien un nuage de points aléatoire souhaité mais je ne peux pas le réutiliser...

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par azboul Voir le message
    comment faire pour récupérer ma variable Cloud à la fin de l'éxécution du programme ?
    Où souhaites-tu avoir accès à cette variable ?
    Dans le même programme (celui de l'interface), dans la MATLAB Workspace ou dans un autre programme ?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    Il me la faudrais juste dans le matlab workspace.
    La génération du nuage n'est que la base du programme : si je peux récupéré le nuage généré alors je pourrais automatiser mon programme (suppression de self intersection dans un polygone).

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Utilise la fonction ASSIGNIN comme ceci :

    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
    19
    function pushbutton1_Callback(hObject, eventdata, handles)
     
    n = get(handles.edit1,'string');
    a = get(handles.edit3,'string');
    b = get(handles.edit5,'string');
    c = get(handles.edit4,'string');
    d = get(handles.edit6,'string');
     
    n=str2double(n);
    a=str2double(a);
    b=str2double(b);
    c=str2double(c);
    d=str2double(d);
     
    Cloud = NuageAlea(n,a,b,c,d);
     
    assignin('base','Cloud',Cloud);
     
    close

  8. #8
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    Nickel ! merci de m'apporter votre aide, je ne connaissais pas cette fonction !

  9. #9
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    Euh, réflexion fait, la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    assignin('base','Cloud',Cloud);
    n'est pas vraiment adaptée à ce que je souhaite.

    Mon programme principale MenuNuage lance un menu qui propose à l'utilisateur de choisir entre la génération d'un polygone manuellement, via un exemple ou aléatoirement.

    Pour les deux premier cas, il n'y a pas de soucis (mes méthode appelées sont de la forme
    "function [nuage] = .." et dans mon menu j'ai une syntaxe du genre case 1 : Nuage = fonction..)

    Par contre pour le troisième cas - vu que je passe par le biais d'une petite interface générée par GUIDE, je ne peux pas utiliser les [] devant ma fonction !
    j'ai essayer de changer 'base' en 'caller' mais je ne peux toujours pas récupéré ma fonction MenuNuage !

    Re-voici mon code dans le code généré par GUIDE (principe : l'utilisateur rentre des données, avec ces données j'appel la fonction NuageAlea qui génère le nuage, puis je ferme l'interface pour retourner à MenuNuage) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function pushbutton1_Callback(hObject, eventdata, handles)
     
    n = str2num(get(handles.edit1,'string'));
    a = str2num(get(handles.edit3,'string'));
    b = str2num(get(handles.edit5,'string'));
    c = str2num(get(handles.edit4,'string'));
    d = str2num(get(handles.edit6,'string'));
     
    Cloud = NuageAlea(n,a,b,c,d)
     
    assignin('caller','Cloud',Cloud);
     
    close(gcbf)
    Si quelqu'un a une solution je suis preneur !
    merci d'avance.

  10. #10
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 116
    Points : 62
    Points
    62
    Par défaut
    En fait il faudrais que j'ai accès a cette variable (Cloud) dans un autre programme.
    Je pensait utiliser la commande save puis load dans mon autre programme...

Discussions similaires

  1. acquisition de donnée via une interface graphique
    Par imorfal dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 03/05/2011, 19h01
  2. récupération de données via une table de liaison
    Par Le_Fourbe dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2009, 11h19
  3. Récupération de données via une liste déroulante
    Par Requiem11 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/04/2009, 12h18
  4. [ODBC] Sécuriser une base de données Access via une interface en PHP
    Par maraly dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/08/2007, 08h49
  5. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h27

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