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 ?
A voir également:

2 réponses

borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   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
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
borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   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
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
borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   230
 
tu a bien l'arobase devant le texte entre guillemet?
0
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
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
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
borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   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
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
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
borisdu Messages postés 1824 Date d'inscription   Statut Membre Dernière intervention   230
 
Normalement avec Application.StartupPath tu récupère l'emplacement de ton application (en instruction de vb)
0