Oppure

Loading
18/06/13 10:53
Salve a tutti,

questo è il mio problema...ho un file di testo di 3 righe:

Piero
Tofy
.it

vorrei che diventasse così:

Piero
Tofy
Forum
.it

Su internet purtroppo non sono riuscito a trovare niente di interessante :( mi potete aiutare? Grazie in anticipo
18/06/13 12:56
tullio1995
Prova a usare un file temporaneo dove appoggiarti, copi il file fino e dove devi inserire la stringa, inserisci la stringa, e poi continui a copiare. Poi rinomini e cancelli il vecchio file
aaa
18/06/13 18:11
non esiste un metodo più semplice?
18/06/13 20:16
GN
Io farei così (non l'ho provato):
Dim s As String = My.Computer.FileSystem.ReadAllText("miofile.txt") 'carico il file in una variabile
Dim lines() As String = s.Split(Environment.NewLine) 'ottengo l'array delle righe
Dim c As Integer = 0 'punto dove devi iniziare a scrivere
For i As Integer = 0 To RigaDoveVuoiScrivere 'faccio passare le righe dalla prima a quella dove vuoi scrivere
    c += lines(i).Length + 1 'per ognuna sommo il numero di caratteri della riga + 1 che è il ritorno a capo
Next
s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine) 'inserisco il testo e un ritorno a capo
My.Computer.FileSystem.WriteAllText("miofile.txt", s, False) 'salvo nel file
aaa
18/06/13 20:26
Postato originariamente da GN:

Io farei così (non l'ho provato):
Dim s As String = My.Computer.FileSystem.ReadAllText("miofile.txt") 'carico il file in una variabile
Dim lines() As String = s.Split(Environment.NewLine) 'ottengo l'array delle righe
Dim c As Integer = 0 'punto dove devi iniziare a scrivere
For i As Integer = 0 To RigaDoveVuoiScrivere 'faccio passare le righe dalla prima a quella dove vuoi scrivere
    c += lines(i).Length + 1 'per ognuna sommo il numero di caratteri della riga + 1 che è il ritorno a capo
Next
s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine) 'inserisco il testo e un ritorno a capo
My.Computer.FileSystem.WriteAllText("miofile.txt", s, False) 'salvo nel file


per prima cosa ti ringrazio....adesso il codice l'ho provato però mi salva un altro file testo senza la riga che voglio aggiungere
19/06/13 19:32
GN
Ops ho sbagliato una cosa, invece che
s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine)

bisogna mettere
s = s.Insert(c, "TestoCheVuoiScrivere" & Environment.NewLine)

Così dovrebbe funzionare.
aaa
20/06/13 9:30
Thejuster

 Public Sub Aggiungi_linea(filename As String, linea As Integer, testo As String)


	Dim rtb As New RichTextBox()
	'RichTextBox Provvisorio
	rtb.LoadFile(filename, RichTextBoxStreamType.PlainText)

	rtb.Text.Insert(linea, testo)

	Dim rtb2 As New RichTextBox()

	For i As Integer = 0 To rtb.Lines.Length - 1
		If i = linea Then
			rtb2.AppendText(testo & vbLf)
		End If

		rtb2.AppendText(rtb.Lines(i) + vbLf)
	Next

	rtb2.SaveFile(filename, RichTextBoxStreamType.PlainText)
End Sub


Funzione che aggiunge una linea ad un file esistente. Ovviamente specificando il numero della riga.
Ultima modifica effettuata da Thejuster 20/06/13 9:30
mire.forumfree.it/ - Mire Engine
C# UI Designer
20/06/13 11:24
grazie, adesso ho risolto :)