none
Petit problème lors de l'écriture dans un fichier RRS feed

  • Question

  • Bonjour,

    Je voudrais vous demandez votre aide pour l'écriture dans un fichier texte.

    Mon problème est que je souhaite repertoirier plusieus "fiche client" dans un fichier texte, où j'insert dans des textbox les champs requis.

    Premiere ecriture c 'est parfait, mais a la seconde , il m'efface la premiere.

    voici mon code :

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    namespace taxatel
    {
      public partial class CreerFiche : Form
      {
        Email FormEmail = new Email();//Créer une nouvelle Form
        string NomFiche;
        string PrenomFiche;
        string TelephoneFiche;
        string MailFiche;
        public CreerFiche()
        {
          InitializeComponent();
        }
    
        private void AnnCreerFiche_Click(object sender, EventArgs e)//Cette fonction est activée quand on clique sur le bouton AnnCreerFiche
        {
          this.Hide(); //Cache la form active
        }
    
        private void ValCreerFicher_Click(object sender, EventArgs e)//Cette fonction est activée quand on clique sur le bouton ValCreerFiche
        {
    
          StreamWriter sw = new StreamWriter("c:\\Projet\\FicheClient.txt"); //Ouverture en écriture du fichier ,Si non existant creation du fichier FicheClient.
          {
            sw.WriteLine(NomFiche);
            sw.WriteLine(PrenomFiche);
            sw.WriteLine(TelephoneFiche);
            sw.WriteLine(MailFiche);
            sw.WriteLine(" ");
          }
          sw.Close();
    
          MailCreerFiche.Text = "";//Remet la valeure de la textBox vide
          TelephoneCreerFiche.Text = "";//Remet la valeure de la textBox vide
          PrenomCreerFiche.Text = "";//Remet la valeure de la textBox vide
          NomCreerFiche.Text = "";//Remet la valeure de la textBox vide
    
          this.Hide(); //Cache la form active
        }
        private void TelephoneCreerFiche_TextChanged(object sender, EventArgs e)
        {
          this.TelephoneFiche = this.TelephoneCreerFiche.Text; //Recupere la valeur de la textBox "TelephoneCreerFiche" dans la variable "TelephoneFiche"
        }
    
        private void MailCreerFiche_TextChanged(object sender, EventArgs e)
        {
          this.MailFiche = this.MailCreerFiche.Text ;//Recupere la valeur de la textBox "MailCreerFiche" dans la variable "MailFiche"
        }
    
        private void PrenomCreerFiche_TextChanged(object sender, EventArgs e)
        {
          this.PrenomFiche = this.PrenomCreerFiche.Text; //Recupere la valeur de la textBox "PrenomCreerFiche" dans la variable "PrenomFiche"
        }
    
        private void NomCreerFiche_TextChanged(object sender, EventArgs e)
        {
           this.NomFiche = this.NomCreerFiche.Text; //Recupere la valeur de la textBox "NomCreerFiche" dans la variable "NomFiche"
        }
    
      }
    }
    
    
    

    auriez-vous un peu de temps a m'accorder pour m'expliquer où est mon erreur et me guider vers la bonne fonction a utiliser pour ne pas perdre mes données déjà enregistrée.

     

    Cdlt, Jérémy

    vendredi 10 juin 2011 11:22

Réponses

  • Bonjour,

    vous pouvez utiliser un autre constructeur de la classe StreamWriter qui permet de dire si oui ou non vous voulez conserver les lignes existantes

     

    using(StreamWriter sw = new StreamWriter("c:\\Projet\\FicheClient.txt", true))
    {
    ...
    }
    

     


    Je vous conseille également d'utiliser la syntaxe utilisant le mot clé using : ceci vous garantit que le flux sera fermé et libéré même en cas d'erreur.

    Cordialement


    • Marqué comme réponse JérémyT vendredi 10 juin 2011 12:03
    vendredi 10 juin 2011 11:51
    Modérateur

Toutes les réponses

  • Bonjour,

    vous pouvez utiliser un autre constructeur de la classe StreamWriter qui permet de dire si oui ou non vous voulez conserver les lignes existantes

     

    using(StreamWriter sw = new StreamWriter("c:\\Projet\\FicheClient.txt", true))
    {
    ...
    }
    

     


    Je vous conseille également d'utiliser la syntaxe utilisant le mot clé using : ceci vous garantit que le flux sera fermé et libéré même en cas d'erreur.

    Cordialement


    • Marqué comme réponse JérémyT vendredi 10 juin 2011 12:03
    vendredi 10 juin 2011 11:51
    Modérateur
  • Je te remercie franchement, je clos le sujet et je met ta réponse en réponse du sujet

     

     

    Cordialement,

    Jérémy

    vendredi 10 juin 2011 12:04