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 :

[C#] Pourquoi une affectation de chemin est refusée ?


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 19
    Points : 14
    Points
    14
    Par défaut [C#] Pourquoi une affectation de chemin est refusée ?
    Je ne comprends pas, j'ai déclaré une variable rep est j'initialise la variable en: rep = "C:\nom_repertoire";

    Mais il m'affiche erreur, je ne comprends rien.

    Quelqu'un peut il m'aider ?


    Merci

  2. #2
    Nouveau membre du Club Avatar de yoyann
    Inscrit en
    Juillet 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    c'est normal le compilateur n'aime pas les chaines de ce type avec \ donc la solution c'est de les doubler ex : \\
    ou sinon de faire rep = @"C:\nom_repertoire"; juste un petit @ avant ta chaine

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Salut filton
    je crois que yoyann a visé juste mais si à l'avenir tu pouvais nous simplifier la tâche en nous mettant la ligne de code concerné(ainsi on voit de nos yeux ce que tu as codé )
    et ensuite noté le message complet que lève cette ligne (il est toujours interressant de savoir le type d'exception générée )
    Tu verras que cela te servira enormement dans ton experience de developpeur

    PS: n'oublies pas le tag si c'est ok pour toi
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par yoyann
    c'est normal le compilateur n'aime pas les chaines de ce type avec \ donc la solution c'est de les doubler ex : \\
    ou sinon de faire rep = @"C:\nom_repertoire"; juste un petit @ avant ta chaine

    Merci les gars,

    Mais lorsque j'ai appliqué vos recommandations, il m'affiche cet erreur capté par une exception:

    " L'accès au chemin "c:\mon_repertoire" est refusé "

    J'utilise Win XP avec C#

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    ok ce repertoire est peut etre protegé en lecture/ecriture
    peux tu nous montrer ton code de lecture du repertoire à partir de la declaration de rep
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par neguib
    ok ce repertoire est peut etre protegé en lecture/ecriture
    peux tu nous montrer ton code de lecture du repertoire à partir de la declaration de rep

    Voici mon 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
    22
     
    string ch="";
    string filePath=@"c:\sonnerie";
    string[] files;            
    StreamReader strReader;
     
    try
    {
      files = Directory.GetFileSystemEntries(filePath);
      int filecount = files.GetUpperBound(0) + 1;
      for (int i = 0; i<filecount; i++)
      {
       strReader = new System.IO.StreamReader(filePath,Encoding.Default); 
       listBox1.Items.Add(files[i]);
       listBox2.Items.Add(strReader);
      }
    }
    catch (Exception ex)
    {
      MessageBox.Show(ex.Source);
      MessageBox.Show(ex.Message);
    }

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    A utilisé tel quel pour l'instant
    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
    22
    23
    24
    25
    26
    27
    28
     
    using System.IO;
    ///
    string ch=string.Empty;
    string filePath="c:\sonnerie\";
    string[] files;			
    StreamReader lecteur;
     
    try
     {
       files = Directory.GetFileSystemEntries(@filePath);
       foreach (string f in files)
        {
           ch = filepath & f;
           lecteur = new StreamReader(@ch,System.Text.Encoding.Default);   
           listBox1.Items.Add(f);
           listBox2.Items.Add(lecteur.ReadToEnd());
        }
     }
    catch (Exception ex)
     {
       MessageBox.Show(ex.Source);
       MessageBox.Show(ex.Message);
     }
    finally
     {
       lecteur.Close();
     }
    ok même manoeuvre, l'ideal étant de repérer la ligne qui fait passer dans le catch
    J'ai supposé que dans ton repertoire il n'y avait que des fichiers lisibles et pas de sousrepertoires
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par neguib
    A utilisé tel quel pour l'instant
    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
    22
    23
    24
    25
    26
    27
    28
     
    using System.IO;
    ///
    string ch=string.Empty;
    string filePath="c:\sonnerie\";
    string[] files;			
    StreamReader lecteur;
     
    try
     {
       files = Directory.GetFileSystemEntries(@filePath);
       foreach (string f in files)
        {
           ch = filepath & f;
           lecteur = new StreamReader(@ch,System.Text.Encoding.Default);   
           listBox1.Items.Add(f);
           listBox2.Items.Add(lecteur.ReadToEnd());
        }
     }
    catch (Exception ex)
     {
       MessageBox.Show(ex.Source);
       MessageBox.Show(ex.Message);
     }
    finally
     {
       lecteur.Close();
     }
    ok même manoeuvre, l'ideal étant de repérer la ligne qui fait passer dans le catch
    J'ai supposé que dans ton repertoire il n'y avait que des fichiers lisibles et pas de sousrepertoires

    Merci, mon frère, le problème est résolu.
    A+

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

Discussions similaires

  1. L' accés est refusé depuis une Iframe
    Par th0mas dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/05/2008, 13h15
  2. [phpMyAdmin] EXPLAIN : pourquoi une colonne est entourée d'orange ?
    Par Sayrus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 10/12/2007, 08h43
  3. [MySQL] Problème pour afficher une image dont le chemin est stocké dans la bdd
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2007, 08h49
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h51

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