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 :

Bouton pour sélection d'un fichier


Sujet :

Interfaces Graphiques

  1. #1
    Membre averti Avatar de neodole
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut Bouton pour sélection d'un fichier
    Bonjour à tous,

    Je souhaite créer un bouton qui m'ouvre une fenêtre de sélection pour aller chercher un fichier. Jusqu'ici tout va bien mais mon problème et la récupération de l’adresse de ce fichier. Dans la fenêtre de Matlab, le workspace, le programme s'exécute sans soucis et j'obtiens le nom complet du fichier mais aucune variable n'est créée. J'ai regardé sur internet et je n'y arrive pas. Comment dois-je procéder? L'objectif est de charger le fichier qui est un .m contenant des données et de réaliser un certain nombre de tracer avec options.

    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
     
    function Select_File_Callback(hObject, eventdata, handles)
    % hObject    handle to Select_File (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % Have user browse for a file, from a specified "starting folder."
    % For convenience in browsing, set a starting folder from which to browse.
    startingFolder = 'C:\';
    if ~exist(startingFolder, 'dir')
    	% If that folder doesn't exist, just start in the current folder.
    	startingFolder = pwd;
    end
    % Get the name of the mat file that the user wants to use.
    defaultFileName = fullfile(startingFolder, '*.mat');
    [baseFileName, folder] = uigetfile(defaultFileName, 'Select a mat file');
    if baseFileName == 0
    	% User clicked the Cancel button.
    	return;
    end
    fullFileName = fullfile(folder, baseFileName)
     
    storedStructure = load(fullFileName);
    Merci d'avance
    Neodole

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Les variables créées dans une fonction sont des variables locales. Elles sont détruites à la fin de l'exécution de la fonction.
    Sauf bien entendu pour les variables passées en argument de sortie de la fonction.

    Dans le cas des interfaces graphiques, il faut utiliser la fonction assignin pour transférer une variable d'une fonction vers le workspace de MATLAB

  3. #3
    Membre averti Avatar de neodole
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut
    Merci pour cette réponse. Effectivement, en utilisant la fonction assignin ça marche.

    Par contre, j'ai un problème de compréhension sur la déclaration de la fonction PushButton_Callback. De manière générale dans un script, on déclare une fonction par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function [out]=NameFunction[int];
    out=....    % calcul;
    end;
    Les variables out et int sont des arguments de la fonction. Dans le cas, d'un script pour une GUI la syntaxe est différente et l'on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function pushbutton1_Callback(hObject, eventdata, handles)
    Je n'arrive pas à saisir où l'on doit placer les arguments de cette fonction. D'ailleurs tout ce qui est entre parenthèses est soulignées pour m'indiquer qu'ils ne sont pas utilisés.

    Si je veux mettre la variable contenant le fichier matlab que je charge en argument de la fonction, puis-je mettre cette variable en argument de la fonction PushButton_callback ou dois-je créer une autre fonction dans le main par exemple que j'appelle depuis la fonction callback....

    Merci par avance
    Neodole

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

Discussions similaires

  1. créer un Bouton pour joindre un fichier (parcourir)
    Par orlacit dans le forum Modélisation
    Réponses: 6
    Dernier message: 10/01/2008, 12h19
  2. Bouton pour exporter une table dans fichier BAT
    Par WITER dans le forum Langage
    Réponses: 1
    Dernier message: 08/11/2007, 09h08
  3. Bouton pour parcourir les répertoires et lire un fichier?
    Par mamid1706 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/08/2007, 15h39
  4. [vbscript] [msgbox] boutons pour ouvrir des fichiers
    Par D-ude dans le forum VBScript
    Réponses: 8
    Dernier message: 12/12/2006, 16h49
  5. Code bouton pour sélection d'onglet
    Par tojiji dans le forum Access
    Réponses: 5
    Dernier message: 19/06/2006, 10h40

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