Problème chemin d'accès en c#

Résolu
Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   -  
Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Voila pour demain je dois rendre un pendu programmé en c#, tout est fonctionnel cependant j'ai un problème de chemin d'accès.

L'une des contraintes du projet est que les fichiers contenant les mots doivent se trouver dans un fichier texte.

Voici mon code actuel :

StreamReader listeMot = file.OpenText(@"C:\Users\Krishnak\Desktop\Pendu\liste_mot\informatique.txt");

Suivi d'une boucle while pour l'ajout des mots dans une liste.

Il est évident que mon code ne fonctionnera pas sur une autre machine que la mienne, comment faire ?

2 réponses

  1. borisdu Messages postés 1939 Statut Membre 230
     
    Lu'

    essaye ça :

    
    dim chemin as string
    
    chemin = Application.StartupPath & "\liste_mot\informatique.txt"
    StreamReader listeMot = file.OpenText(@chemin); 
    
    


    PS : c'est du C# mais il suffit de changer méthode de déclaration de ta variable
    1
    1. Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   46
       
      9a ne fonctionne pas, l'opérateur '&' ne peut être appliqué aux opérandes de type 'string' et 'string' et deux fois Séquence d'échapemment non reconnue en erreur :/
      0
    2. borisdu Messages postés 1939 Statut Membre 230
       
      Excuse moi, ce n'est pas du C# mais du VB. Remplace & par l'opérateur de concaténation en c# (l'opérateur +)
      En gros : chemin = Application.StartupPath + @"\liste_mot\informatique.txt"
      0
    3. Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   46
       
      alors il me met sequence d'echappement non reconnue pour les lettres "l" de liste_mot et "i" de informatique.txt
      0
    4. borisdu Messages postés 1939 Statut Membre 230
       
      tu a bien l'arobase devant le texte entre guillemet?
      0
    5. Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   46
       
      C'est bon pour cette erreur ;) il suffit de faire un \\
      Cependant ça ne fonctionne tout de même pas :/
      0
  2. Yoda
     
    Salut,

    Tu dois recuperer la valeur de la variable d'environnement USERNAME

    string NomUtilisateur = Environment.GetEnvironmentVariable("USERNAME")
    string fichier = "C:\Users\" + NomUtilisateur + "\Desktop\Pendu\liste_mot\informatique.txt"
    1
    1. Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   46
       
      Cela ne fonctionnera que si le fichier est sur le bureau aussi, j'aimerais qu'il fonctionne quelque soit son emplacement :/
      0
    2. borisdu Messages postés 1939 Statut Membre 230
       
      Il faut forcement que tu renseigne l'emplacement de ton fichier quelque part.
      Tu peut créer un fichier .ini (ou un autre) que tu place à la racine de ton programme, et tu fait une interface pour renseigner la première fois le chemin de ton fichiers.
      0
    3. Yoda
       
      Il faudra bien definir à un moment donné le dossier ou sera stocké ton fichier txt.
      Si c'est pas Desktop ce sera AppData ou ce que tu veux, mais il ne doit pas varier au gré des utilisateurs.
      ;)
      0
    4. Krishnak59 Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   46
       
      Il n'y a donc pas moyen de juste dire "prend dans le dossier ou se trouve le code de l'applications " ? Je ne lance le programme qu'en débogage, il n'est donc pas installé à un endroit fixe.
      0
    5. borisdu Messages postés 1939 Statut Membre 230
       
      Normalement avec Application.StartupPath tu récupère l'emplacement de ton application (en instruction de vb)
      0