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 :

sauvegarder les données d'un tableau dans un fichier texte


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut sauvegarder les données d'un tableau dans un fichier texte
    salut;
    je veux sauvgarder les données de la troixième colonne de ma table dans un fichier texte en cliquant sur un button, j'ai utilisé la fonction uiputfile avec le cod suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function pushbutton18_Callback(hObject, eventdata, handles)
     htable1=get(handles.uitable2,'data');
     h1=htable1{1:4,3};
     
    [FilePath FileName] =uiputfile('../Projet-Master/Exemple- Circuit/exemple /*.txt'); 
    fprintf(fullfile(FilePath,FileName));
    oo=fullfile(FilePath,FileName);
    fich=fopen(oo,'w');
    fprintf(fich,'%s/n',h1);
    fclose(fich);
    mais le problème c'est que le nouveau fichier texte ne sera pas créer réellement dans le répertoire spécifié, quelqu'un peut il me donner une idée

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant:chaque jour on aprend des choses ;)
    Inscrit en
    Septembre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant:chaque jour on aprend des choses ;)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 43
    Points : 68
    Points
    68
    Par défaut
    Salut soumer,

    a tu vérifié que le chemin est correctement écrit et qu'il existe?

    dans le code que tu as ajouté il semble qu'il y en a d'espaces dans les noms des repertoires. Sont-il correctes ces noms?


    Cordialement.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    salut;
    merci pour votre passage, je pense pas que le chemin c'est le problème par ce que uiputfile s'exécute correctement et la fenetre s'ouvre a ce répertoire je ne comprends pas pour quoi ce code ne fonctionne pas?

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    A quel endroit ton fichier est-il créé?

    Et que t'affiche le FPRINTF?

    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    mon fichier texte doit etre créer dans le répertoire spécifié dans la fonction uiputfile mais le probleme que je ne le trouve pas et en plus j'ai l'erreur pour la fonction fopen

    fprintf normalement elle doit afficher la troisième colonne d'un table

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Citation Envoyé par soumer Voir le message
    erreur dans la fonction fopen
    MATLAB affiche une erreur? Quelle est-elle?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    voici l'erreur:
    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
     
    hgjg.txt??? Error using ==> fprintf
    Invalid file identifier.  Use fopen to generate a valid file
    identifier.
     
    Error in ==> Circuit>pushbutton18_Callback at 562
    fprintf(fich,'%s/n',htable1{1:4,3});
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> Circuit at 16
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==>
    @(hObject,eventdata)Circuit('pushbutton18_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Apparemment, fopen n'arrive pas à ouvrir le fichier en écriture, voilà pourquoi le fichier n'est pas créé.

    Essaie d'enlever le point virgule à la ligne 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function pushbutton18_Callback(hObject, eventdata, handles)
     htable1=get(handles.uitable2,'data');
     h1=htable1{1:4,3};
    
    [FilePath FileName] =uiputfile('../Projet-Master/Exemple- Circuit/exemple /*.txt'); 
    fprintf(fullfile(FilePath,FileName))
    oo=fullfile(FilePath,FileName);
    fich=fopen(oo,'w');
    fprintf(fich,'%s/n',h1);
    fclose(fich);
    Quel est le chemin affiché dans MATLAB?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    salut;
    j'ai enlever le point vérgule mais toujours la meme erreur, tu parle de quel chemin?

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    voici un code simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function pushbutton18_Callback(hObject, eventdata, handles)
    [FilePath FileName] =uiputfile('../Projet-Master/Exemple-Circuit/exemple1/*.txt');
    if (isequal(FileName,0)) || (isequal(FilePath,0))
    disp('User pressed cancel')
    else
    fprintf(fullfile(FilePath,FileName));
    oo=fullfile(FilePath,FileName);
    Une question:
    est ce que la fonction uiputfile crée un nouveau fichier texte dans le répertoire spécifié qui prend le non ajouté par l'utisateur?????

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    La fonction uiputfile ne créé aucun fichier, elle retourne juste le nom du chemin du répertoire et le nom du fichier. Le code de ton dernier message ne créé donc aucun fichier.

    Je parlais du chemin qui aurait du s'afficher dans MATLAB avec le code que j'avais écrit.

    Si tu utilises ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function pushbutton18_Callback(hObject, eventdata, handles)
     htable1=get(handles.uitable2,'data');
     h1=htable1{1:4,3};
     
    [FilePath FileName] =uiputfile('../Projet-Master/Exemple- Circuit/exemple /*.txt'); 
    oo=fullfile(FilePath,FileName);
    disp(sprintf('Chemin du fichier : %s', oo));
    fich=fopen(oo,'w');
    disp(sprintf('Nombre renvoyé par fopen : %d', fich));
    fprintf(fich,'%s/n',h1);
    fclose(fich);
    Qu'affiche MATLAB avant le message d'erreur?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant:chaque jour on aprend des choses ;)
    Inscrit en
    Septembre 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant:chaque jour on aprend des choses ;)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 43
    Points : 68
    Points
    68
    Par défaut
    doc uiputfile
    Attention a l'ordre dans les arguments de sortie!!

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Avant le msg d'erreur matlab affiche le non de fichier entré par l'utilisateur par exemple:
    moi j'ai croyé que la fonction uiputfile crée un nouveau fichier par ce que mon but est de sauvgarder a chaque fois les données de ma table dans un nouveau fichier.
    et ce qu'il y a un autre moyen de faire ça SVP c'est urgent?

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    C'est fopen qui crée le fichier, uiputfile est nécessaire pour récupérer le chemin d'accès au fichier.

    KR4ZY_GUI t'a donné l'origine de l'erreur, le premier paramètre de sortie de uiputfile contient le nom du fichier, le deuxième paramètre de sortie contient le chemin du répertoire, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [FileName FilePath] =uiputfile('../Projet-Master/Exemple- Circuit/exemple /*.txt');
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    salut, j'ai modifié comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [FileName FilePath] =uiputfile('../Projet-Master/Exemple-Circuit/exemple1/*.txt');
    if (isequal(FileName,0)) || (isequal(FilePath,0))
    disp('User pressed cancel')
    else
    fprintf(fullfile(FileName,FilePath));
    oo=fullfile(FileName,FilePath);
    fich=fopen(oo,'wt');
    fprintf(fich,'%s/n',htable1{1:4,3});
    fclose(fich);
    mais j'ai cette erreur
    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
     
    ??? Error using ==> fprintf
    Invalid file identifier.  Use fopen to generate a valid file identifier.
     
    Error in ==> Circuit>pushbutton18_Callback at 571
    fprintf(fich,'%s/n',htable1{1:4,3});
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> Circuit at 16
        gui_mainfcn(gui_State, varargin{:});
     
    Error in ==>
    @(hObject,eventdata)Circuit('pushbutton18_Callback',hObject,eventdata,guidata(hObject))
     
     
    ??? Error while evaluating uicontrol Callback
    fopen crée le fichier ou bien l'ouvrir s'il existe?

  16. #16
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Ah oui, mais non, si tu inverses les sorties de uiputfile, il ne faut pas inverser les entrées de fullfile...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [FileName FilePath] =uiputfile('../Projet-Master/Exemple-Circuit/exemple1/*.txt');
    if (isequal(FileName,0)) || (isequal(FilePath,0))
    disp('User pressed cancel')
    else
    oo=fullfile(FilePath,FileName);
    fich=fopen(oo,'wt');
    fprintf(fich,'%s/n',htable1{1:4,3});
    fclose(fich);
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  17. #17
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    waw ça marche bien merci beaucoup

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

Discussions similaires

  1. [MySQL-5.6] Sauvegarder les données d'une table dans un fichier
    Par wam111 dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/04/2014, 16h56
  2. Réponses: 2
    Dernier message: 03/02/2014, 08h06
  3. extraire données d'un tableau dans un fichier texte
    Par cre31400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 29/07/2009, 15h51
  4. Mettre les données d'un formulaire dans un fichier texte
    Par superjordan dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2008, 16h35
  5. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41

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