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

Résolu
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. 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. 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 :/
    2. 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"
    3. alors il me met sequence d'echappement non reconnue pour les lettres "l" de liste_mot et "i" de informatique.txt
    4. tu a bien l'arobase devant le texte entre guillemet?
    5. C'est bon pour cette erreur ;) il suffit de faire un \\
      Cependant ça ne fonctionne tout de même pas :/
  2. 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. Cela ne fonctionnera que si le fichier est sur le bureau aussi, j'aimerais qu'il fonctionne quelque soit son emplacement :/
    2. 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.
    3. 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.
      ;)
    4. 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.
    5. Normalement avec Application.StartupPath tu récupère l'emplacement de ton application (en instruction de vb)