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 :

stockage en mémoire avec uigetfile


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut stockage en mémoire avec uigetfile
    Bonjour à tous et a toute.
    Pour mon interface , je souhaite utilisé le uigetfile permettant de choisir son fichier directement.De plus j'aimerai pouvoir garder en mémoire le nom du fichier pour l'utiliser dans un autre call back.
    Mais voila mon problème , je n'est aucune idée comment faire.j'ai essayer mais sans réussite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function charger(obj, event, handles)
        [FileName,PathName] = uigetfile('*.txt','sélectionnez le fichier texte')
     
    end
     
    %% Fonction choix categorie
     
        function film(obj,event) 
            fid=fopen(fullfile(PathName,FileName),'r');

    message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Undefined function or variable 'PathName'.
     
    Error in ==> avec_interface_evolue>voiture at 55
            fid=fopen(fullfile(PathName,FileName),'r');
     
    ??? Error while evaluating uicontrol Callback

  2. #2
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    salut
    tu as différentes solutions récapitulées dans ce tutoriel
    comme ça je t'en proposerai deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [handles.FileName,handles.PathName] = uigetfile('*.txt','sélectionnez le fichier texte') % faire attention à ce que FileName et PathName ne soient pas déjà dans handles
    guidata(gcbf, handles);
    .
    alors partout ou tu récupères handles (programmation GUIDE je suppute) tu devrais pouvoiir récupérer handles.FileNAme...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [FileName,PathName] = uigetfile('*.txt','sélectionnez le fichier texte')
    setappdata(gcbf, 'PATHNAME', PathName);
    setappdata(gcbf, 'FILENAME', FileName);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    help guidata
    help setappdata
    help getappdata

  3. #3
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Déjà il faut comprendre le message d'erreur. Il t'indique que ta variable PathName n'est pas connue. En effet PathName et FileName ne sont connues que dans l'espace de travail de la fonction charger.
    Tu as plusieurs possibilités. Si tu utilises une interface , setappdata et getappdata t'aideront. Tu peux aussi utiliser evalin, assignin. Ces fonctions te permettront de retrouver les valeurs de tes variables dans n'importe quelle autre fonction . Il y a pleins d'autres solutions comme par exemple sauvegarder le path de ton fichier dans un MAT-file et de loader ce mat-file au moment désiré... bref c'est toi qui choisit!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut
    J'ai essayer avec ta méthode.
    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
    %% Fonction choix fichier
    function charger(obj, event, handles)
        [handles.FileName,handles.PathName] = uigetfile('*.txt','sélectionnez le fichier texte')
         guidata(gcbf, handles)
     
    end
     
    %% Fonction choix categorie
     
        function film(obj,event)
     
            setappdata(gcbf, 'PATHNAME', PathName);
            setappdata(gcbf, 'FILENAME', FileName);
     
            fid=fopen(fullfile(PathName,FileName),'r');

    mais toujour une erreur du meme type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Undefined function or variable 'PathName'.
     
    Error in ==> avec_interface_evolue>film at 51
            setappdata(gcbf, 'PATHNAME', PathName);
     
    ??? Error while evaluating uicontrol Callbac

  5. #5
    Membre confirmé Avatar de Youni92
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 178
    Par défaut
    Tu utilise des fonctions, et chaque fonction a son PROPRE "workspace", donc tu dois transférer les données de l'un vers l'autre.

    Plusieurs possibilités:
    - Arguments d'entrée/sortie
    - Variables persistentes
    (- Variables globales)

    Pour plus d'info, la FAQ peut t'aider

  6. #6
    Membre émérite Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Par défaut
    tu ne m'as pas compris
    je t'ai proposé deux méthodes, pour l'une et l'autre je ne t'ai donné le code que pour rendre accessible PatthName et FileName, et tu les as mélangées...
    regardes au moins les help des fonctions.

    edit: d'ailleurs autant pour moi, je n'avais pas vu la fonction film et qu'elle n'avait pas pour argument d'entrée handles, normalement tu peux la récupérer avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles = guidata(gcf);
    quand est-elle appelée exactement ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Par défaut
    dans un premier temps , j'ai une fonction permettant, de choisir le fichier.
    Puis dans un second temps j'ai deux autre call back qui agisse sur le fichier.
    Donc je dois appeler la fonction 2 fois

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

Discussions similaires

  1. [Crystal Report]Problème de mémoire avec le moteur RDC
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/05/2005, 09h09
  2. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 10h11
  3. Problémes mémoire avec le bde sur des bases paradox
    Par Keke des Iles dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/05/2004, 16h55
  4. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  5. Comment bien gerer la mémoire avec les TStringList?
    Par david_chardonnet dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2003, 09h57

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