Bouton enregistrer [Résolu]

Signaler
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009
-
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
bonjour à tous,

comment enregistrer un fichier en c# en cliquant sur un bouton enregistrer?

comment imprimer un fichier en c# en cliquant sur un bouton imprimer?

merci

18 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
using(SaveFileDialog sfd = new SaveFileDialog())
{
   if(sfd.ShowDialog() == DialogResult.OK)
   {
      // Sauvegarde de ton fichier.
      // Tu peux récuperer le nom entré par l'utilisateur avec sfd.FileName
   }
}

Mx
MVP C# 
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
http://msdn2.microsoft.com/en-us/library/system.drawing.brushes.aspx



On y lit : "Namespace : System.Drawing"

Tu as ajouté le using qui va bien en haut de ta page ?

Mx
MVP C# 
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Regarde le lien que je t'ai donné dans ma toute premiere réponse. Ya tout ce qu'il te faut (PrintDialog... tu peux aussi regarder ce que la MSDN t'en dit).

Mx
MVP C# 
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

bonjour
merci à votre réponse mais s'il vous plait est ce que vous pouvez me dire comment je peux utiliser (SaveFileDialog).
merci pour tous
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

rebonjour

merci 1000 fois maintenant on va essayer ce code et si il y a un probléme je veux te répondre.

svp j'ai un petit question est ce que vous avez une connaissance de connection à la base(sqlserver2005)?

merci une autre fois?
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

bonjour
j'essaye avec ce code mais aprés l'enregistrement de mon fichier je ne le trouve pas dans l'emplacement que j'ai choisi.
c'est quoi la probléme ?
 merci beaucoup.
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
le problèeme se trouve dans mon premier message

"Ensuite pour reellement effectuer la sauvegarde ca depend de ton type de fichier (texte, image, ...). Avec un peu de précision on pourra te donner la solution exacte"

Le SaveFileDialog permetà l'utilisateur d'indiquer où il souhaite sauvegarder le fichier, mais n'effectue pas la sauvegarde.

Mx
MVP C# 
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

je veux enregistrer le contenu d'un panel sous le type .txt.
merci
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Comment veux-tu enregistrer un panel en format txt ?
Tu as quoi dans ce panel ?

Mx
MVP C# 
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

je suis entains de dévélopper un logiciel (inventaire automatique d'un parc informatique) qui permet d'inventer une machine et afficher ces informations systéme dans un panel.alos je veux enregistrer ces informations.
merci
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Ok

Donc a priori tu sais comment récuperer chaque information que tu affiche dans ton panel.
Tu vas pouvoir procéder ainsi, en remplacant chaque info par ce que toi tu récupères

<hr />
using (
SaveFileDialog sfd =
new
SaveFileDialog())
{

   if(sfd.ShowDialog() ==
DialogResult.OK)
   {

      using (
StreamWriter sw =
new
StreamWriter(sfd.FileName))
      {
         sw.WriteLine(
"info1");
         sw.WriteLine(
"info2");

        //..    
      }
   }

}
<hr />
Je te laisse gérer les erreurs qui peuvent survenir (manque de droits en ecriture, ...)

Mx
MVP C# 
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

merci 1000 fois de ton aide c'est bien pssé l'enregistrement.
merci une autre fois.
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

c'est bien passé avec le bouton enregistre mais avec le bouton imprimer on 'a pas compris comment on fait? avez vous un autre exemple plus simple?
merci
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Tu as tout ce qu'il te faut dans la documentation MSDN

Mx
MVP C# 
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

merci bien je vais lire cette documentation.
et essayer de comprendre.
merci pour tous
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

on a essayé avec ce code mais un erreure qui fournit


l' erreur lors de l'execution:

"The name 'Brushes' does not exist in the current context

C:\Documents and Settings\admin\Mes documents\Visual Studio 2005\Projects\parc\parc\Form2.cs"
c'est la solution?
System.IO.StreamReader fileToPrint;

        System.Drawing.Font printFont;
        private void button2_Click(object sender, EventArgs e)
        {
            string printPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            fileToPrint = new System.IO.StreamReader(printPath + @"\myFile.txt");
            printFont = new System.Drawing.Font("Arial", 10);
            printDocument1.Print();
            fileToPrint.Close();

        }

        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            float yPos = 0f;
            int count = 0;
            float leftMargin = e.MarginBounds.Left;
            float topMargin = e.MarginBounds.Top;
            string line = null;
            float linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
            while (count < linesPerPage)
            {
                line = fileToPrint.ReadLine();
                if (line == null)
                {
                    break;
                }
                yPos = topMargin + count * printFont.GetHeight(e.Graphics);
                e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, new System.Drawing.StringFormat());
                count++;
            }
            if (line != null)
            {
                e.HasMorePages = true;
            }
        }
merci
Messages postés
225
Date d'inscription
samedi 7 avril 2007
Statut
Membre
Dernière intervention
21 mai 2009

on résolut le probléme de l'érreure mais juste je veux qu'il m'affiche avant l'imprission la page de paramétre de l'imprimante (nobre de page,de copie....)
merci trés bien
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Salut,

Pour sauver un fichier, tu peux te servir du SaveFileDialog pour demander à l'utilisateur l'emplacement vers lequel sauvegarder (si necessaire). Ensuite pour reellement effectuer la sauvegarde ca depend de ton type de fichier (texte, image, ...). Avec un peu de précision on pourra te donner la solution exacte.

Pour l'impression, je te conseille d'aller lire la petite source interactive de Bidou qui se trouve ici
Mx
MVP C#