Je cherche à écrire dans un fichier text une valeur à un endroit précis.
faite, j'ai un fichier text remplis de données sous forme de tableau et je
voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
ligne. Je suis capable facilement de trouver la position ou je dois
commencer à écrire mais je ne sais pas comment faire pour dire exemple :
write(ligne no5, position 34e char, valeur)
Merci de votre aide
David
Je cherche à écrire dans un fichier text une valeur à un endroit précis.
faite, j'ai un fichier text remplis de données sous forme de tableau et je
voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
ligne. Je suis capable facilement de trouver la position ou je dois
commencer à écrire mais je ne sais pas comment faire pour dire exemple :
write(ligne no5, position 34e char, valeur)
Merci de votre aide
David
Je cherche à écrire dans un fichier text une valeur à un endroit précis.
faite, j'ai un fichier text remplis de données sous forme de tableau et je
voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
ligne. Je suis capable facilement de trouver la position ou je dois
commencer à écrire mais je ne sais pas comment faire pour dire exemple :
write(ligne no5, position 34e char, valeur)
Merci de votre aide
David
Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset As
Int32, ByVal Length As Int32, ByVal Data() As Byte)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Seek(Offset, IO.SeekOrigin.Begin)
bw.Write(Data, 0, Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bonne prog'
bismark
"David Bouchard" a écrit dans le message de
news:eoN$4j%
> Je cherche à écrire dans un fichier text une valeur à un endroit précis.
En
> faite, j'ai un fichier text remplis de données sous forme de tableau et
> voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
5e
> ligne. Je suis capable facilement de trouver la position ou je dois
> commencer à écrire mais je ne sais pas comment faire pour dire exemple :
> write(ligne no5, position 34e char, valeur)
>
> Merci de votre aide
>
> David
>
>
Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset As
Int32, ByVal Length As Int32, ByVal Data() As Byte)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Seek(Offset, IO.SeekOrigin.Begin)
bw.Write(Data, 0, Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bonne prog'
bismark
"David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
news:eoN$4j%23fEHA.236@tk2msftngp13.phx.gbl...
> Je cherche à écrire dans un fichier text une valeur à un endroit précis.
En
> faite, j'ai un fichier text remplis de données sous forme de tableau et
> voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
5e
> ligne. Je suis capable facilement de trouver la position ou je dois
> commencer à écrire mais je ne sais pas comment faire pour dire exemple :
> write(ligne no5, position 34e char, valeur)
>
> Merci de votre aide
>
> David
>
>
Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset As
Int32, ByVal Length As Int32, ByVal Data() As Byte)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Seek(Offset, IO.SeekOrigin.Begin)
bw.Write(Data, 0, Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bonne prog'
bismark
"David Bouchard" a écrit dans le message de
news:eoN$4j%
> Je cherche à écrire dans un fichier text une valeur à un endroit précis.
En
> faite, j'ai un fichier text remplis de données sous forme de tableau et
> voudrais par exemple pouvoir modifier la valeur de la troisième colonne,
5e
> ligne. Je suis capable facilement de trouver la position ou je dois
> commencer à écrire mais je ne sais pas comment faire pour dire exemple :
> write(ligne no5, position 34e char, valeur)
>
> Merci de votre aide
>
> David
>
>
Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé le
text déjà existant mais plutot insérer du text entre des caractères déja
présent.
Est-ce possible?
Merci
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:eX5UU1%
> Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
>
> Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
> Int32, ByVal Length As Int32, ByVal Data() As Byte)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Seek(Offset, IO.SeekOrigin.Begin)
> bw.Write(Data, 0, Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bonne prog'
>
> bismark
>
> "David Bouchard" a écrit dans le message de
> news:eoN$4j%
> > Je cherche à écrire dans un fichier text une valeur à un endroit
> En
> > faite, j'ai un fichier text remplis de données sous forme de tableau
je
> > voudrais par exemple pouvoir modifier la valeur de la troisième
> 5e
> > ligne. Je suis capable facilement de trouver la position ou je dois
> > commencer à écrire mais je ne sais pas comment faire pour dire exemple
> > write(ligne no5, position 34e char, valeur)
> >
> > Merci de votre aide
> >
> > David
> >
> >
>
>
Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé le
text déjà existant mais plutot insérer du text entre des caractères déja
présent.
Est-ce possible?
Merci
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:eX5UU1%23fEHA.3928@TK2MSFTNGP11.phx.gbl...
> Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
>
> Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
> Int32, ByVal Length As Int32, ByVal Data() As Byte)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Seek(Offset, IO.SeekOrigin.Begin)
> bw.Write(Data, 0, Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bonne prog'
>
> bismark
>
> "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
> news:eoN$4j%23fEHA.236@tk2msftngp13.phx.gbl...
> > Je cherche à écrire dans un fichier text une valeur à un endroit
> En
> > faite, j'ai un fichier text remplis de données sous forme de tableau
je
> > voudrais par exemple pouvoir modifier la valeur de la troisième
> 5e
> > ligne. Je suis capable facilement de trouver la position ou je dois
> > commencer à écrire mais je ne sais pas comment faire pour dire exemple
> > write(ligne no5, position 34e char, valeur)
> >
> > Merci de votre aide
> >
> > David
> >
> >
>
>
Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé le
text déjà existant mais plutot insérer du text entre des caractères déja
présent.
Est-ce possible?
Merci
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:eX5UU1%
> Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
>
> Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
> Int32, ByVal Length As Int32, ByVal Data() As Byte)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Seek(Offset, IO.SeekOrigin.Begin)
> bw.Write(Data, 0, Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bonne prog'
>
> bismark
>
> "David Bouchard" a écrit dans le message de
> news:eoN$4j%
> > Je cherche à écrire dans un fichier text une valeur à un endroit
> En
> > faite, j'ai un fichier text remplis de données sous forme de tableau
je
> > voudrais par exemple pouvoir modifier la valeur de la troisième
> 5e
> > ligne. Je suis capable facilement de trouver la position ou je dois
> > commencer à écrire mais je ne sais pas comment faire pour dire exemple
> > write(ligne no5, position 34e char, valeur)
> >
> > Merci de votre aide
> >
> > David
> >
> >
>
>
Hello,
Ca donnerait donc quelque chose comme ca... mais je ne suis pas satisfait
Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute utilisé
une autre sorte d'objet tel un tableau ou une collection. Je ne sais pas.
Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
Int32, ByVal Length As Int32, ByVal Data() As Char)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Read)
Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
Dim sb As System.Text.StringBuilder = New
System.Text.StringBuilder(CType(fs.Length, Int32))
Dim buf(CType(fs.Length, Int32)) As Char
br.Read(buf, 0, buf.Length)
sb.Append(buf)
sb.Insert(Offset, Data, 0, Length)
br.Close()
br = Nothing
fs.Close()
fs = Nothing
System.IO.File.Delete(Filename)
fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
IO.FileAccess.Write)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bismark
"David Bouchard" a écrit dans le message de
news:%
> Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé
> text déjà existant mais plutot insérer du text entre des caractères déja
> présent.
> Est-ce possible?
> Merci
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:eX5UU1%
> > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> >
> > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
As
> > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > bw.Write(Data, 0, Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bonne prog'
> >
> > bismark
> >
> > "David Bouchard" a écrit dans le message de
> > news:eoN$4j%
> > > Je cherche à écrire dans un fichier text une valeur à un endroit
précis.
> > En
> > > faite, j'ai un fichier text remplis de données sous forme de tableau
et
> je
> > > voudrais par exemple pouvoir modifier la valeur de la troisième
colonne,
> > 5e
> > > ligne. Je suis capable facilement de trouver la position ou je dois
> > > commencer à écrire mais je ne sais pas comment faire pour dire
:
> > > write(ligne no5, position 34e char, valeur)
> > >
> > > Merci de votre aide
> > >
> > > David
> > >
> > >
> >
> >
>
>
Hello,
Ca donnerait donc quelque chose comme ca... mais je ne suis pas satisfait
Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute utilisé
une autre sorte d'objet tel un tableau ou une collection. Je ne sais pas.
Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
Int32, ByVal Length As Int32, ByVal Data() As Char)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Read)
Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
Dim sb As System.Text.StringBuilder = New
System.Text.StringBuilder(CType(fs.Length, Int32))
Dim buf(CType(fs.Length, Int32)) As Char
br.Read(buf, 0, buf.Length)
sb.Append(buf)
sb.Insert(Offset, Data, 0, Length)
br.Close()
br = Nothing
fs.Close()
fs = Nothing
System.IO.File.Delete(Filename)
fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
IO.FileAccess.Write)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bismark
"David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
news:%23w4RfbCgEHA.3272@TK2MSFTNGP11.phx.gbl...
> Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé
> text déjà existant mais plutot insérer du text entre des caractères déja
> présent.
> Est-ce possible?
> Merci
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:eX5UU1%23fEHA.3928@TK2MSFTNGP11.phx.gbl...
> > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> >
> > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
As
> > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > bw.Write(Data, 0, Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bonne prog'
> >
> > bismark
> >
> > "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
> > news:eoN$4j%23fEHA.236@tk2msftngp13.phx.gbl...
> > > Je cherche à écrire dans un fichier text une valeur à un endroit
précis.
> > En
> > > faite, j'ai un fichier text remplis de données sous forme de tableau
et
> je
> > > voudrais par exemple pouvoir modifier la valeur de la troisième
colonne,
> > 5e
> > > ligne. Je suis capable facilement de trouver la position ou je dois
> > > commencer à écrire mais je ne sais pas comment faire pour dire
:
> > > write(ligne no5, position 34e char, valeur)
> > >
> > > Merci de votre aide
> > >
> > > David
> > >
> > >
> >
> >
>
>
Hello,
Ca donnerait donc quelque chose comme ca... mais je ne suis pas satisfait
Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute utilisé
une autre sorte d'objet tel un tableau ou une collection. Je ne sais pas.
Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
Int32, ByVal Length As Int32, ByVal Data() As Char)
Try
Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
IO.FileMode.Open, IO.FileAccess.Read)
Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
Dim sb As System.Text.StringBuilder = New
System.Text.StringBuilder(CType(fs.Length, Int32))
Dim buf(CType(fs.Length, Int32)) As Char
br.Read(buf, 0, buf.Length)
sb.Append(buf)
sb.Insert(Offset, Data, 0, Length)
br.Close()
br = Nothing
fs.Close()
fs = Nothing
System.IO.File.Delete(Filename)
fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
IO.FileAccess.Write)
Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
bw.Close()
bw = Nothing
fs.Close()
fs = Nothing
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Bismark
"David Bouchard" a écrit dans le message de
news:%
> Merci, ca fonctionne mais en partie puisque j'aimerais non pas remplacé
> text déjà existant mais plutot insérer du text entre des caractères déja
> présent.
> Est-ce possible?
> Merci
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:eX5UU1%
> > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> >
> > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal Offset
As
> > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > bw.Write(Data, 0, Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bonne prog'
> >
> > bismark
> >
> > "David Bouchard" a écrit dans le message de
> > news:eoN$4j%
> > > Je cherche à écrire dans un fichier text une valeur à un endroit
précis.
> > En
> > > faite, j'ai un fichier text remplis de données sous forme de tableau
et
> je
> > > voudrais par exemple pouvoir modifier la valeur de la troisième
colonne,
> > 5e
> > > ligne. Je suis capable facilement de trouver la position ou je dois
> > > commencer à écrire mais je ne sais pas comment faire pour dire
:
> > > write(ligne no5, position 34e char, valeur)
> > >
> > > Merci de votre aide
> > >
> > > David
> > >
> > >
> >
> >
>
>
Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:
> Hello,
>
> Ca donnerait donc quelque chose comme ca... mais je ne suis pas
du
> Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
> une autre sorte d'objet tel un tableau ou une collection. Je ne sais
>
> Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
As
> Int32, ByVal Length As Int32, ByVal Data() As Char)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Read)
> Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> Dim sb As System.Text.StringBuilder = New
> System.Text.StringBuilder(CType(fs.Length, Int32))
> Dim buf(CType(fs.Length, Int32)) As Char
> br.Read(buf, 0, buf.Length)
> sb.Append(buf)
> sb.Insert(Offset, Data, 0, Length)
> br.Close()
> br = Nothing
> fs.Close()
> fs = Nothing
> System.IO.File.Delete(Filename)
> fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> IO.FileAccess.Write)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bismark
>
>
> "David Bouchard" a écrit dans le message de
> news:%
> > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
le
> > text déjà existant mais plutot insérer du text entre des caractères
> > présent.
> > Est-ce possible?
> > Merci
> >
> > David
> >
> > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> > news:eX5UU1%
> > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > >
> > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
> As
> > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > Try
> > > Dim fs As System.IO.FileStream = New
System.IO.FileStream(Filename,
> > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > Dim bw As System.IO.BinaryWriter = New
> > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > bw.Write(Data, 0, Length)
> > > bw.Close()
> > > bw = Nothing
> > > fs.Close()
> > > fs = Nothing
> > > Catch ex As Exception
> > > Throw New Exception(ex.Message)
> > > End Try
> > > End Sub
> > >
> > > Bonne prog'
> > >
> > > bismark
> > >
> > > "David Bouchard" a écrit dans le message
> > > news:eoN$4j%
> > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> précis.
> > > En
> > > > faite, j'ai un fichier text remplis de données sous forme de
> et
> > je
> > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> colonne,
> > > 5e
> > > > ligne. Je suis capable facilement de trouver la position ou je
> > > > commencer à écrire mais je ne sais pas comment faire pour dire
exemple
> :
> > > > write(ligne no5, position 34e char, valeur)
> > > >
> > > > Merci de votre aide
> > > >
> > > > David
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:e78eHEFgEHA.1652@TK2MSFTNGP09.phx.gbl...
> Hello,
>
> Ca donnerait donc quelque chose comme ca... mais je ne suis pas
du
> Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
> une autre sorte d'objet tel un tableau ou une collection. Je ne sais
>
> Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
As
> Int32, ByVal Length As Int32, ByVal Data() As Char)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Read)
> Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> Dim sb As System.Text.StringBuilder = New
> System.Text.StringBuilder(CType(fs.Length, Int32))
> Dim buf(CType(fs.Length, Int32)) As Char
> br.Read(buf, 0, buf.Length)
> sb.Append(buf)
> sb.Insert(Offset, Data, 0, Length)
> br.Close()
> br = Nothing
> fs.Close()
> fs = Nothing
> System.IO.File.Delete(Filename)
> fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> IO.FileAccess.Write)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bismark
>
>
> "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
> news:%23w4RfbCgEHA.3272@TK2MSFTNGP11.phx.gbl...
> > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
le
> > text déjà existant mais plutot insérer du text entre des caractères
> > présent.
> > Est-ce possible?
> > Merci
> >
> > David
> >
> > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> > news:eX5UU1%23fEHA.3928@TK2MSFTNGP11.phx.gbl...
> > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > >
> > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
> As
> > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > Try
> > > Dim fs As System.IO.FileStream = New
System.IO.FileStream(Filename,
> > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > Dim bw As System.IO.BinaryWriter = New
> > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > bw.Write(Data, 0, Length)
> > > bw.Close()
> > > bw = Nothing
> > > fs.Close()
> > > fs = Nothing
> > > Catch ex As Exception
> > > Throw New Exception(ex.Message)
> > > End Try
> > > End Sub
> > >
> > > Bonne prog'
> > >
> > > bismark
> > >
> > > "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message
> > > news:eoN$4j%23fEHA.236@tk2msftngp13.phx.gbl...
> > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> précis.
> > > En
> > > > faite, j'ai un fichier text remplis de données sous forme de
> et
> > je
> > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> colonne,
> > > 5e
> > > > ligne. Je suis capable facilement de trouver la position ou je
> > > > commencer à écrire mais je ne sais pas comment faire pour dire
exemple
> :
> > > > write(ligne no5, position 34e char, valeur)
> > > >
> > > > Merci de votre aide
> > > >
> > > > David
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
David
"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:
> Hello,
>
> Ca donnerait donc quelque chose comme ca... mais je ne suis pas
du
> Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
> une autre sorte d'objet tel un tableau ou une collection. Je ne sais
>
> Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal Offset
As
> Int32, ByVal Length As Int32, ByVal Data() As Char)
> Try
> Dim fs As System.IO.FileStream = New System.IO.FileStream(Filename,
> IO.FileMode.Open, IO.FileAccess.Read)
> Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> Dim sb As System.Text.StringBuilder = New
> System.Text.StringBuilder(CType(fs.Length, Int32))
> Dim buf(CType(fs.Length, Int32)) As Char
> br.Read(buf, 0, buf.Length)
> sb.Append(buf)
> sb.Insert(Offset, Data, 0, Length)
> br.Close()
> br = Nothing
> fs.Close()
> fs = Nothing
> System.IO.File.Delete(Filename)
> fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> IO.FileAccess.Write)
> Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> bw.Close()
> bw = Nothing
> fs.Close()
> fs = Nothing
> Catch ex As Exception
> Throw New Exception(ex.Message)
> End Try
> End Sub
>
> Bismark
>
>
> "David Bouchard" a écrit dans le message de
> news:%
> > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
le
> > text déjà existant mais plutot insérer du text entre des caractères
> > présent.
> > Est-ce possible?
> > Merci
> >
> > David
> >
> > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> > news:eX5UU1%
> > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > >
> > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
> As
> > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > Try
> > > Dim fs As System.IO.FileStream = New
System.IO.FileStream(Filename,
> > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > Dim bw As System.IO.BinaryWriter = New
> > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > bw.Write(Data, 0, Length)
> > > bw.Close()
> > > bw = Nothing
> > > fs.Close()
> > > fs = Nothing
> > > Catch ex As Exception
> > > Throw New Exception(ex.Message)
> > > End Try
> > > End Sub
> > >
> > > Bonne prog'
> > >
> > > bismark
> > >
> > > "David Bouchard" a écrit dans le message
> > > news:eoN$4j%
> > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> précis.
> > > En
> > > > faite, j'ai un fichier text remplis de données sous forme de
> et
> > je
> > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> colonne,
> > > 5e
> > > > ligne. Je suis capable facilement de trouver la position ou je
> > > > commencer à écrire mais je ne sais pas comment faire pour dire
exemple
> :
> > > > write(ligne no5, position 34e char, valeur)
> > > >
> > > > Merci de votre aide
> > > >
> > > > David
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Petite correction... il y a un CType(...,int32) de trop ! Il faut
si tu utilise des gros fichiers.
Bismark
"David Bouchard" a écrit dans le message de
news:
> Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:
> > Hello,
> >
> > Ca donnerait donc quelque chose comme ca... mais je ne suis pas
satisfait
> du
> > Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
utilisé
> > une autre sorte d'objet tel un tableau ou une collection. Je ne sais
pas.
> >
> > Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal
> As
> > Int32, ByVal Length As Int32, ByVal Data() As Char)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Read)
> > Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> > 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > Dim sb As System.Text.StringBuilder = New
> > System.Text.StringBuilder(CType(fs.Length, Int32))
> > Dim buf(CType(fs.Length, Int32)) As Char
> > br.Read(buf, 0, buf.Length)
> > sb.Append(buf)
> > sb.Insert(Offset, Data, 0, Length)
> > br.Close()
> > br = Nothing
> > fs.Close()
> > fs = Nothing
> > System.IO.File.Delete(Filename)
> > fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> > IO.FileAccess.Write)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bismark
> >
> >
> > "David Bouchard" a écrit dans le message de
> > news:%
> > > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
remplacé
> le
> > > text déjà existant mais plutot insérer du text entre des caractères
déja
> > > présent.
> > > Est-ce possible?
> > > Merci
> > >
> > > David
> > >
> > > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message
> > > news:eX5UU1%
> > > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > > >
> > > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
Offset
> > As
> > > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > > Try
> > > > Dim fs As System.IO.FileStream = New
> System.IO.FileStream(Filename,
> > > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > > Dim bw As System.IO.BinaryWriter = New
System.IO.BinaryWriter(fs)
> > > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > > bw.Write(Data, 0, Length)
> > > > bw.Close()
> > > > bw = Nothing
> > > > fs.Close()
> > > > fs = Nothing
> > > > Catch ex As Exception
> > > > Throw New Exception(ex.Message)
> > > > End Try
> > > > End Sub
> > > >
> > > > Bonne prog'
> > > >
> > > > bismark
> > > >
> > > > "David Bouchard" a écrit dans le message
de
> > > > news:eoN$4j%
> > > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> > précis.
> > > > En
> > > > > faite, j'ai un fichier text remplis de données sous forme de
tableau
> > et
> > > je
> > > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> > colonne,
> > > > 5e
> > > > > ligne. Je suis capable facilement de trouver la position ou je
dois
> > > > > commencer à écrire mais je ne sais pas comment faire pour dire
> exemple
> > :
> > > > > write(ligne no5, position 34e char, valeur)
> > > > >
> > > > > Merci de votre aide
> > > > >
> > > > > David
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Petite correction... il y a un CType(...,int32) de trop ! Il faut
si tu utilise des gros fichiers.
Bismark
"David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
news:OyttmAHgEHA.1644@tk2msftngp13.phx.gbl...
> Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:e78eHEFgEHA.1652@TK2MSFTNGP09.phx.gbl...
> > Hello,
> >
> > Ca donnerait donc quelque chose comme ca... mais je ne suis pas
satisfait
> du
> > Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
utilisé
> > une autre sorte d'objet tel un tableau ou une collection. Je ne sais
pas.
> >
> > Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal
> As
> > Int32, ByVal Length As Int32, ByVal Data() As Char)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Read)
> > Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> > 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > Dim sb As System.Text.StringBuilder = New
> > System.Text.StringBuilder(CType(fs.Length, Int32))
> > Dim buf(CType(fs.Length, Int32)) As Char
> > br.Read(buf, 0, buf.Length)
> > sb.Append(buf)
> > sb.Insert(Offset, Data, 0, Length)
> > br.Close()
> > br = Nothing
> > fs.Close()
> > fs = Nothing
> > System.IO.File.Delete(Filename)
> > fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> > IO.FileAccess.Write)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bismark
> >
> >
> > "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message de
> > news:%23w4RfbCgEHA.3272@TK2MSFTNGP11.phx.gbl...
> > > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
remplacé
> le
> > > text déjà existant mais plutot insérer du text entre des caractères
déja
> > > présent.
> > > Est-ce possible?
> > > Merci
> > >
> > > David
> > >
> > > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message
> > > news:eX5UU1%23fEHA.3928@TK2MSFTNGP11.phx.gbl...
> > > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > > >
> > > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
Offset
> > As
> > > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > > Try
> > > > Dim fs As System.IO.FileStream = New
> System.IO.FileStream(Filename,
> > > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > > Dim bw As System.IO.BinaryWriter = New
System.IO.BinaryWriter(fs)
> > > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > > bw.Write(Data, 0, Length)
> > > > bw.Close()
> > > > bw = Nothing
> > > > fs.Close()
> > > > fs = Nothing
> > > > Catch ex As Exception
> > > > Throw New Exception(ex.Message)
> > > > End Try
> > > > End Sub
> > > >
> > > > Bonne prog'
> > > >
> > > > bismark
> > > >
> > > > "David Bouchard" <boutchmusic@hotmail.com> a écrit dans le message
de
> > > > news:eoN$4j%23fEHA.236@tk2msftngp13.phx.gbl...
> > > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> > précis.
> > > > En
> > > > > faite, j'ai un fichier text remplis de données sous forme de
tableau
> > et
> > > je
> > > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> > colonne,
> > > > 5e
> > > > > ligne. Je suis capable facilement de trouver la position ou je
dois
> > > > > commencer à écrire mais je ne sais pas comment faire pour dire
> exemple
> > :
> > > > > write(ligne no5, position 34e char, valeur)
> > > > >
> > > > > Merci de votre aide
> > > > >
> > > > > David
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Petite correction... il y a un CType(...,int32) de trop ! Il faut
si tu utilise des gros fichiers.
Bismark
"David Bouchard" a écrit dans le message de
news:
> Merci beaucoup, j'ai pas testé mais aussitot le temps venu, j'essaye ça.
>
> David
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:
> > Hello,
> >
> > Ca donnerait donc quelque chose comme ca... mais je ne suis pas
satisfait
> du
> > Stringbuilder... Si j'avais pris plus de temps j'aurais sans doute
utilisé
> > une autre sorte d'objet tel un tableau ou une collection. Je ne sais
pas.
> >
> > Public Shared Sub InsertIntoFileB(ByVal Filename As String, ByVal
> As
> > Int32, ByVal Length As Int32, ByVal Data() As Char)
> > Try
> > Dim fs As System.IO.FileStream = New
> > IO.FileMode.Open, IO.FileAccess.Read)
> > Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
> > 'Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > Dim sb As System.Text.StringBuilder = New
> > System.Text.StringBuilder(CType(fs.Length, Int32))
> > Dim buf(CType(fs.Length, Int32)) As Char
> > br.Read(buf, 0, buf.Length)
> > sb.Append(buf)
> > sb.Insert(Offset, Data, 0, Length)
> > br.Close()
> > br = Nothing
> > fs.Close()
> > fs = Nothing
> > System.IO.File.Delete(Filename)
> > fs = New System.IO.FileStream(Filename, IO.FileMode.Create,
> > IO.FileAccess.Write)
> > Dim bw As System.IO.BinaryWriter = New System.IO.BinaryWriter(fs)
> > bw.Write(sb.ToString.ToCharArray, 0, sb.Length)
> > bw.Close()
> > bw = Nothing
> > fs.Close()
> > fs = Nothing
> > Catch ex As Exception
> > Throw New Exception(ex.Message)
> > End Try
> > End Sub
> >
> > Bismark
> >
> >
> > "David Bouchard" a écrit dans le message de
> > news:%
> > > Merci, ca fonctionne mais en partie puisque j'aimerais non pas
remplacé
> le
> > > text déjà existant mais plutot insérer du text entre des caractères
déja
> > > présent.
> > > Est-ce possible?
> > > Merci
> > >
> > > David
> > >
> > > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message
> > > news:eX5UU1%
> > > > Hello, ca devrait donner à peu près ca... mais j'ai pas testé.
> > > >
> > > > Public Shared Sub WriteIntoFile(ByVal Filename As String, ByVal
Offset
> > As
> > > > Int32, ByVal Length As Int32, ByVal Data() As Byte)
> > > > Try
> > > > Dim fs As System.IO.FileStream = New
> System.IO.FileStream(Filename,
> > > > IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
> > > > Dim bw As System.IO.BinaryWriter = New
System.IO.BinaryWriter(fs)
> > > > bw.Seek(Offset, IO.SeekOrigin.Begin)
> > > > bw.Write(Data, 0, Length)
> > > > bw.Close()
> > > > bw = Nothing
> > > > fs.Close()
> > > > fs = Nothing
> > > > Catch ex As Exception
> > > > Throw New Exception(ex.Message)
> > > > End Try
> > > > End Sub
> > > >
> > > > Bonne prog'
> > > >
> > > > bismark
> > > >
> > > > "David Bouchard" a écrit dans le message
de
> > > > news:eoN$4j%
> > > > > Je cherche à écrire dans un fichier text une valeur à un endroit
> > précis.
> > > > En
> > > > > faite, j'ai un fichier text remplis de données sous forme de
tableau
> > et
> > > je
> > > > > voudrais par exemple pouvoir modifier la valeur de la troisième
> > colonne,
> > > > 5e
> > > > > ligne. Je suis capable facilement de trouver la position ou je
dois
> > > > > commencer à écrire mais je ne sais pas comment faire pour dire
> exemple
> > :
> > > > > write(ligne no5, position 34e char, valeur)
> > > > >
> > > > > Merci de votre aide
> > > > >
> > > > > David
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>