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érer des données et les sauvegarder en *.txt


Sujet :

Interfaces Graphiques

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut Récupérer des données et les sauvegarder en *.txt
    Bonjour à tous !!!

    Voilà je viens de me mettre à matlab dans le cadre d'un stage que je réalise dans un laboratoire d'anatomie. J'essaye de créer un logiciel d'évaluation des charges d'entraînement en athlétisme. Pour ce faire je dois créer une interface dans laquelle on rentre des chaînes de caractères dans une édti box puis dès que l'on clic sur le pushboutton 'save' le programme devra créer une feuille bloc note et enregistrer les valeures sous forme de tableau mais voilà je n'y arrive pas.
    Pour essayer j'ai créer avec le guide une interface très simple avec une seule édit box et un pushboutton j'obtiens le programme suivant :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    h1 = figure(...
    'Units','characters',...
    'PaperUnits',get(0,'defaultfigurePaperUnits'),...
    'Color',[0.925490196078431 0.913725490196078 0.847058823529412],...
    'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],...
    'IntegerHandle','off',...
    'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),...
    'MenuBar','none',...
    'Name','essai',...
    'NumberTitle','off',...
    'PaperPosition',get(0,'defaultfigurePaperPosition'),...
    'PaperSize',[20.98404194812 29.67743169791],...
    'PaperType',get(0,'defaultfigurePaperType'),...
    'Position',[103.8 29.1538461538462 112 32.3076923076923],...
    'Resize','off',...
    'UseHG2','off',...
    'HandleVisibility','callback',...
    'Tag','figure1',...
    'UserData',[],...
    'Visible','on');
     
    h2 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','essai_export(''edit1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[19.8 20.6153846153846 20.2 3.92307692307692],...
    'String','edit1',...
    'Style','edit');
     
    h3 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','essai_export(''pushbutton1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[49.8 20.6153846153846 20.2 3.92307692307692],...
    'String','save',...
    'callback','save',...
    'Tag','pushbutton1');
    Pour obtenir ceci je crée mon guide, je clic sur export et j'obtiens ceci avec plein de fonction, un collègue ma dit qu'il fallait les supprimer pour ne garder que les prog des boutons, edit box ... MAIS quand je clic sur export un autre prog se crée tel que :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    function varargout = essai(varargin)
    % ESSAI M-file for essai.fig
    %      ESSAI, by itself, creates a new ESSAI or raises the existing
    %      singleton*.
    %
    %      H = ESSAI returns the handle to a new ESSAI or the handle to
    %      the existing singleton*.
    %
    %      ESSAI('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in ESSAI.M with the given input arguments.
    %
    %      ESSAI('Property','Value',...) creates a new ESSAI or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before essai_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to essai_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
     
    % Edit the above text to modify the response to help essai
     
    % Last Modified by GUIDE v2.5 13-Jan-2008 10:21:24
     
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @essai_OpeningFcn, ...
                       'gui_OutputFcn',  @essai_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
     
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
     
     
    % --- Executes just before essai is made visible.
    function essai_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to essai (see VARARGIN)
     
    % Choose default command line output for essai
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    % UIWAIT makes essai wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
     
     
    % --- Outputs from this function are returned to the command line.
    function varargout = essai_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    varargout{1} = handles.output;
     
     
     
    function edit1_Callback(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Hints: get(hObject,'String') returns contents of edit1 as text
    %        str2double(get(hObject,'String')) returns contents of edit1 as a double
     
     
    % --- Executes during object creation, after setting all properties.
    function edit1_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to edit1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
     
    % Hint: edit controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
    % --- Executes on button press in pushbutton1.
    function pushbutton1_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    J'obtiens donc deux programme nommés essai.m et essai_export.m


    Une fois ceci fais je cré un autre programme (qui s'appelle save d'où l'avant dernière ligne du programme précédent) qui doit normalement récupérer la valeure dans l'édit box et la sauvegarder en fichier txt. Voici le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function pushbutton1_Callback(HObject, eventdata, handles)
    a=get(handles.edit1,'string')
    save('essai.txt',a,'ascii')
    Une fois que je lance mon interface et que j'écris un chiffre dans l'édit box je clic sur le boutton save et dans le "command windows' de matlab il me dis ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error in ==> save at 2
    a=get(handles.edit1,'string')
    Voilà bon je pense que pas mal de gens risuqe de se moquer de moi parceque ça ressemble plus à de la bidouille qu'à de la programmation mais bon j'ai pas du tout la formation pour ça normalement (je suis en STAPS) alors ben si quelqu'un pouvais me donner un cou de pousse ça serais vraiement très gentil

    Merci d'avance à tous et BONNE ANNEE

  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 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Met le message d'erreur complet
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    Ben justement là est le souci il ne me met que ça comme message d'erreur !!!!!

    DSL

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Citation Envoyé par littlepierre Voir le message
    Ben justement là est le souci il ne me met que ça comme message d'erreur !!!!!
    Mouais... quelle est ta version de MATLAB ?

    Peu importe, oublions 5 minutes l'écriture dans le fichier text pour se concentrer sur le fonctionnement de l'interface graphique.

    Il n'y a pas vraiment de raison d'exporter ton code vers le GUIDE.

    Regarde cet exemple :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    function myGUI
     
    fig=figure(...
    'Units','characters',...
    'MenuBar','none',...
    'Name','essai',...
    'NumberTitle','off',...
    'Position',[103.8 29.1538461538462 112 32.3076923076923],...
    'Resize','off',...
    'Tag','figure1');
     
    uicontrol(...
    'Parent',fig,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[19.8 20.6153846153846 20.2 3.92307692307692],...
    'Tag','edit1',...
    'Style','edit');
     
    uicontrol(...
    'Parent',fig,...
    'Units','characters',...
    'Position',[49.8 20.6153846153846 20.2 3.92307692307692],...
    'String','save',...
    'Callback',@save2txt,...
    'Tag','pushbutton1');
     
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    Pour retrouver la valeur contenue dans l'EditBox, il suffit donc :

    1. de donner un Tag à chaque objet
    2. d'utiliser GUIHANDLES pour générer une structure contenant les identifiants de tous les objets et dont le nom des champs est donné par le Tag de chaque objet.


    C'est clair ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    Euh ben pas tout désolé )
    que signifie ces lignes ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Callback',@save2txt,...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    en fait tu veux dire que si je fais cette manipulation il récupèrera la valeur de edit 1 et la stockera dans la variable a ???

    A quoi sert la fonction handles ???

    Désolé de te marteler de questions mais en tout cas merci beaucoup pour tes réponses

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Callback',@save2txt,...
    La propriété Callback contient le code qui sera exécuté quand tu cliques sur l'objet Pushbutton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    Cette fonction contient donc logiquement le code exécuté quand on appuie sur le bouton. Les arguments d'entrée (obj et event) non pas vraiment d'importance ici mais ils doivent être présents.

    Citation Envoyé par littlepierre Voir le message
    A quoi sert la fonction handles ???
    handles n'est pas une fonction mais une structure. Elle contient les identifiants des objets graphiques présents sur l'interface. Elle est généralement générée à l'aide de la fonction GUIHANDLES qui s'appuie sur les propriétés Tag des objets.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    Coucou,

    Désolé de pas avoir répondu plu tôt au message mais bon j'étais débordé par le travail et les partiels.
    En ce qui concerne la sauvegarde j'ai pas mal avancé mais j'ai encore des petits soucis. J'ai repris l'exemple dont le dernier message faisait référence et voici ce que j'ai fait :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function myGUI
     
    fig=figure(...
    'Units','characters',...
    'MenuBar','none',...
    'Name','essai',...
    'NumberTitle','off',...
    'Position',[103.8 29.1538461538462 112 32.3076923076923],...
    'Resize','off',...
    'Tag','figure1');
     
    uicontrol(...
    'Parent',fig,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[19.8 20.6153846153846 20.2 3.92307692307692],...
    'Tag','edit1',...
    'Style','edit');
     
    uicontrol(...
    'Parent',fig,...
    'Units','characters',...
    'Position',[49.8 20.6153846153846 20.2 3.92307692307692],...
    'String','save',...
    'Callback',@save2txt,...
    'Tag','pushbutton1');
     
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    path=[p,nom '_' nom1 '_HL.txt'];
    fid = fopen(path,'wt');
    a=get(handles.edit1,'string');
    fprintf(fid,'%s\n',a);
    fclose(fid);
    La ligne de code avec "path" devrait permettre de choisir le chemin d'accés et le nom du fichier sauvegardé. "a" est le tag de edit1.
    Malgré tout j'obtiens un message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Error in ==> myGUI>save2txt at 31
    path=[p,nom '_' nom1 '_HL.txt'];
     
    ??? Error while evaluating uicontrol Callback
    Et de ce fait je n'obtiens pas de sauvegarde et donc je ne sais même pas si je pourrais bien obtenir un fichier au format *.txt utilisable.

    Si quelqu'un pouvait m'aider à corriger ce code. J'ai essayé beaucoup de combinaisons avec "save", "saveas", ... mais toujours des erreurs je craque !!!!

    Merci de votre attention

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Où sont définies les variables p, nom et nom1 ?

    Change le nom de la variable path car c'est déjà le nom d'une fonction MATLAB.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    A vrai dire c'est une solution que m'a confié un ami. Tu as l'ensemble du programme dans le message précédent.

    En fait je ne vois pas dès lors comment définir p, nom et nom1 ou du moins je ne vois pas en quoi il faut que je les définisse car je ne comprends pas vraiment à quoi ils correspondent si tu peux m'éclairer sur ce point je pourrais peut être réussir à finir ce petit bout de programme

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Cherche dans ce forum les discussions qui parlent de UIGETFILE et FULLFILE.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    D'abord merci de répondre aussi vite
    J'ai essayé ce que tu m'a dit et donc j'ai tapé les lignes de code suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    [filename,pathname]=uiputfile('*.txt','sauvegarde')
    save(fullfile(filename,pathname),'a','-ascii')
    malgré tout j'obtiens cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Error in ==> myGUI>save2txt at 33
    save(gcbf,fullfile(filename,pathname),'a','-ascii')
     
    ??? Error while evaluating uicontrol Callback
    Là je suis pommé je pensais avoir fais aucunes erreurs !!!

    Merci beaucoup pour le coup de main

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    pardon le message d'erreur complet est :


    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
    filename =
     
    test.txt
     
     
    pathname =
     
    C:\Users\User\Desktop\
     
    ??? Error using ==> save
    Unable to write file test.txt\C:\Users\User\Desktop\: Invalid argument.
     
    Error in ==> myGUI>save2txt at 33
    save(fullfile(filename,pathname),'a','-ascii')
     
    ??? Error while evaluating uicontrol Callback

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    J'ai trouvé une partie de la solution j'ai écris ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    [filename,pathname]=uiputfile('*.txt','sauvegarde')
    if isequal(filename,0) || isequal(pathname,0)
           disp('User pressed cancel')
    else
        save(fullfile(pathname,filename),'a','-ascii') 
    end
    il est certain que je n'ai fais que recopier les lignes de code de IF à END (d'ailleurs si tu pouvais me les expliquer se serait sympa) Mais grâce à cela j'ai pu sauvegarder au format texte. PAR CONTRE lorsque j'écris 5 par exemple dans l'édit box je n'obtient pas 5 dans mon fichier texte j'obtiens 5.3000000e+001, si je met 4 j'obtiens 5.2000000e+001
    Serais du à "-ascii"
    Que dois je faire pour obtenir le chiffre voulu et si ce chiffre été du texte comment obtenir ce texte dans le fichier txt ???

  14. #14
    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
    La variable a étant du texte tu dois le transformer en numérique avant la sauvegarde avec la fonctionSTR2NUM. (53 est la représentation ascii de la chaine de caractère '5')

    Pour le if/else/end : il teste si l'utilisateur a bien rentré un nom de fichier
    Règles du Forum

    Adepte de la maïeutique

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup str2num marche !
    Par contre comment puis je changer le format dans mon fichier texte ?
    Je m'explique maintenant lorsque je rentre 3 j'obtiens 3.000000e+000 moi j'aimerais obtenir 3.
    De plus j'aimerais créer des fiches patients à partir d'interfaces avec beaucoup plus d'édits box. Le souci est que lorsque j'enregistre un texte j'obtiens une série de chiffre dans mon fichier texte. Je pense qu'il doit exister quelque chose comme str2num mais je ne sais pas quoi !
    Est il possible de mettre en forme automatiquement le bloc note lors de la sauvegarde ?
    Et dernière question : Une fois un patient enregistré j'aimerais pouvoir le sélectionner dans un popupmenu de telle sorte que lorsqu'il apparaît dans ce popupmenu on puisse le sélectionner sans qu'il est perdu l'ensemble des caractéristiques qu'on lui a assigné lors de l'enregistrement (sa fréquence cardiaque maximale, son age, son sexe ...) ????

    Merci

  16. #16
    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
    Si tu veux formater tes nombres tu va être obligé de passer par les fonctions dites de bas-niveau :
    fopen/fprintf/fclose (voir l'aide dans MATLAB)
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function save2txt(obj,event)
    handles=guihandles(gcbf);
    a=get(handles.edit1,'string');
    [filename,pathname]=uiputfile('*.txt','sauvegarde')
    if isequal(filename,0) || isequal(pathname,0)
           disp('User pressed cancel')
    else
       fid = fopen(fullfile(pathname,filename),'wt');
       fprintf(fid,'%s',a);%Là on écrit directement en format texte plus besoin de transformer en numérique, cela écrira exactement le nombre tel qu'il a été entré dans l'edit box
       fclose(fid);
    end
    De plus fprintf te permettra de formater comme tu le souhaites tes lignes (en mettant ce que tu souhaites entre 2 nombres : espace, tabulation...)

    Sinon je n'ai rien compris à ta dernière question....
    Règles du Forum

    Adepte de la maïeutique

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    j'ai tenté de mettre les lignes de code de la sauvegarde sur mon interface complete, j'ai donc ce code :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    function myGUI
    h1 = figure(...
    'Units','characters',...
    'PaperUnits',get(0,'defaultfigurePaperUnits'),...
    'Color',[0.941176470588235 0.941176470588235 0.941176470588235],...
    'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],...
    'IntegerHandle','off',...
    'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),...
    'MenuBar','none',...
    'Name','fiche_entraineur',...
    'NumberTitle','off',...
    'PaperPosition',get(0,'defaultfigurePaperPosition'),...
    'PaperSize',[20.98404194812 29.67743169791],...
    'PaperType',get(0,'defaultfigurePaperType'),...
    'Position',[103.8 15.1538461538462 230.8 46.3076923076923],...
    'Resize','off',...
    'UseHG2','off',...
    'HandleVisibility','callback',...
    'Tag','figure1',...
    'UserData',[],...
    'Visible','on');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  INTITULE DES DIFFERENTS PARAMETRES A ENTRER %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% texte prénom
    h2 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 32.6153846153846 30.2 2.07692307692308],...
    'String','Prénom',...
    'Style','text',...
    'Tag','text2');
    %% texte nom
    h3 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 36.4615384615385 30.2 2.07692307692308],...
    'String','Nom',...
    'Style','text',...
    'Tag','text3');
    %% texte adresse
    h4 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 28.7692307692308 30.2 2.07692307692308],...
    'String','Adresse',...
    'Style','text',...
    'Tag','text4');
    %% texte ville
    h5 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 25.0769230769231 20.2 1.92307692307692],...
    'String','Ville',...
    'Style','text',...
    'Tag','text5');
    %% texte code postal
    h6 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[89.6 25.0769230769231 20.2 1.92307692307692],...
    'String','Code postal',...
    'Style','text',...
    'Tag','text6');
    %% texte région
    h7 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 21.2307692307692 20.2 1.92307692307692],...
    'String','Région',...
    'Style','text',...
    'Tag','text7');
    %% texte nationalité
    h8 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[89.8 21.2307692307692 20.2 1.92307692307692],...
    'String','Nationalité',...
    'Style','text',...
    'Tag','text8');
    %% panel commentaires
    h9 = uipanel(...
    'Parent',h1,...
    'Units','characters',...
    'Title','Commentaires',...
    'Tag','uipanel1',...
    'Clipping','on',...
    'Position',[29.8 11.5384615384615 110.2 7.76923076923077]);
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  EDIT BOX  %%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% edit box commentaires
    h10 = uicontrol(...
    'Parent',h9,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit8_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[1.8 0.769230769230772 106 5.53846153846154],...
    'String','edit commentaires',...
    'Style','edit');
    %% edit box nom
    h11 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[59.8 36.5384615384615 80.2 2],...
    'String','edit nom',...
    'Style','edit');
    %% edit box adresse
    h12 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit2_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[59.8 28.8461538461538 80.2 2],...
    'String','edit adresse',...
    'Style','edit');
    %% edit box prénom
    h13 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit3_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[59.8 32.6923076923077 80.2 2],...
    'String','edit prenom',...
    'Style','edit');
    %% edit box ville
    h14 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit4_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[49.8 25.3846153846154 30.2 1.61538461538462],...
    'String','edit ville',...
    'Style','edit');
    %% edit box code postal
    h15 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit5_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[109.8 25.3846153846154 30.2 1.61538461538462],...
    'String','edit code postal',...
    'Style','edit');
     
    %% edit box region
    h16 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit6_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[49.8 21.5384615384615 30.2 1.61538461538462],...
    'String','edit region',...
    'Style','edit');
    %% edit box nationalité
    h17 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Callback','fiche_entraineur_export(''edit7_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[109.8 21.5384615384615 30.2 1.61538461538462],...
    'String','edit nationalité',...
    'Style','edit');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  TITRE FICHE  %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% texte fiche entraîneur
    h18 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'FontUnits','centimeters',...
    'FontAngle','italic',...
    'FontSize',0.6345175,...
    'FontWeight','bold',...
    'ForegroundColor',[1 0 0],...
    'HorizontalAlignment','left',...
    'Position',[29.8 40 110.2 5.07692307692308],...
    'String','FICHE ENTRAÎNEUR',...
    'Style','text',...
    'Tag','text9');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  PUSH BUTTON  %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% pushbutton enregistrer
    h19 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','fiche_entraineur_export(''pushbutton1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[119.8 43.1538461538462 20.2 1.69230769230769],...
    'String','Enregistrer',...
    'callback','@save2txt',...
    'Tag','pushbutton1');
    %% pushbutton retour
    h20 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','fiche_entraineur_export(''pushbutton2_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[119.8 40.6923076923077 20.2 1.69230769230769],...
    'String','Retour',...
    'callback','menu_principal',...
    'Tag','pushbutton2');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%% SAUVEGARDER EN FORMAT TEXTE + BARRE DE CHARGEMENT %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=str2num(get(handles.edit_nom,'string'));
    b=str2num(get(handles.edit_prenom,'string'));
    c=str2num(get(handles.edit_adresse,'string'));
    d=str2num(get(handles.edit_ville,'string'));
    e=str2num(get(handles.edit_code_postal,'string'));
    f=str2num(get(handles.edit_region,'string'));
    g=str2num(get(handles.edit_nationalite,'string'));
    [filename,pathname]=uiputfile('*.txt','sauvegarde')
    if isequal(filename,0) || isequal(pathname,0)
           disp('User pressed cancel')
    else
        save(fullfile(pathname,filename),'a','b','c','d','e','f','g','-ascii')
        h = waitbar(0,'Please wait...');
    for i=1:100,
    waitbar(i/100)
    end
    close(h)
    end
    Quand on lance l'interface on obtiens une fenetre dans laquelle on remplit des édits box. Seulement dès que je remplis les edit box et que j'essaye de sauvegarder j'obtiens les messages d'erreur suivant :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Error using ==> fiche_entraineur_export
    Too many input arguments.
     
    ??? Error while evaluating uicontrol Callback
     
     
    ans = 
     
        @save2txt
     
     
    ans =
    et la sauvegarde ne se lance pas. Quelqu'un pourrait il m'aider sur ce nouveau problème?

  18. #18
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Supprime toutes les lignes qui commencent par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Callback','fiche_entraineur_export(...
    Et ensuite, enlève les guillemets de la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'callback',@save2txt,...
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 49
    Points : 8
    Points
    8
    Par défaut
    bon ben j'ai fais tout ce que tu m'as dit et sur un gui simple ça fonctionne mais sur mon interface ça ne marche pas . J'ai modifié mon code, j'ai mis un tag à chaque edit box et malgré tout ça plante avec même d'arriver à la sauvegarde j'ai fais 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    function myGUI
    h1 = figure(...
    'Units','characters',...
    'PaperUnits',get(0,'defaultfigurePaperUnits'),...
    'Color',[0.941176470588235 0.941176470588235 0.941176470588235],...
    'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],...
    'IntegerHandle','off',...
    'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),...
    'MenuBar','none',...
    'Name','fiche_entraineur',...
    'NumberTitle','off',...
    'PaperPosition',get(0,'defaultfigurePaperPosition'),...
    'PaperSize',[20.98404194812 29.67743169791],...
    'PaperType',get(0,'defaultfigurePaperType'),...
    'Position',[103.8 15.1538461538462 230.8 46.3076923076923],...
    'Resize','off',...
    'UseHG2','off',...
    'HandleVisibility','callback',...
    'Tag','figure1',...
    'UserData',[],...
    'Visible','on');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  INTITULE DES DIFFERENTS PARAMETRES A ENTRER %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% texte prénom
    h2 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 32.6153846153846 30.2 2.07692307692308],...
    'String','Prénom',...
    'Style','text',...
    'Tag','text2');
    %% texte nom
    h3 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 36.4615384615385 30.2 2.07692307692308],...
    'String','Nom',...
    'Style','text',...
    'Tag','text3');
    %% texte adresse
    h4 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 28.7692307692308 30.2 2.07692307692308],...
    'String','Adresse',...
    'Style','text',...
    'Tag','text4');
    %% texte ville
    h5 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 25.0769230769231 20.2 1.92307692307692],...
    'String','Ville',...
    'Style','text',...
    'Tag','text5');
    %% texte code postal
    h6 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[89.6 25.0769230769231 20.2 1.92307692307692],...
    'String','Code postal',...
    'Style','text',...
    'Tag','text6');
    %% texte région
    h7 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[29.8 21.2307692307692 20.2 1.92307692307692],...
    'String','Région',...
    'Style','text',...
    'Tag','text7');
    %% texte nationalité
    h8 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Position',[89.8 21.2307692307692 20.2 1.92307692307692],...
    'String','Nationalité',...
    'Style','text',...
    'Tag','text8');
    %% panel commentaires
    h9 = uipanel(...
    'Parent',h1,...
    'Units','characters',...
    'Title','Commentaires',...
    'Tag','uipanel1',...
    'Clipping','on',...
    'Position',[29.8 11.5384615384615 110.2 7.76923076923077]);
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  EDIT BOX  %%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% edit box commentaires
    h10 = uicontrol(...
    'Parent',h9,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[1.8 0.769230769230772 106 5.53846153846154],...
    'Tag','edit1',...
    'Style','edit');
    %% edit box nom
    h11 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[59.8 36.5384615384615 80.2 2],...
    'string','nom',...
    'Tag','edit2',...
    'Style','edit');
    %% edit box adresse
    h12 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[59.8 28.8461538461538 80.2 2],...
    'Tag','edit3',...
    'Style','edit');
    %% edit box prénom
    h13 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[59.8 32.6923076923077 80.2 2],...
    'Tag','edit4',...
    'Style','edit');
    %% edit box ville
    h14 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[49.8 25.3846153846154 30.2 1.61538461538462],...
    'Tag','edit5',...
    'Style','edit');
    %% edit box code postal
    h15 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[109.8 25.3846153846154 30.2 1.61538461538462],...
    'Tag','edit6',...
    'Style','edit');
     
    %% edit box region
    h16 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[49.8 21.5384615384615 30.2 1.61538461538462],...
    'Tag','edit6',...
    'Style','edit');
    %% edit box nationalité
    h17 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'BackgroundColor',[1 1 1],...
    'Position',[109.8 21.5384615384615 30.2 1.61538461538462],...
    'Tag','edit8',...
    'Style','edit');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  TITRE FICHE  %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% texte fiche entraîneur
    h18 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'FontUnits','centimeters',...
    'FontAngle','italic',...
    'FontSize',0.6345175,...
    'FontWeight','bold',...
    'ForegroundColor',[1 0 0],...
    'HorizontalAlignment','left',...
    'Position',[29.8 40 110.2 5.07692307692308],...
    'String','FICHE ENTRAÎNEUR',...
    'Style','text',...
    'Tag','text9');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%%  PUSH BUTTON  %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    %% pushbutton enregistrer
    h19 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','fiche_entraineur_export(''pushbutton1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[119.8 43.1538461538462 20.2 1.69230769230769],...
    'String','Enregistrer',...
    'callback',@save2txt,...
    'Tag','pushbutton1');
    %% pushbutton retour
    h20 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','fiche_entraineur_export(''pushbutton2_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[119.8 40.6923076923077 20.2 1.69230769230769],...
    'String','Retour',...
    'callback','menu_principal',...
    'Tag','pushbutton2');
     
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %% %%%%%% SAUVEGARDER EN FORMAT TEXTE + BARRE DE CHARGEMENT %%%%%% %%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    function save2txt(obj,event)
     
    handles=guihandles(gcbf);
    a=get(hanldes.edit2,'string');
    b=get(hanldes.edit3,'string');
    c=get(hanldes.edit4,'string');
    d=get(hanldes.edit5,'string');
    e=get(hanldes.edit6,'string');
    f=get(hanldes.edit7,'string');
    g=get(hanldes.edit8,'string');
    [filename,pathname]=uiputfile('*.txt','sauvegarde')
    if isequal(filename,0) || isequal(pathname,0)
           disp('User pressed cancel')
    else
       fid = fopen(fullfile(pathname,filename),'wt');
       fprintf(fid,'%s',a,b,c,d,e,f,g);
       fclose(fid);
    end
           h = waitbar(0,'Please wait...');
    for i=1:100,
    waitbar(i/100)
    end
    close(h)
    j'obtiens le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ?? Undefined variable "hanldes" or class "hanldes.edit2".
     
    Error in ==> fiche_entraineur_export>save2txt at 212
    a=get(hanldes.edit2,'string');
     
    ??? Error while evaluating uicontrol Callback
     
    ??? Undefined variable "hanldes" or class "hanldes.edit2".
     
    Error in ==> fiche_entraineur_export>save2txt at 212
    a=get(hanldes.edit2,'string');
     
    ??? Error while evaluating uicontrol Callback

    Voila aurais tu une solution à me proposer ??? merci

  20. #20
    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
    C'est une simple faute de typo : tu as mis hanldes au lieu de handles...

    [EDIT] Attention tu as toujours 2 lignes de callback dans tes pushbuttons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    h19 = uicontrol(...
    'Parent',h1,...
    'Units','characters',...
    'Callback','fiche_entraineur_export(''pushbutton1_Callback'',gcbo,[],guidata(gcbo))',...
    'Position',[119.8 43.1538461538462 20.2 1.69230769230769],...
    'String','Enregistrer',...
    'callback',@save2txt,...
    'Tag','pushbutton1');
    Règles du Forum

    Adepte de la maïeutique

Discussions similaires

  1. Récupérer des données pour les stocker
    Par Alex1407 dans le forum Débuter
    Réponses: 49
    Dernier message: 29/11/2013, 13h05
  2. Récupérer des données pour les insérer dans un schéma "radar"
    Par Onex3891 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/10/2013, 18h45
  3. Récupérer des donnés et les exécuter en suite.
    Par david633 dans le forum Ruby
    Réponses: 0
    Dernier message: 26/11/2011, 20h50
  4. [MySQL] Récupérer des données avec les SESSIONS
    Par dylanms dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/04/2009, 11h00
  5. Réponses: 1
    Dernier message: 05/09/2006, 17h56

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