Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.NET] Caractères non conformes dans le chemin d'accès.

Sujet résolu
    21 avril 2011 à 20:36:53

    Bonjour a tous ,

    Je programme depuis assez longtemps en VB.NET et il y a 3 jours je suis tomber sur une erreur :
    "Caractères non conformes dans le chemin d'accès."

    Voici la ligne erronée :
    Dim lignes As String() = File.ReadAllLines(Directory.GetCurrentDirectory & "\Infos_sur_client\" & nom_client & ".txt"
    


    J'ai dfait ue serie de tests :

    --> si je remplace le "Directory.GetCurrentDirectory" par le repertoire cilbler, ca ne fonctionne pas.

    --> si par contre je remplace le "nom_client" par un nom de client ca fonction.

    hors, j'ai verifier en placeant un espion sous visual studio et "nom_client" a bien la bonne valeur.

    PS : J'ai bien verifier et "nom_client" est bien une variable de type string :D .

    quelqu'un pourrait -il m'aider? svp
    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2011 à 20:54:00

      Salut,


      Dim lignes As String() = File.ReadAllLines(Directory.GetCurrentDirectory & "\\Infos_sur_client\\" & nom_client & ".txt"
      


      Tu dois doubler tes "\", sinon c'est un caractère spéciale, comme "\n", qui est le retour de chariot.
      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2011 à 21:12:15

        ben non ca ne marche pas, j'avais deja essayer je croit... :(
        • Partager sur Facebook
        • Partager sur Twitter
          22 avril 2011 à 12:16:23

          M4N!aC : pas besoin en vb.net ;)

          Je verrais plus un truc dans le genre (pas testé) :

          ' On va vérifier que des caractères interdits ne sont pas présents dans le nom du client
          Dim regexSearch As String = String.Format("{0}{1}", New String(Path.GetInvalidFileNameChars()), New String(Path.GetInvalidPathChars()))
          Dim r As New Regex(String.Format("[{0}]", Regex.Escape(regexSearch)))
          ' On combine le tout ...
          nomFich = Path.Combine( Path.Combine(Directory.GetCurrentDirectory, "Infos_sur_client"), r.Replace(nom_client & ".txt", "") )
          If File.Exist(nomFich) Then
          	' Le fichier existe -> on lit les lignes
          	Dim lignes As String() = File.ReadAllLines(nomFich)
          End If
          

          • Partager sur Facebook
          • Partager sur Twitter
            23 avril 2011 à 10:44:10

            ton code fonctionne :)

            ca marche

            merci beaucoup ca m'a beaucoup aider

            j'ai juste pas compris pourquoi tu a mis un path.combine dans un autre path.combine...

            Moi j'ai du le faire en concatenant les chaine car si je faisait path.combine() il ne prenait pas en compte le directory.GetCurrentDirectory ... (Je ne sais absolument pas pourquoi...)

            Voila le code qui fonctionne :
            'On va vérifier que des caractères interdits ne sont pas présents dans le nom du client
                    Dim regexSearch As String = String.Format("{0}{1}", New String(Path.GetInvalidFileNameChars()), New String(Path.GetInvalidPathChars()))
                    Dim r As New Regex(String.Format("[{0}]", Regex.Escape(regexSearch)))
                    ' On combine le tout ...
                    Dim paath As String = Directory.GetCurrentDirectory & "\Infos_sur_client\" & r.Replace(nom_client & ".txt", "")
                    
                    If File.Exists(paath) Then
                        ' Le fichier existe -> on lit les lignes
                        Dim lignes As String() = File.ReadAllLines(paath)
                    End if
            
            • Partager sur Facebook
            • Partager sur Twitter

            [VB.NET] Caractères non conformes dans le chemin d'accès.

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown