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

C++/CLI Discussion :

Créer et écrire dans un fichier csv en C++/CLI


Sujet :

C++/CLI

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut Créer et écrire dans un fichier csv en C++/CLI
    Bonsoir à tous,

    Jusqu'à maintenant j'ai toujours manipulé des fichiers binaires en les ouvrant avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nom_fichier = saveFileDialog1->FileName::get();
    Stream ^s = saveFileDialog1->OpenFile();
    BinaryWriter ^bw = gcnew BinaryWriter(s);
    Mon premier problème : je ne trouve pas par quoi remplacer "BinaryWriter" pour créer un csv.

    Mon second problème est :

    Je veux écrire chaque ligne à la fin d'un calcul qui est exécuté cycliquement par un timer.

    Je ne trouve pas comment et où dans le projet ouvrir le fichier pour qu'il soit connu dans le module timer.

    En gros je veux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1- créer un fichier pour y écrire
    2- écrire une ligne à chaque pas du timer
    3- fermer le fichier à la fin
    J'ai bien cherché sur le forum et dans les FAQ's, mais le C++/CLI a son style particulier et je cale.

    Merci pour votre aide

    Bonne soirée
    Jean-Louis

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut
    Bon j'ai un peu avancé tout seul, j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     FileStream ^stm = File::OpenWrite(saveFileDialog->FileName::get() );
    StreamWriter ^wri = gcnew StreamWriter(stm);
    wri->WriteLine ( "ligne 1" );
    wri->WriteLine ( "ligne 2" );
    wri->Close();
    Le fichier est bien créé là où je le veux et contient bien les deux lignes.

    Mais son icône n'est pas visible

    Si j'utilise la fonction "rechercher", Windows le trouve et si je l'ouvre, il contient bien les deux lignes.
    Mais impossible de le trouver sur la fenêtre

    Si quelqu'un peut me mettre sur la voie, je l'en remercie d'avance.

    Bonne nuit

    Jean-Louis

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut
    Bon le problème qui me reste n'est pas un problème de fichier, mais de savoir comment rendre le fichier utilisable dans plusieurs fonctions.
    Je voudrais l'ouvrir au démarrage, puis écrire dedans ailleurs ...

    J'ai essayé beaucoup de choses, mais si je mets le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wri->WriteLine ( "ligne 1" );
    ailleurs que dans la fonction qui contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileStream ^stm = File::OpenWrite(saveFileDialog->FileName::get() );
    StreamWriter ^wri = gcnew StreamWriter(stm);
    je me fais jeté à tous les coups par un
    'wri'*: identificateur non déclaré
    Comment déclarer ce wri pour qu'il soit visible ailleurs que dans la fonction où je l'ouvre?

    Si quelqu'un pouvait m'aider, je le(la) remercie d'avance.

    Bonne soirée ..

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 047
    Points : 12 074
    Points
    12 074
    Par défaut
    Votre question est floue et y répondre peut vous induire en erreur.

    Primo. : Les variables globales, c'est mal.
    Secondo. : Les Design Pattern, c'est bien.

    Il existe bon nombre de Design Pattern qui pourrait s'appliquer à votre problème. Mais ils ne sont pas interchangeables et pour choisir le bon Design Pattern, il nous plus d'information sur votre besoin.

    Si vous avez besoin d'initialiser systématiquement et dès le départ de votre programme cette variable, un Design Pattern comme le "Singleton" peut faire l'affaire.

    http://msdn.microsoft.com/en-us/library/ff650316.aspx

    ou pour du C++ non CLI
    http://msdn.microsoft.com/en-us/magazine/cc188779.aspx

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut
    Merci Paul,

    C'est la voie que j'ai utilisée.
    J'ai fait un singleton avec 3 méthodes : créer, écrire et fermer ...

    Mais comme je ne connais pas grand chose, je me demandais s'il n'y avait pas une autre façon de faire ..

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 047
    Points : 12 074
    Points
    12 074
    Par défaut
    Que reprochez-vous au Design Pattern "Singleton" ?

    Si vos reproches sont fondés, il y a de bonne chance que le Design Pattern utilisé n'est pas le bon.

    Avec vos remarques, on pourrait essayer de vous donner le Design Pattern qui convient.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Que reprochez-vous au Design Pattern "Singleton" ?

    Si vos reproches sont fondés, il y a de bonne chance que le Design Pattern utilisé n'est pas le bon.

    Avec vos remarques, on pourrait essayer de vous donner le Design Pattern qui convient.
    Bonjour Paul,

    Le singleton fonctionne très bien.

    Mon programme simule le comportement d'un système industriel.

    Il comporte:
    - une Form avec quelques boutons et quelques Textboxs qui constitue l'interface Homme Machine, on y rentre des commandes vers le processus industriel et on y lit les sorties du processus.

    - un timer réglé à 100 ms est utilisé pour cadencer les calculs qui simulent le processus. Par chance sur ma machine les calculs tournent en un peu moins de 100 ms

    Le but du fichier est d'y enregistrer à chaque pas de calculs quelques variables importantes soit pour étudier plus finement le comportement du processus, soit pour relancer la simulation à partir des résultats d'un essai précédent.

    Et le singleton remplit bien son rôle.

    Je cherche maintenant s'il existe un truc du même genre que le
    car j'ai constaté que les lignes ne s'écrivent pas séquentiellement; si le programme se plante, les dernières lignes sont manquantes.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 047
    Points : 12 074
    Points
    12 074
    Par défaut
    Votre besoin semble assez proche d'une problématique de trace de l'exécution de programme.

    Pour cela, le Framework .NET dispose d'une infrastructure dédiée à cette problématique.

    Regardez du côté de la classe Trace :

    http://msdn.microsoft.com/fr-fr/libr...v=VS.100).aspx

    Cela permet un paramétrage très fin la manière de tracer, quel niveau de log et où, etc.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Points : 103
    Points
    103
    Par défaut
    Merci Paul,

    Cela m'a l'air très intéressant.
    Je traite d'autres priorités et je m'attaque à ce point qui n'est pas bloquant.

    Je considère ce problème comme résolu grâce à vous ..

    Merci encore

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

Discussions similaires

  1. Créer et écrire dans un fichier.txt
    Par Furius dans le forum VBScript
    Réponses: 11
    Dernier message: 16/05/2016, 13h27
  2. Créer et écrire dans un fichier excel (VBA)
    Par fadoch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/04/2010, 11h30
  3. Créer et écrire dans un fichier excel (VBA)
    Par fadoch dans le forum Excel
    Réponses: 1
    Dernier message: 26/04/2010, 12h19
  4. [Fichiers] Créer et écrire dans un fichier .txt
    Par maserati dans le forum C++
    Réponses: 3
    Dernier message: 30/11/2008, 22h02
  5. Créer et écrire dans un fichier
    Par Sinon dans le forum Linux
    Réponses: 2
    Dernier message: 15/01/2007, 10h55

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