Sauvegarder une liste de mots avec WriteAllText

miska59 Messages postés 6 Date d'inscription dimanche 12 mars 2017 Statut Membre Dernière intervention 8 janvier 2022 - 12 mars 2017 à 20:52
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 - 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.

10 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
12 mars 2017 à 21:09
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?



0
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.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
13 mars 2017 à 00:25
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

0
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.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
13 mars 2017 à 13:21
Ça n'est pas ce que je t'ai envoyé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
miska59 Messages postés 6 Date d'inscription dimanche 12 mars 2017 Statut Membre Dernière intervention 8 janvier 2022 1
14 mars 2017 à 12:54
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,
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
14 mars 2017 à 17:42
WriteAllText mais c'est mieux pour travail avec WriteAllLines

Faudrait savoir ;)!

Bon comprends tu la différence entre les 2?
0
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?
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
Modifié par Whismeril le 16/03/2017 à 15:56
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
0
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.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
27 mars 2017 à 21:36
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.
0
Rejoignez-nous