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 :

gui openfile pushbutton [Débutant]


Sujet :

MATLAB

  1. #1
    Membre confirmé
    Homme Profil pro
    Biologiste
    Inscrit en
    Mai 2017
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Mai 2017
    Messages : 66
    Par défaut gui openfile pushbutton
    Bonjour !

    Un petit problème avec mes début en GUI !
    quand je tape le code dans matlab tout roule comme prévu, mais quand j'essai dans un GUI évidement ça bug !

    Pour faire simple, j'ai juste créé un pushbutton et ajouter le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    % --- Executes on button press in pushOpenF.
    function pushOpenF_Callback(hObject, eventdata, handles)
    % hObject    handle to pushOpenF (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    filename = uigetfile('*.xls','Ouvrir le fichier Excel');
    [num,txt,raw]=xlsread(filename);
    J'ai bien la fenêtre qui s'ouvre, je peux choisir mon fichier excel, et puis rien, aucune variable ne se créer !

    Une idée s'il vous plait ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour,
    ta function est correcte.
    Fais un essai en enlevant la virgule à xlsread.
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     txt=pushOpenF_Callback(hObject, eventdata, handles)

  3. #3
    Membre confirmé
    Homme Profil pro
    Biologiste
    Inscrit en
    Mai 2017
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Mai 2017
    Messages : 66
    Par défaut
    Merci Phryte, je n'ai pas encore regarder je suis sur le départ, je verrais tout ça a mon retour, mais j'ai peut être trouvé une solution à mon problème avec la fonction : global, il faut que je creuse un peu plus la question !

  4. #4
    Membre confirmé
    Homme Profil pro
    Biologiste
    Inscrit en
    Mai 2017
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Mai 2017
    Messages : 66
    Par défaut
    bon finalement j'ai pas tenu il fallait que je teste ! Et ça marche !
    Grace à la fonction global, en définissant toutes mes variables au début, il me suffit de les rappeler dans mes autres boutons.

    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
    20
    21
    22
    23
     
     
    function pushOpenFile1_Callback(hObject, eventdata, handles)
     
    [filename, pathname] = uigetfile('*.xls','Ouvrir le fichier Excel');
    route = [pathname filename];
    [status,sheets]=xlsfinfo(route);
    if length(sheets)==1
        [num,txt,raw]=xlsread(route);
    else
        sht=listdlg('Liststring',sheets,'Promptstring',['Ouvrir la feuille de ' filename],'ListSize',[180 100],'Selectionmode','single');
        [num,txt,raw]=xlsread(route,sheets{sht});
    end
     
    global Nom_Pm Numero_Pm YDt DATES Xcdn Ycdn 
     
    % Variables primaires
    Nom_Pm = raw(:,1); % Nom Pm
    Numero_Pm = num(:,1); % n°Pm
    YDt = raw(:,2); % Extraction des dates en texte
    DATES = datenum(YDt,'dd/mm/yyyy'); % Extraction des dates en nombre
    Xcdn = num(:,13); % Coordonnées X
    Ycdn = num(:,14); % Coordonnées Y
    Il me suffit ensuite de taper global Ycdn par exemple pour utiliser la variable !
    Il y a peut être d'autre façon, mais comme ça a l'aire de marcher !

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

Discussions similaires

  1. GUI : utilise l'indice d'un objet dans un pushbutton
    Par EmelyneSN dans le forum Scilab
    Réponses: 1
    Dernier message: 12/02/2015, 20h07
  2. [Info]gui builder
    Par sonialem2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 03/08/2004, 21h13
  3. [Débutante] GUI Postgresql
    Par aidefz dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 07/04/2004, 10h49
  4. [editeur GUI][info]
    Par lunatix dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/01/2004, 15h59
  5. [GUI] Ou trouver les standard ?
    Par Braim dans le forum Windows
    Réponses: 5
    Dernier message: 01/10/2003, 08h13

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