hvordan load/save af multiline text boxe vb2010 ?

Tags:    visual-basic

Hejsa håber nogen vil hjælpe en total nybegynder i visual basic 2010

Jeg har lavet et lille program med to multiline textboxe som jeg godt vil have gæmt i en fil. så man kan åbne filen igen og texten står i de rigtige text felter igen.
Har fundet ud af hvordan med en textbox via Readtoend/writetoend men det virke jo ikke med flere textboxe

Hvordan gør man så med flere multiline textboxe ?

Håber i forstår mit spørgsmål :)



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Du skal læse en linje ad gangen indtil den linje du læser er lig med END, når du har nået den linje, skal alt tekst derefter være til den næste tekstboks.

En af måderne man kan gøre dette på er:

Fold kodeboks ind/udVBDotNet kode 


Dette er stadigvæk uprøvet kode, men det bør da give en lille idé om, hvor du kan gå hen af :)



Du kan benytte dig af streamwriter og streamreader klasserne til henholdsvis at skrive og læse fra en fil. Med hensyn til at det er flere linjer, kan du skaffe alle linjerne direte igennem din textboks :)

Hvis du vil læse lidt mere omkring streamwriter kan du kigge på dette link: http://www.dotnetperls.com/streamwriter-vbnet



Mange tak for det hurtige svar :)

Er desvære ikke blevet meget klogere :(

Kan godt åbne x antal linjer i hver text box men hvis jeg ikke er sikker på om brugeren har skrevet 10 eller 2 linjer i hver text box. Hvordan så?

Som det er nu gemmer den alle linjer men når jeg åbner filen igen for jeg kun første linje i første box og resten i anden box.

Min kode ser sådan ud:

Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim FileReader As StreamReader
Dim results As DialogResult

results = OpenFileDialog1.ShowDialog

If results = DialogResult.OK Then
FileReader = New StreamReader(OpenFileDialog1.FileName, False)

TextBox1.Text = FileReader.ReadLine()
TextBox2.Text = FileReader.ReadToEnd()

FileReader.Close()

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim FileWriter As StreamWriter
Dim results As DialogResult

results = SaveFileDialog1.ShowDialog
If results = DialogResult.OK Then
FileWriter = New StreamWriter(SaveFileDialog1.FileName, False)

FileWriter.WriteLine(TextBox1.Text)
FileWriter.WriteLine(TextBox2.Text)

FileWriter.Close()

End If

End Sub
End Class

Håber nogle kan hjælpe mig på rette spor :)



Ahh, så du har flere tekstbokse du gerne vil gemme teksten fra.

Der er flere forskellige løsninger til dette.

1) Lav en fil pr. tekstboks.
Dette burde være den simpelste fremgangsmåde

2) Lav din egen tekstformat, evt. kunne du adskillige dine 2 tekstbokse med END, og når din reader så når til dette, stopper den.


3) Lav din egen tekstformat, hvor de to første linjer er antallet af linjer i hver tekstboks. Herefter ved du hvilke linjer der hører til hver tekstboks.

4) Vær kreativ, der findes nok også andre løsninger :)




2) Lav din egen tekstformat, evt. kunne du adskillige dine 2 tekstbokse med END, og når din reader så når til dette, stopper den.:D

Hvordan gør man det ?

Har søgt og søgt på google men kan ikke finde noget om hvordan man gør det. Det er nok bare mig der ikke kan finde ud af at søge ordenligt :S

Men hvor er det fedt du gider bruge tid på mig. MANGE TAK! :D




Lige i øjeblikke sidder jeg desvære ikke ved en pc med visual studio på, så har derfor ikke mulighed for at skrive noget afprøvet kode ned, men dette kunne være en idé til det andet løsnings forslag :)

FileWriter.WriteLine(TextBox1.Text)
FileWriter.WriteLine("END")
FileWriter.WriteLine(TextBox2.Text)




Nu ser min code sådan ud:

Dim FileWriter As StreamWriter
Dim results As DialogResult

results = SaveFileDialog1.ShowDialog
If results = DialogResult.OK Then
FileWriter = New StreamWriter(SaveFileDialog1.FileName)

FileWriter.WriteLine(TextBox1.Text)
FileWriter.WriteLine("END")
FileWriter.WriteLine(TextBox2.Text)
FileWriter.Close()
End If
Og det virker perfect :D

Men hvordan for jeg så min StreamReader til at stoppe ved "end" ?



t