Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur : " Illegal characters in patch" [ Divers / Débutants ] (Impossibeulman)

lundi 7 juillet 2008 à 16:57:05 | Erreur : " Illegal characters in patch"

Impossibeulman

J'ai un message d'erreur :  " Illegal characters in path. "

Voici le code:
--------------------------------------------------------------------------
            '-------------
            Tableau3(0 + (b - 3)) = "In = FALSE" & Environment.NewLine & "Out = False" & Environment.NewLine & "Key = ""user-agent:" & Tableau4(0 + (b - 3)) & Tableau5(0 + (b - 3)) & Tableau6(0 + (b - 3)) & Tableau7(0 + (b - 3)) & Tableau2(0 + (b - 3)) & """" & Environment.NewLine & "Match = ""*""" & Environment.NewLine & "Replace = """ & Tableau1(0 + (b - 3)) & """" & Environment.NewLine
            '-------------
                RichTextBox1.Text = RichTextBox1.Text & vbCrLf & Tableau3(0 + (b - 3))
            '-------------
            Loop While a <> b - 2
            ProgressBar1.Value = 80
            Quitter_exl()
            '-------------
            Button5.Enabled = True
            '-------------
            Dim Temp_D As StreamReader = File.OpenText(My.Resources.Temp_D)
            While Not Temp_D.EndOfStream
                Dim line As String = Temp_D.ReadLine()
            End While

            '-------------
            Dim Temp_F As StreamReader = File.OpenText(My.Resources.Temp_F)
            While Not Temp_F.EndOfStream
                Dim line As String = Temp_F.ReadLine()
            End While

            '-------------
            Dim T1 As String
            Dim T2 As String
            T1 = Temp_D.Read
            T2 = Temp_F.Read
            conf = T1 & RichTextBox1.Text & T2
            Temp_D.Close()
            Temp_F.Close()

            '-------------
            Dim Ficecrire As System.IO.StreamWriter
            'sauvegarde
            Ficecrire = New System.IO.StreamWriter(SaveFileDialog1.FileName)
            Ficecrire.WriteLine(RichTextBox1.Text)

            ProgressBar1.Value = 100
            Label5.Visible = True

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erreur...")
        End Try
    End Sub
------------------------------------------------------------------------------------------------

Ps: en mode débog pas a pas, sa ne plante pas avent ( Button5.Enabled = True), Donc les ligne susceptible de poser problème sont en orange ^^

Merci d'avance.

Cordialement.

Impossibeulman.

lundi 7 juillet 2008 à 17:01:06 | Re : Erreur : " Illegal characters in patch"

mortalino

Membre Club
Réponse acceptée !
salut,

c'est quoi temp_D ? (je fais pas de Dotnet)

Mais au vu du message d'erreur, je dirais que tu tentes d'écrire un nom de fichier avec un caractère pas commun (avec ton filedialog dans le streamwriter).
Après suis pas assez calé pour te dire quels caractères peuvent provoquer une erreur. (et te garantis pas que je te mette sur la bonne voie)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

lundi 7 juillet 2008 à 17:12:24 | Re : Erreur : " Illegal characters in patch"

Impossibeulman

Peut-être ...

TempDb et TempFi Sont mes template début et fin.

Car je cherche a générer un fichier de configuration (CFG) pour un autre logiciel.

Mais je ne génère que les paramètre du milieu du fichier, les donnée qui de trouve aven et aprés je cherche juste a les importer sous forme de template et regrouper le tout a la fin (conf = line_d & RichTextBox1.Text & line_f).

J'ai modifier légèrement mon code mais toujours la même erreur:

-------------------------------------------------------------------------------------
    Sub gen_cfg()

        Dim Tableau1(a - 1) As String
        Dim Tableau2(a - 1) As String
        Dim Tableau3(a - 1) As String
        '-------------
        Dim Tableau4(a - 1) As String
        Dim Tableau5(a - 1) As String
        Dim Tableau6(a - 1) As String
        Dim Tableau7(a - 1) As String
        Dim conf As String
        '-------------
        b = 2
        ProgressBar1.Value = 30
        Try
            Do
                b = b + 1
                Tableau1(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("A" & b).value
                Tableau2(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("B" & b).value
                '-------------
                Tableau4(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("C" & b).value
                If Tableau4(0 + (b - 3)) Like "*3G" Then
                    Tableau4(0 + (b - 3)) = "3G "
                ElseIf Tableau4(0 + (b - 3)) Like "*2G" Then
                    Tableau4(0 + (b - 3)) = "2G "
                ElseIf Tableau4(0 + (b - 3)) Like "Basic C*" Then
                    Tableau4(0 + (b - 3)) = "BC "
                Else
                    Tableau4(0 + (b - 3)) = ""
                End If
                '-------------
                Tableau5(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("D" & b).value
                If Tableau5(0 + (b - 3)) Like "Oui" Then
                    Tableau5(0 + (b - 3)) = "XH "
                ElseIf Tableau5(0 + (b - 3)) Like "Non" Then
                    Tableau5(0 + (b - 3)) = "WM "
                Else
                    Tableau5(0 + (b - 3)) = ""
                End If
                '-------------
                Tableau6(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("S" & b).value
                If Tableau6(0 + (b - 3)) Like "TRUE" Then
                    Tableau6(0 + (b - 3)) = "J "
                ElseIf Tableau6(0 + (b - 3)) Like "FALSE" Then
                    Tableau6(0 + (b - 3)) = ""
                Else
                    Tableau6(0 + (b - 3)) = ""
                End If
                '-------------
                Tableau7(0 + (b - 3)) = appxls.ActiveWorkbook.Worksheets(2).range("E" & b).value
                If Tableau7(0 + (b - 3)) Like "Oui" Then
                    Tableau7(0 + (b - 3)) = "M "
                ElseIf Tableau7(0 + (b - 3)) Like "Non" Then
                    Tableau7(0 + (b - 3)) = ""
                Else
                    Tableau7(0 + (b - 3)) = ""
                End If
                '-------------
                Tableau3(0 + (b - 3)) = "In = FALSE" & Environment.NewLine & "Out = False" & Environment.NewLine & "Key = ""user-agent:" & Tableau4(0 + (b - 3)) & Tableau5(0 + (b - 3)) & Tableau6(0 + (b - 3)) & Tableau7(0 + (b - 3)) & Tableau2(0 + (b - 3)) & """" & Environment.NewLine & "Match = ""*""" & Environment.NewLine & "Replace = """ & Tableau1(0 + (b - 3)) & """" & Environment.NewLine
                '-------------
                RichTextBox1.Text = RichTextBox1.Text & vbCrLf & Tableau3(0 + (b - 3))
                '-------------
            Loop While a <> b - 2
            ProgressBar1.Value = 80
            Quitter_exl()
            '-------------
            Button5.Enabled = True
            '-------------
            Dim TempDb As StreamReader = File.OpenText(My.Resources.TempDb)
            While Not TempDb.EndOfStream
                Dim lined As String = TempDb.ReadLine()
                line_f = lined
            End While
            '-------------
            Dim TempFi As StreamReader = File.OpenText(My.Resources.TempFi)
            While Not TempFi.EndOfStream
                Dim linef As String = TempFi.ReadLine()
                line_d = linef
            End While
            '-------------
            conf = line_d & RichTextBox1.Text & line_f
            TempDb.Close()
            TempFi.Close()
            '-------------
            Dim Ficecrire As System.IO.StreamWriter
            'sauvegarde
            Ficecrire = New System.IO.StreamWriter(SaveFileDialog1.FileName)
            Ficecrire.WriteLine(RichTextBox1.Text)
            ProgressBar1.Value = 100
            Label5.Visible = True

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erreur...")
        End Try
    End Sub
----------------------------------------------------------------------------------------------------

Impossibeulman.

lundi 7 juillet 2008 à 18:11:02 | Re : Erreur : " Illegal characters in patch"

Kristof_Koder

C'est ton My.Resources.TempDb qui contient une valeur ne représentant pas un chemin d'accès valide. Avec un caractère non accepter pour un nom de fichier dedans, du genre *, ?, /, \, etc ...
Fait un Messagebox.Show dessus juste avant la ligne ouvrant le stream avec et tu verras le problème je pense !

lundi 7 juillet 2008 à 19:55:24 | Re : Erreur : " Illegal characters in patch"

Kevin.Ory

Réponse acceptée !
Salut,
Je suis d'accord avec Kristof :
Dim Temp_D As StreamReader = File.OpenText(My.Resources.Temp_D)
My.Resources.Temp_D doit être un chemin valide pointant sur un fichier
Mais un "\" est un caractère valide pour un chemin de fichier

While Not TempDb.EndOfStream
    Dim lined As String = TempDb.ReadLine()
    line_f = lined
End While
Le but est d'avoir la dernière ligne du fichier donc? (contenue dans line_f)
Pas très élgant de lire toues les lignes si on ne veut que la dernière, mais effectivement on à pas trop le choix. Mais je conseil de lire le ficher en une fois au lieu de faire une boucle, comme cela:
Dim Lines() As String = IO.File.ReadAllLines("C:\Fichier.txt")
Dim LastLine As String = Lines(Lines.Length - 1)

Tu peux simplifier la sauvegarde de la même façon :
Dim Ficecrire As System.IO.StreamWriter
Ficecrire = New System.IO.StreamWriter(SaveFileDialog1.FileName)
Ficecrire.WriteLine(RichTextBox1.Text)

devient :
IO.File.WriteAllText(SaveFileDialog1.FileName, RichTextBox1.Text)


Lorsque tu dévelope/test ton code, évite de faire de gros bloc Try/Catch de ce genre pour avoir la ligne précise de l'erreur et son message. On met un Try Catch de ce genre pour gérer les erreurs une fois le code fini et testé, or là tu ne gère rien du tout


mortalino > Le FileSaveDialog ne peut pas retourner un nom de chemin invalide (sauf une chaine nulle /vide si le bouton Annuler à été cliqué)

lundi 7 juillet 2008 à 20:19:44 | Re : Erreur : " Illegal characters in patch"

mortalino

Membre Club
C'est pas faux !

Exact Kevin, sans vouloir me justifier, suis couché à 1h30 (et pas frais..) et levé à 6, donc en vrac.
Bien vu et merci de me reprendre

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

lundi 7 juillet 2008 à 21:28:07 | Re : Erreur : " Illegal characters in patch"

Kevin.Ory

On t'en veux pas mortalino

Moi me suis couché à 6h, mais j'ai eu la journée pour me reposer (Eurockéennes )

mardi 8 juillet 2008 à 10:29:45 | Re : Erreur : " Illegal characters in patch"

Impossibeulman

L'erreur surviens a la ligne ( TempDb = File.OpenText(My.Resources.TempDb))
Pour se qui est du fichier je cherche a lire tout le contenu du fichier.

Pur se qui est de l'utilisation:
Les 2 fichier texte sont des template de début et de fin.
Exemple:
Flichier1 contient: Bonjours et merci d'avoir choisi code source.
Fichier2 contient: Merci de votre fidélisée, Cdt.
La partie générer: Vos identifient sont xxx -xxx-xxx -xxx bla bla bla

Le contenu de tout le fichier 1 + le texte générer + contenu de fichier 2 = conf
Conf est alors égala a :
Bonjours et merci d'avoir choisi code source.
Vos identifient sont xxx -xxx-xxx -xxx bla bla bla
Merci de votre fidélisée, Cdt.

Et conf est ensuite enregistrer dans un .CFG en utilisent le même encodage que un TXT.

Voila pour se qui est des explications...
Le hic est que je doit avoir fini sa pour 17h ce soir.
Je suis dans la merde.
---------------------------------------------------------------------------------------------
            '-------------
            Button5.Enabled = True
            '-------------
         Dim TempDb As StreamReader

           
TempDb = File.OpenText(My.Resources.TempDb)
            While Not TempDb.EndOfStream
                Dim lined As String = TempDb.ReadToEnd
                line_f = lined
            End While
            TempDb.Close()

            '-------------
            Dim TempFi As StreamReader
            TempFi = File.OpenText(My.Resources.TempFi)
            While Not TempFi.EndOfStream
                Dim linef As String = TempFi.ReadToEnd
                line_d = linef
            End While
            TempFi.Close()

            '-------------
            conf = line_d & RichTextBox1.Text & line_f
            '-------------
            Dim Ficecrire As System.IO.StreamWriter
            'sauvegarde
            Ficecrire = New System.IO.StreamWriter(SaveFileDialog1.FileName)
            Ficecrire.WriteLine(RichTextBox1.Text)
            ProgressBar1.Value = 100
            Label5.Visible = True

---------------------------------------------------------------------------------------------

Impossibeulman.

mardi 8 juillet 2008 à 10:53:21 | Re : Erreur : " Illegal characters in patch"

Impossibeulman

Je viens d'essayer comme tu ma conseiller:

            Button5.Enabled = True
            '-------------
            Dim Lines() As String = IO.File.ReadAllLines(My.Resources.TempDb)
            Dim LastLine As String = Lines(Lines.Length - 1)
            RichTextBox2.Text = LastLine
            '-------------
            Dim Lines2() As String = IO.File.ReadAllLines(My.Resources.TempFi)
            Dim LastLine2 As String = Lines(Lines.Length - 1)
            RichTextBox3.Text = LastLine2
            '-------------
            Dim conf As String
            conf = RichTextBox2.Text & RichTextBox1.Text & RichTextBox3.Text
            '-------------
            'sauvegarde
            IO.File.WriteAllText(SaveFileDialog1.FileName, RichTextBox1.Text)

Toujours la même erreur...




mardi 8 juillet 2008 à 12:02:24 | Re : Erreur : " Illegal characters in patch"

Impossibeulman

Réponse acceptée !
C'est bon...

Tout est rentrer dans l'ordre ^^

Après avoir utiliser cela:

            '-------------
            Button5.Enabled = True
            '-------------
            RichTextBox2.Text = My.Resources.tempD
            '-------------
            RichTextBox3.Text = My.Resources.tempF
            '-------------
            Dim conf As String
            conf = RichTextBox2.Text & RichTextBox1.Text & RichTextBox3.Text
            '-------------
            'sauvegarde
            IO.File.WriteAllText(SaveFileDialog1.FileName, conf)

--------------------------------------------

Merci a tous de votre aide.

Cordialement.


1 2

Cette discussion est classé dans : erreur, while, temp, environment, newline


Répondre à ce message

Sujets en rapport avec ce message

Gestion mesage d'erreur [ par tteuteu ] Bonjour !Je vous expose mon problème. Je souhaite exécuter un script à partir d'un html. J'ai donc utilisé :script <font color="#7f007f" size="2 problème avec la fonction datediff(--,--,--[,--,--]) sous excel2003 [ par killy99 ] Bonjours,Mon application est exécutée sur un document .xls (ce document est une exportation de données).La colomne F contient des dates, celle ci lors Erreur ComException Lecture de la valeur d'une cellule d'un fichier Excel [ par polevault ] Imports Microsoft.Office.InteropPublic Sub GenererMdP(ByRef FichierExcel As Excel.Application)        Dim i As Integer        Dim valeur, adresse As S Erreur sur #N/A [ par kikou6969 ] Bonjour,j'ai une boucle pour deteter si une case sous excel est vide ou #N/A (ce #N/A etant une chaine de caractere car le #N/A est une copie d'un tab Erreur requête SQL en VBA dans Excel [ par sergeith ] Bonjour     j'ai beau regarder tous les sujets du net à propos de cette erreur : "Aucune valeur donnée pour un ou plusieurs des parametres requis"</st Répertoire TEMP de l'utilisateur utilisateur [ par tolt ] Bonjour, Avez-vous un petit exemple VB6 qui récupére le path de l'utilisateur ? Exemple : C:\Documents and Settings\dupont\Local Settings\Temp Merc Erreur d'execution d'une macro [ par cherki191410 ] Bonjour tt le mondeJ'ai fait un petit code par lequel j'ouvre un classeur excel 2007 pour executer une macro excel tout marche bien mais le problème c probleme de connection avec access [ par fancio ] bonjour à tous,alors voilà, je suis en train de reprendre un programme permettant de mettre des donner de differents format sous access. En fait je re Erreur de compilation code VBA Access [ par rabihm ] Bonjour,J'ai une erreur de compilation que je n'arrive pas à résoudre, étant presque débutant:c'est pour la ligne de code suivante:rs.Fields("Prenom") erreur d'exécution de Serveur ""corba"" [ par aimenvir12 ] Bonjour, j'essayé de develloper une application Client/Serveur mais en exécutant le serveur j'ai eu un erreur il capte l'IOR mais il tourne pas il maf


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.