Savefiledialog : HELP !

cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007 - 12 avril 2006 à 18:26
cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007 - 14 avril 2006 à 10:46
J'utilise le code suivant pour choisir le nom de fichier d'enregistrement :

private void menuSave_Click(object sender, EventArgs e)
{
timer.Enabled = false;
Stream myStream;
DlgSave.Filter = "Pacman Files (*.pac)|*.pac|All files (*.*)|*.*";
DlgSave.RestoreDirectory = true;
DlgSave.Title = "Enregistrement";
if (DlgSave.ShowDialog() == DialogResult.OK)
{
if ((myStream = DlgSave.OpenFile()) != null)
{ myStream.Close(); }
else
{ name = this.DlgSave.FileName; }
}
SaveGame(name);
timer.Enabled = true;
}

void SaveGame(string SaveName)
{
// *** Ecriture dans le fichier ***
StreamWriter Fichier; // Déclaration
Fichier = File.CreateText(SaveName); // Creation du fichier
...........
}

Il me met une erreur lorsque je veux creer le fichier avec le nom que je recupere plus haut. Si quelqu'un a une idée..

Merci !

8 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
12 avril 2006 à 21:44
Salut,



Méfies-toi des variables qui possèdent le nom "Name".

Name est une propriété d'un bon nombre d'objets, il pourrait y avoir des conflits.

Manu
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
12 avril 2006 à 21:46
Au passage, ta variable "name" dans la première procédure, elle est déclarée où ?
Et quel est le message d'erreur que tu obtiens ?




Manu
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
13 avril 2006 à 08:26
Salut, en plus de la remarque de econs : lorsque le dialogResult vaut 'No' tu executes quand même la procédure de sauvegarde mais avec une variable name sans doute initialisée par défaut. C'est normal ?
0
cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007
13 avril 2006 à 11:42
non en effet ce n'est pas normal :D j'essaye de corriger ca mais je me perd un peu.

J'ai changé le nom de la variable et j'ai toujours la même erreur, pas à la compilation mais pendant que le prog tourne ! Il s'arrete sur la commande Fichier = File.CreateText(SaveName); // Creation du fichier
0

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

Posez votre question
cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007
13 avril 2006 à 11:44
Ma variable SaveName doit bien etre declaré comme une string non ?

private string SaveName = "";
0
cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007
13 avril 2006 à 11:45
l'erreur c'est : "ArgumentExeption was unhandled Empty path name is not legal."

Merci à tous pour le coup de main
0
t_barbillon Messages postés 341 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 10 février 2009 2
14 avril 2006 à 08:12
Salut dans ce cas je pense que c'est un probléme dans ton test : si le DialogResult vaut No ou si le test sur le stream non null est vrai, tu exécutes la procédure de sauvegarde avec une variable initialisé par défaut (String.Empty) d'où l'exception.
0
cedoli Messages postés 58 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 13 avril 2007
14 avril 2006 à 10:46
J'ai trouvé le probleme : vu que if ((myStream = DlgSave.OpenFile()) != null)
{ myStream.Close(); } est toujours juste, le prog ne passait pas par la commande ou je copie le contenu du filename dans le string .. Merci a tous :)
0
Rejoignez-nous