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 :

[Visual C# 2010 Express] Path variable avec espaces


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut [Visual C# 2010 Express] Path variable avec espaces
    Bonjour,

    Je souhaiterais lancer un fichier XML avec XmlNotepad2007 je procede donc comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.WorkingDirectory = "@" + path;
    myProcess.StartInfo.Arguments = "Error_Report.xml";
    myProcess.Start();
    avec "path" qui est en faite le chemin que l'utilisateur a choisi via un Folder Browse Dialog.

    En fait avec ce code, il ne prend pas en compte le "path" et essai d'ouvrir le dossier ou se trouve l'executable mais en prenant bien le nom de fichier Error_Report sauf que bien sur ce nom de fihier n'existe pas dans ce dossier la... Et j'ai bien le bon path la ligne juste au-dessus ...

    Et avant j'avais essaye cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.Arguments = "@" + path + @"\Error_Report.xml";
    myProcess.Start();
    Et la, l'erreur est qu'il ne prend pas en compte les espaces notamment lorsqu'il arrive a "\Documents and Settings" ...

    Merci d'avance,

    Mathieu

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 223
    Points : 28 213
    Points
    28 213
    Par défaut
    C'est quoi cet @ que tu rajoute devant ton path pour l'argument ?

    Il n'a rien à faire dans la chaine.

    Par contre le path, s'il contient des espaces, doit être encadré de "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.WorkingDirectory = """" + path+"""";
    myProcess.StartInfo.Arguments = "Error_Report.xml";
    myProcess.Start();
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.Arguments = """" + path + @"\Error_Report.xml""";
    myProcess.Start();

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Le compilateur veut pas me prendre ses ecritures au niveau du """" + path + """"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.WorkingDirectory = """" + path+"""";
    myProcess.StartInfo.Arguments = "Error_Report.xml";
    myProcess.Start();

    Erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Only assignment, call, increment, decrement, and new object expressions can be used as a statement

    Edit :

    En faite il faut des + entre deux guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Process myProcess = new Process();
    myProcess.StartInfo.FileName = @"C:\Program Files\XML Notepad 2007\XmlNotepad.exe";
    myProcess.StartInfo.WorkingDirectory = "" + "" + path + "" + "";
    myProcess.StartInfo.Arguments = "Error_Report.xml";
    myProcess.Start();

    Merci beaucoup

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 223
    Points : 28 213
    Points
    28 213
    Par défaut
    Non, tes plus font que les guillemets ne servent à rien.

    Tu es en C#, ce n'est pas """" (ça c'est du VB) qu'il faut mettre mais certainement "\""

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Hum pourtant avec les + ca fonctionne ^^

    Oui je suis bien en C# peut-etre que la version 2010 permet ca !
    Parce que je n'ai rien change entre le moment ou j'ai poste mon probleme avec les erreurs et le moment ou j'ai teste ta solution et ensuite mis les +

    Edit : C'est moi qui est mis les plus en rouge pour montrer ou j'avais modifie.

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

Discussions similaires

  1. opencv 2.4.5 build avec visual c++ 2010 express
    Par Garra dans le forum OpenCV
    Réponses: 1
    Dernier message: 10/12/2013, 12h06
  2. [Débutant] Application WEB avec Visual Studio 2010 Express
    Par Aquellito dans le forum Développement Web avec .NET
    Réponses: 7
    Dernier message: 11/07/2013, 16h42
  3. firebird avec visual studio 2010 express
    Par Issam dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/12/2011, 22h03
  4. Problèmes pour publier avec Visual Studio 2010 Express
    Par yannick34 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 06/10/2011, 19h28
  5. Souci avec Visual C# 2010 Express et SQL Server 2008 Express
    Par VILPELLET dans le forum Visual Studio
    Réponses: 5
    Dernier message: 13/09/2011, 19h20

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