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++/CLI Discussion :

[Winforms]Caract�res non conformes dans le chemin d'acc�s


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de Hemophilius
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2008
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par d�faut [Winforms]Caract�res non conformes dans le chemin d'acc�s
    Bonsoir
    Je charge depuis un fichier une partie de ce dernier qui est un path de fichier. Pourquoi je fais cela et pas autrement, c'est parce que l'utilisateur pourra travailler sur plusieurs projets. Il faut donc que selon le projet qu'il ouvre la bonne liste de trig et pas une autre.

    Donc je charge le fichier par le biais d'un streamreader. Et l� �a coince, il m'affiche l'erreur "Caract�res non conformes dans le chemin d'acc�s" et arr�te le programme.

    Voici mon code qui pause probl�me. Le probl�me se situe sur le StreamReader(...), car si je change la variable par un string simple comme "Projects\\untitled.triglist", cela fonctionne. Th�oriquement, la variable static "CurrentProjectTrigList" devrait contenir ce m�me 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
    private: System::Void ouvrirUnProjetExistantToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
                 if (this->OpenProject->ShowDialog() == Windows::Forms::DialogResult::OK)
                 {
                     String ^CompleteFile;
     
                     System::IO::StreamReader ^FindFiles = gcnew System::IO::StreamReader(this->OpenProject->FileName->ToString());
                     CompleteFile = FindFiles->ReadToEnd()->ToString();
                     FindFiles->Close();
     
                     CurrentProjectTrigList = SubstringFromAToA(CompleteFile, "TRIGSLISTPATH");
                     CurrentProjectEvntList = SubstringFromAToA(CompleteFile, "EVENTSLISTPATH");
     
                     System::IO::StreamReader ^LoadTriggers = gcnew System::IO::StreamReader(CurrentProjectTrigList);
                     ...
                     LoadTriggers->Close();
     
                 }
             }
    NB :
    - Fichier de base contenant les infos de projet :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TRIGSLISTPATH
    Projects\untitled.triglist
    TRIGSLISTPATH
    EVENTSLISTPATH
    Projects\untitled.evntlist
    EVENTSLISTPATH
    LUA FILE
    ...
    LUA FILE
    - Les path des fichiers triglist et sont entre les balises "TRIGSLISTPATH" dans le fichier pr�c�demment stream� (avec FindFiles) et sont donc stock�e m�me apr�s fermeture du programme, et permette de travailler sur plusieurs projets � la fois.

    - CurrentProjectTrigList, CurrentProjectEvntList : variables static d�clar�es globalement

    - SubstringFromAToA() : retourne le string qui se trouve entre deux occurences d'un autre string.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    String ^SubstringFromAToA(String ^Base, String ^StartEnd)
    {
        String ^s;
        s = (Base->Substring((Base->IndexOf(StartEnd) + (StartEnd->Length + 1)), ((Base->LastIndexOf(StartEnd)) - (Base->IndexOf(StartEnd) + StartEnd->Length + 1))));
        return s;
    }
    D'o� viendrait donc cet erreur de caract�re ? C'est impossible qu'il y en ait un non tol�r�... Enfin th�oriquement. C'est pourquoi je pose la question...
    Merci d'avance !

    EDIT : j'ai d�j� essay� de remplacer l'occurence '\' par '\\' dans CurrentProjectTrigList apr�s l'avoir param�tr� avec SubstringFromAToA, mais cela ne change rien.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    quel tete a ton chemin d'acc�s ?

  3. #3
    Membre confirm� Avatar de Hemophilius
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2008
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par d�faut
    Si tu me demandes � quoi il ressemble, il devrait �tre comme ceci :
    Projects\NomDuProjet.triglist
    Le seul nom de projet que j'utilise pour les tests, c'est "untitled" (sans les guillemets).
    Le chemin est charg� depuis le fichier projet *.h5t qui n'est qu'un fichier texte contenant le chemin vers tous les fichiers n�cessaires (le fichier LUA g�n�r� par le programme, le fichier .triglist qui contient la liste de la listBox et le fichier .evntlist qui contient la liste d'une autre listBox.

  4. #4
    Membre confirm� Avatar de Hemophilius
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2008
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par d�faut
    Bon j'ai r�ussi � contourner le probl�me. J'ai finalement opt� pour une autre m�thode, en r�cup�rant le nom du fichier ouvert .h5t, puis en enlevant le *.h5t et en le rempla�ant l'extension par *.triglist.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    System::IO::StreamReader ^LoadTriggers = gcnew System::IO::StreamReader(this->OpenProject->FileName->ToString()->Remove(this->OpenProject->FileName->ToString()->IndexOf(".h5t")) + ".triglist");
    Merci en tout cas d'avoir essay� de r�pondre

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Caract�res non conformes dans le chemin d'acc�s.
    Par stephan1932 dans le forum VB.NET
    R�ponses: 21
    Dernier message: 21/08/2015, 13h12
  2. R�ponses: 3
    Dernier message: 21/04/2013, 23h33
  3. R�ponses: 3
    Dernier message: 24/06/2009, 15h19
  4. Caract�res non conformes
    Par Mister Nono dans le forum Requ�tes
    R�ponses: 12
    Dernier message: 24/11/2006, 10h46
  5. Probl�me de caract�res non latin dans un formulaire
    Par Huntress dans le forum Langage
    R�ponses: 3
    Dernier message: 31/01/2006, 13h34

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