Sauvegarder une liste de mots avec WriteAllText

miska59 3 Messages postés dimanche 12 mars 2017Date d'inscription 24 avril 2017 Dernière intervention - 12 mars 2017 à 20:52 - Dernière réponse : Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention
- 27 mars 2017 à 21:36
Bonjour,

je voudrais savoir comment enregistrer une liste mot par rapport une position d'un mot avec writealltext sens utiliser WriteAllLines.
voici mon code :
If My.Computer.FileSystem.FileExists(Files) Then
            Dim lines As String = File.ReadAllText(Files)
Dim list As New List(Of String) From {"user_pref(""network.proxy.backup.ftp"", "");",
"user_pref(""network.proxy.backup.ftp_port"", 0);",
"user_pref(""network.proxy.backup.socks"", "");",
"user_pref(""network.proxy.backup.socks_port"", 0);",
"user_pref(""network.proxy.backup.ssl"", "");",
"user_pref(""network.proxy.backup.ssl_port"", 0);"}
For i = 0 To list.Count - 1
                If lines.Contains("network.predictor.cleaned-up") Then
                    lines = lines & vbCrLf & list(i) '<= ça sauvegarde a la dernière lignes.
                End If
            Next

            File.WriteAllText(Files, lines)
End If


je voudrais savoir comment enregistrer a partir network.predictor.cleaned-up avec ma list de mot avec WriteAllText?

Merci de votre réponse.
Afficher la suite 

Votre réponse

11 réponses

Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - 12 mars 2017 à 21:09
0
Merci
Bonsoir
  • VbCrlf c'est pas du VB.Net, c'est de l'import VB6, il serait judicieux de retirer cet import car des fois il est générateur de bugs difficiles à trouver.
  • dans ta liste y'a pas network.predictor.cleaned-up, donc là ton code ne fait rien.
  • enfin ton code lit un fichier, ajoute (ou pas) du texte après le contenu et réécrit le fichier, pourquoi ne pas tout simplement écrire à la suite du fichier? et qu'est-ce que t'as contre writeAllLines ça marche bien?



Commenter la réponse de Whismeril
0
Merci
Bonsoir,
Dans mon fichier , j'ai un mot qui s'appelle network.predictor.cleaned-up et je voudrais ajouter ma liste après ce mot. J'ai rien contre WriteAllLIne mais je voudrais ajouter ma liste avec WriteallText.
Es ce que c'est possible avec WriteAllText? Est comment?
Merci de votre reponse.
Commenter la réponse de miska59
Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - 13 mars 2017 à 00:25
0
Merci
Ha je n'avais pas compris.
Voici un exemple
        Dim texteOrigine As String = "Ceci est un texte, pour te montrer" & Environment.NewLine & "comment insérer du contenu, juste là après le mot TrucMuche." & Environment.NewLine & "Et pas après!"

        Dim motCle As String = "TrucMuche."

        Dim indexTexte As Integer = texteOrigine.IndexOf(motCle)
        Dim debutDuTexte As String = texteOrigine.Substring(0, indexTexte + motCle.Length)
        Dim finDuTexte As String = texteOrigine.Substring(indexTexte + motCle.Length)

        Dim laListe As New List(Of String)() From {"Voici les lignes,", "à écrire après le mot clé", "pour l'exemple"}
        Dim contenu As String = String.Join(Environment.NewLine, laListe)

        Dim aMettreDansWriteAllTexte As String = debutDuTexte & contenu & finDuTexte

Commenter la réponse de Whismeril
0
Merci
Merci de votre réponse mais j'ai un probléme avec votre code :
dans mon fichier il y a liste de mot:
exemple :.....etc
user_pref("network.http.proxy.pipelining", true);
user_pref("network.predictor.cleaned-up",true); '<= ajouter ma list en dessous network.predictor.cleaned-up
user_pref("network.proxy.type", 0);
....etc

le code :
If lines.Contains("network.predictor.cleaned-up") Then
Dim debut As String = lines.Substring(0, lines + "network.predictor.cleaned-up".Length)
Dim fin As String = lines.Substring(lines + "network.predictor.cleaned-up".Length)
Dim contenu As String = String.Join(Environment.NewLine, list)
Dim Mettre As String = debut & contenu & fin
File.WriteAllText(Files, Mettre)
End If


il m'affiche une erreur :
L'exception System.InvalidCastException n'a pas été gérée
Message=La conversion de la chaîne "
# User Preferences

" en type 'Double' n'est pas valide.

comment faire pour ajouter ma list dans dessous avec network.predictor.cleaned-up.

Merci de votre d'aide.
Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - 13 mars 2017 à 13:21
Ça n'est pas ce que je t'ai envoyé.
Commenter la réponse de miska59
miska59 3 Messages postés dimanche 12 mars 2017Date d'inscription 24 avril 2017 Dernière intervention - 14 mars 2017 à 12:54
0
Merci
Bonjour, j'ai trouver la solution avec WriteAllText mais c'est mieux pour travail avec WriteAllLines.

j'ai un probléme avec le code modifier, j'ai un message erreur : L'argument 'Start' doit être supérieur à zéro.

Dim ListIP As New List(Of String) From {"user_pref(""network.proxy.ftp"",", "user_pref(""network.proxy.http"",", "user_pref(""network.proxy.socks"",", "user_pref(""network.proxy.ssl"","}
            For a = 0 To lines.Count - 1
                For j = 0 To list.Count - 1
                    If lines(a).Contains(list(j)) = True Then
                        For Each Data As String In ListIP
                            Dim First As Integer = InStr(lines(a), Data) - 1
                            Dim Last As Integer = InStr(First, lines(a), """);")
                            lines(a) = lines(a).Replace(lines(a).Substring(First, Last - First), Data & "" & TextBox1.Text & """);")
                        Next
...etc


avec WriteAllText ça fonctionne mais pas avec WriteAllLines. comment on fait pour remplacer ma listip avec WriteAllLines?

Merci de votre réponse,
Commenter la réponse de miska59
Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - 14 mars 2017 à 17:42
0
Merci
WriteAllText mais c'est mieux pour travail avec WriteAllLines

Faudrait savoir ;)!

Bon comprends tu la différence entre les 2?
Commenter la réponse de Whismeril
0
Merci
Bonjour,

je vais travail sur WriteAllLines c'est mieux.

J'ai chercher est essayer plus solution mais j'arrive pas trouver la solution à mon probleme pour remplacer avec listIp.

avez-vous une solution pour remplacer les mot listIp avec ma list?
Commenter la réponse de miska59
Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - Modifié par Whismeril le 16/03/2017 à 15:56
0
Merci
Avant de te donner quoique ce soit je t'ai posé une question.

Je te montre un code, tu en appliques la moitié et après tu me dit que ça ne marche pas. Je te pose une question tu ne réponds pas....
Alors pourquoi moi je te répondrais? N'oublie pas que nous sommes tous bénévoles.
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril
0
Merci
Bonsoir,

If My.Computer.FileSystem.FileExists(Files) Then
            Dim lines As List(Of String) = System.IO.File.ReadAllLines(Files).ToList
            Dim list As New List(Of String) From {"user_pref(""network.proxy.backup.ftp"", """");",
   "user_pref(""network.proxy.backup.ftp_port"", 0);",
   "user_pref(""network.proxy.backup.socks"", """");",
   "user_pref(""network.proxy.backup.socks_port"", 0);",
   "user_pref(""network.proxy.backup.ssl"", """");",
   "user_pref(""network.proxy.backup.ssl_port"", 0);",
   "user_pref(""network.proxy.ftp"", " & """" & TextBox1.Text & """);",
   "user_pref(""network.proxy.ftp_port"", " & "" & TextBox2.Text & ");",
   "user_pref(""network.proxy.http"", " & """" & TextBox1.Text & """);",
   "user_pref(""network.proxy.http_port"", " & "" & TextBox2.Text & ");",
   "user_pref(""network.proxy.share_proxy_settings"", true);",
   "user_pref(""network.proxy.socks"", " & """" & TextBox1.Text & """);",
   "user_pref(""network.proxy.socks_port"", " & "" & TextBox2.Text & ");",
   "user_pref(""network.proxy.ssl"", " & """" & TextBox1.Text & """);",
   "user_pref(""network.proxy.ssl_port"", " & "" & TextBox2.Text & ");"}
        
            For a = 0 To lines.Count - 1
                For b = 0 To list.Count - 1
                        Dim adresse As String = list(b).Split(",")(0)
                        If lines(a).Contains(adresse) = True Then
                            MessageBox.Show("Fichier trouver " & adresse)
                        Else
                            MessageBox.Show("Fichier n'a pas etait trouver " & adresse)
                            'End If
                        End If
                    Next
                Next
            File.WriteAllLines(Files, lines)
            Process.Start("NOTEPAD.EXE", Files)
        End If


je voudrais savoir comment vérifier ma list de mot dans la lines si existe ? avec mon code il me marque fichier n'a pas etait trouver.
Commenter la réponse de miska59
Whismeril 11655 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 25 juin 2018 Dernière intervention - 27 mars 2017 à 21:36
0
Merci
Bonsoir,
le 14 mars à 17h42, je t'ai posé une question.
Tu n'y as pas répondu.
Tant que tu n'y répondras pas, je n'irai pas plus loin et ne répondrai d'ailleurs plus.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.