none
Class pour c# pour ouvrir et enregistrer dans un fichier RRS feed

  • Question

  •  

    Salut les pro

     

    Je cherche toujour comment faire une class de in et out en c# pour les fichier

     

    Je M,explique

     

    Si je veut creer une classe qui me permet de ouvrir les fichier et d'enregistrer les textes

    a partir d une RichtextBox dans un formulaire

    cette classe doit communiquer avec le mainform et ainsi de suite

    Comme  suit!

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace WindowsFormsApplication1

    {

       class InOut

       {

         public string Openfile(string FileName)

         {

           // Les commande d'ouverture de fichier ici

           return FileName;

         }

       

         public string SaveFile(string FileName)

         {

           // les commandes de sauveguarde ici

           return FileName;

         }

     

      }

    }

     

     

    Ca  cest le debut  Mais a chaque fois  le probleme reste le meme

     

    je ne peut pas lire le fichier ou ne peut pas enregistree le texte au fichier  

    je suis pas arriver a trouver la bonne facon de faire

     

    La j'ai besoin d'un bon coup de main!

     

    J appreci tout aide que vous m'apporterez

     

    Merci DanielMorais 

    lundi 14 avril 2008 15:22

Réponses

  • Bon je doit être fatigué moi car j'arrive toujours pas à comprendre ce que tu veux faire  Néanmoins je me suis un peu amusé ce matin pour te faire une petite classe InOut et espérant que ça réponde partiellement à ta question. Quand je dis que je me suis amusé c'est que j'en ai aussi fait un singleton (J'adore les singletons)

    Et hop voila la classe:

     

    Code Snippet

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.IO;

    namespace TestsDivers

    {

    public class InOut

    {

    private static readonly InOut _instance = new InOut();

    private InOut()

    {

    }

    public static InOut Instance()

    {

    return _instance;

    }

    ///

    /// Cette commande ouvre un fichier texte, en lit le contenu et retourne le résultat dans un string

    ///

    /// Contain the file name with its path

    ///

    public String Openfile(String fileName)

    {

    String content = "";

    StreamReader reader = File.OpenText(fileName);

    while (!reader.EndOfStream)

    {

    content += reader.ReadLine();

    }

    reader.Close();

    return content;

    }

     

    ///

    /// Cette commande prend un contenu et le sauvegarde dans un fichier texte à l'emplacement indiqué

    ///

    /// Contain the file name with its path

    /// Is the content to be written

    ///

    public Boolean SaveFile(String fileName, String content)

    {

    StreamWriter writer = File.CreateText(fileName);

    writer.WriteLine(content);

    writer.Close();

    return true;

    }

     

    }

    }

     

     

    Bon y a pas la référence à linq car je travaille avec un visual 2005 mais c'est du code basique qui marchera aussi en 2008

    J'ai utilisé les méthodes de FILE mais on peut aussi utiliser les constructeurs selon la granularité que l'on veut (sur la création, append, ...)

     

    Voila un exemple de l'utilisation (moi j'ai juste créé un richtextbox et 2 bouton)

     

    Code Snippet

    private void button6_Click(object sender, EventArgs e)

    {

    InOut.Instance().SaveFile(@"c:\temp\test.txt",richTextBox1.Text);

    }

    private void button7_Click(object sender, EventArgs e)

    {

    //read

    richTextBox1.Text = InOut.Instance().Openfile(@"c:\temp\test.txt");

    }

     

     

     

    Au fait pour info (au cas où tu ne le connaitrai pas par coeur ) le singleton est un Design pattern qui permet de n'avoir qu'une seule instance d'une classe. C'est pas forcément utile mais bon on se refait pas ....

     

    Note: je me rappelle pas des fonctions VB dont tu parles mais si je ne réponds pas à ta question n'hésite pas à me les redonner pour exemple
    mardi 15 avril 2008 07:07
  •  

    Merci beaucoup  j'en fait l'essaie des que je peut et te reviendrai si probleme

    Franchement c est du rapide j'ai ete ailleur  et pas de reponse personne semblait etre au courant

    Encore Merci

     

    Ca Fonctionne parfaitement et j'ai meme pu ajouté des petites chose de mon crus et ca fonctionne bien MERCI

     

    DanMor

    mardi 15 avril 2008 15:34
  • Merci à toi! et heureux d'avoir pu t'aider!

     

    jeudi 17 avril 2008 09:11

Toutes les réponses

  • Hum je suis pas sur de comprendre exactement ce que tu cherches à faire:

    ton Openfile ne récupères que le nom du fichier et ne renvoie pas le contenu ?

     

    Le problème à la base est il aussi simple que charger/sauver un richtextbox ?

    A ce moment là est ce que les méthodes du richtexbox ne te suffisent pas?

    RichTextBox.SaveFile(filename);

    RichTextBox.LoadFile(filename);

     

    Sinon je ne voit pas bien ce que tu cherches à faire dans ton openFile et SaveFile. Pourrais tu préciser?

    lundi 14 avril 2008 15:48
  •  

    Je pourrais bien utiliser les deux facon donner si-dessu mais mon probleme est que dans la classe

    je peut pas utiliser richtextbox.loadfile(Filename) c est rejeter par la class

    en fait la classe pourrait etre utiliser aussi bien avec une textbox ou une richtextbox

    ce que je veut savoir comment je peut m'y prendre pour les commande de facon a ne pas avoir a reecrire le tout a chaque fois et je veut savoir si je peut utiliser l example du debut  pour cette class ouverture et enregistrement de fichier

    il en existe en vb mais ne sont pas utilisable en c#

     

    J'ai essayer plusieur facon de style textreader et textwriter avec System.IO cela ne fontionne pas

    je ne sais pas pourquoi.

     

    je sais pas si tu comprend ce que je veut faire

    je sais pas si j'ai ete asse claire 

     

    y a t'il aussi une autre facon de faire pour la classe

    lundi 14 avril 2008 16:23
  • Bon je doit être fatigué moi car j'arrive toujours pas à comprendre ce que tu veux faire  Néanmoins je me suis un peu amusé ce matin pour te faire une petite classe InOut et espérant que ça réponde partiellement à ta question. Quand je dis que je me suis amusé c'est que j'en ai aussi fait un singleton (J'adore les singletons)

    Et hop voila la classe:

     

    Code Snippet

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.IO;

    namespace TestsDivers

    {

    public class InOut

    {

    private static readonly InOut _instance = new InOut();

    private InOut()

    {

    }

    public static InOut Instance()

    {

    return _instance;

    }

    ///

    /// Cette commande ouvre un fichier texte, en lit le contenu et retourne le résultat dans un string

    ///

    /// Contain the file name with its path

    ///

    public String Openfile(String fileName)

    {

    String content = "";

    StreamReader reader = File.OpenText(fileName);

    while (!reader.EndOfStream)

    {

    content += reader.ReadLine();

    }

    reader.Close();

    return content;

    }

     

    ///

    /// Cette commande prend un contenu et le sauvegarde dans un fichier texte à l'emplacement indiqué

    ///

    /// Contain the file name with its path

    /// Is the content to be written

    ///

    public Boolean SaveFile(String fileName, String content)

    {

    StreamWriter writer = File.CreateText(fileName);

    writer.WriteLine(content);

    writer.Close();

    return true;

    }

     

    }

    }

     

     

    Bon y a pas la référence à linq car je travaille avec un visual 2005 mais c'est du code basique qui marchera aussi en 2008

    J'ai utilisé les méthodes de FILE mais on peut aussi utiliser les constructeurs selon la granularité que l'on veut (sur la création, append, ...)

     

    Voila un exemple de l'utilisation (moi j'ai juste créé un richtextbox et 2 bouton)

     

    Code Snippet

    private void button6_Click(object sender, EventArgs e)

    {

    InOut.Instance().SaveFile(@"c:\temp\test.txt",richTextBox1.Text);

    }

    private void button7_Click(object sender, EventArgs e)

    {

    //read

    richTextBox1.Text = InOut.Instance().Openfile(@"c:\temp\test.txt");

    }

     

     

     

    Au fait pour info (au cas où tu ne le connaitrai pas par coeur ) le singleton est un Design pattern qui permet de n'avoir qu'une seule instance d'une classe. C'est pas forcément utile mais bon on se refait pas ....

     

    Note: je me rappelle pas des fonctions VB dont tu parles mais si je ne réponds pas à ta question n'hésite pas à me les redonner pour exemple
    mardi 15 avril 2008 07:07
  •  

    Merci beaucoup  j'en fait l'essaie des que je peut et te reviendrai si probleme

    Franchement c est du rapide j'ai ete ailleur  et pas de reponse personne semblait etre au courant

    Encore Merci

     

    Ca Fonctionne parfaitement et j'ai meme pu ajouté des petites chose de mon crus et ca fonctionne bien MERCI

     

    DanMor

    mardi 15 avril 2008 15:34
  • Merci à toi! et heureux d'avoir pu t'aider!

     

    jeudi 17 avril 2008 09:11