IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Ecrire dans un fichier


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Par défaut Ecrire dans un fichier
    Bonjour,

    Je développe actuellement une application en C#.
    L'application fonctionne mais je me casse les dents sur une fonctionnalité minime.

    Je souhaite avoir une case "Mémoriser identifiant", lorsque je clique sur cette case, l'ID doit s'écrire dans un fichier. Hors l'erreur qui revient continuellement est : "Access to the path xxx is denied".

    Effectivement si manuellement je donne l'accès en écriture dans ce dossier à mon utilisateur ça fonctionne. Mais comme ce ne sont pas des utilisateurs admins, qui utiliseront le programme, je souhaite que le code le fasse.

    Voici le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
            //Case à cocher : mémorisation de l'ID
            private void CB_Mail_Save_CheckedChanged(object sender, EventArgs e)
            {
                string id;
     
                FileIOPermission lireecrire = new FileIOPermission(FileIOPermissionAccess.Read, Directory.GetCurrentDirectory());
                lireecrire.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, Directory.GetCurrentDirectory() + @"/iduser.ini");
                try
                {
                    lireecrire.Demand();
                    id= this.TB_Main_Id.ToString();
                    id= id.Substring(36, 9);
                    System.IO.File.WriteAllText(Directory.GetCurrentDirectory() + @"/iduser.ini", id);
                }
                catch (Exception s)
                {
                    MessageBox.Show(s.Message);
     
                }
            }
    Pour réaliser la demande de lecture écriture je me suis référé à : https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

    Si vous pouviez me débloquer, ça serait sympa.

    Cordialement,

    Florian

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    plutôt que de tenter de donner des droits auxquels tu n'as pas accès, ne serait-il pas mieux venu d'enregistrer ton fichier de paramétrage dans un des répertoire de l'utilisateur (genre User/Documents ou User/AppData) ? Au cas où voilà deux fiches MSDN qui pourraient t'intéresser si tu optes pour cette solution :
    - Environment.GetFolderPath
    - Environment.SpecialFolder

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Par défaut
    Salut,

    Effectivement, j'étais tellement bloqué sur mon problème que je n'ai pas réfléchi.
    Je vais de ce pas faire des tests pour AppData qui sera parfait pour ce genre de fichier.

    Merci, je test et je reviendrais donner la réponse avec le code et pour clore le sujet.

    Cordialement,

  4. #4
    Membre confirmé
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Par défaut
    Effectivement facile et pas cher , ça fonctionne très bien. Comme quoi, rien de tel qu'un avis externe pour avancer.

    Voici donc ma solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
            //Case à cocher : mémorisation de l'ID
            private void CB_Mail_Save_CheckedChanged(object sender, EventArgs e)
            {
                string id;
     
     
                id = this.TB_Main_Id.ToString();
                id = id.Substring(36, 9);
                string directoryAppData = @"C:\Users\" + id + @"\AppData\Local\GestionnairePV20";
     
                //Si le répertoire n'existe pas, le créer
                if (!Directory.Exists(directoryAppData))
                {
                    System.IO.Directory.CreateDirectory(directoryAppData);
                }
     
                System.IO.File.WriteAllText(directoryAppData + @"\iduser.ini", id);
     
            }
    Je clos le sujet.

    Bonne journée.
    Cordialement,

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Content d'avoir pu aider

    Bon dev.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire \" dans un fichier
    Par photorelief dans le forum Langage
    Réponses: 2
    Dernier message: 14/09/2005, 15h56
  2. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  3. Ecrire dans un fichier
    Par gibet_b dans le forum Linux
    Réponses: 5
    Dernier message: 25/04/2005, 20h11
  4. Ecrire dans un fichier grace à un trigger ?
    Par zigoo dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/10/2004, 20h03
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo