[C#] Ecrasement fichier..

Résolu
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005 - 2 juil. 2005 à 21:25
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 3 juil. 2005 à 10:08
Salute,



J'aimerai savoir comment éviter l'écrasement d'un fichier que j'enregistre à partir de C#.



Le but de mon programme

Après un Print écran, je lance le programme qui celui-ci m'enregistre sur le bureau un Bitmap nommé Test.



J'explique ce que je veux faire par un exemple

Lorsque j'ai effectué un premier enregistrement, sur le bureau il y a
l'image Test.bmp, si je refais un Print Ecran et que je relance le
programme ça va enregistrer par dessus en écrasant le fichier.
Je voudrais pouvoir éviter ça en ajoutant Test (n).bmp (n étant un
chiffre) à chaque sauvegarde afin d'éviter l'ecrasement.



Comment faire ?



Mon code




/*

 * Created by SharpDevelop.

 * User: Machjaghjolu

 * Date: 02/07/2005

 * Time: 08:28

 * 

 * To change this template use Tools | Options | Coding | Edit Standard Headers.

 */

using System;

using System.Drawing;

using System.Windows.Forms;



namespace CaptureScreen

{

    public class MainForm : System.Windows.Forms.Form

    {

        public static void Main(string[] args)

            { 

        IDataObject iData = Clipboard.GetDataObject();

          

        Bitmap img = (Bitmap) iData.GetData(DataFormats.Bitmap);

        

            img.Save (@"C:\Documents and Settings\All Users\Bureau\Test.bmp");

            }

    }

}

35 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 juil. 2005 à 23:31
Pas de problème je suis là encore un ptit moment.. ( Quand tu as une exception donne le nom de l'exception ). C'est le chemin qui ne doit pas être valide..
0
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005
2 juil. 2005 à 23:42
try {
IDataObject iData = Clipboard.GetDataObject();

Bitmap img = (Bitmap) iData.GetData(DataFormats.Bitmap);

img.Save (@"C:\Documents and Settings\Bidou\Desktop\Test{0}.bmp" +DateTime.Now);
}
}
catch {
Console.WriteLine("erreur"); }
}


J'ai essayé ça mais ça ne marche pas ... (pas compris ton explication du nom de l'exeption lol désolé)
0
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005
2 juil. 2005 à 23:44
En essayant ça aussi pareil, j'ai 5 erreurs...

try {
IDataObject iData = Clipboard.GetDataObject();

Bitmap img = (Bitmap) iData.GetData(DataFormats.Bitmap);

img.Save (@"C:\Documents and Settings\Bidou\Desktop\Test{0}.bmp" +DateTime.Now);
}
}
catch (Exception e) {
Console.WriteLine("erreur" +e.Message); }
}
}
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 juil. 2005 à 23:57
Les try/catch ok c'est bon. Maintenant tu dois verifier que c'est bien un bitmap qui est dans le clipboard avec
if ( data.GetDataPresent( DataFormats.Bitmap ) )
{
// Sauvegarde ton bitmap.
}

Je pense que tu n'as pas de dossier Bidou chez toi : ) changes le chemin. Et utilises


DateTime.Now.ToString( "ddMMyyhhmmss" );

Pas DateTime.Now tout seul..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005
3 juil. 2005 à 00:06
Je verrai demain là j'ai encore des erreurs...

Ca dérange pas si je repasse ? Lol
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 juil. 2005 à 00:08
Salut,

Je dirais même

Bitmap img = (Bitmap) iData.GetData(DataFormats.Bitmap);
string path = string.Format(@"C:\Documents and Settings\Bidou\Desktop\Test{0}.bmp", DateTime.Now.ToString("ddMMyyhhmmss"));
img.Save (path);

il ne doit pas non plus aimer les {} :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 juil. 2005 à 00:15
Ouuuah il est trop classe mon copier/coller : ))
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 juil. 2005 à 00:24
Pour ton probleme de c/c : http://www.csharpfr.com/code.aspx?ID=28646

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 juil. 2005 à 00:32
Avais pas vu.. il est très bien ce code mais il ne corrige pas encore les fautes d'orthographes : )
0
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005
3 juil. 2005 à 00:51
Merci c'est parfait :)
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 juil. 2005 à 09:11
Oui c'est un peu plus dur à implémenter ça lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
3 juil. 2005 à 09:25
coq > J'ai pas bien compris pourquoi il ne devrait pas aimer les '{ }' ?
Bon c'est vrai que hier soir, j'ai pas été des plus efficients, mais c'est parce que j'étais naze! si si

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 juil. 2005 à 09:29
Pas dans ton code bidou lol, mais dans celui de Machjaghjolu :

img.Save (@"C:\Documents and Settings\Bidou\Desktop\Test{0}.bmp" +DateTime.Now);

En nom de fichier ça doit faire des étincelles.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_Machjaghjolu Messages postés 92 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 10 octobre 2005
3 juil. 2005 à 10:01
Il était tard hein ho hein :p



En tout cas merci :)
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 juil. 2005 à 10:08
lol
De rien :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Rejoignez-nous