.txt regels lezen - vb.net

Status
Niet open voor verdere reacties.

ninjaplayer

Gebruiker
Lid geworden
15 apr 2007
Berichten
603
Het openen en opslaan van een .txt weet ik al. Maar is het mogelijk dat je app elke regel van een .txt leest zodat de code elke label,textbox en progressbar een elk een andere waarde kan geven? ipv elk dingetje op de form een .txt te maken. :thumb:
 
Even er van uitgaande dat je een form hebt met een textbox, een label en een button. Dan zou je de volgende code kunnen gebruiken.

PHP:
Imports System.IO

Public Class Form1

    Private Sub leesTXTBestand()

        Dim f As StreamReader
        Dim tmp As String

        f = File.OpenText("test.txt")

        tmp = f.ReadLine
        TextBox1.Text = tmp
        tmp = f.ReadLine
        Label1.Text = tmp

        f.Close()

    End Sub

    Private Sub schrijfTXTBestand()

        Dim f As StreamWriter

        f = File.CreateText("test.txt")

        f.WriteLine(TextBox1.Text)
        f.WriteLine(Label1.Text)

        f.Close()

    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        leesTXTBestand()


    End Sub

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

        schrijfTXTBestand()

    End Sub

End Class

Je kan mij voorbeeld projectje ook even downloaden om alles beter te bekijken.
Klik hier
Even uitpakken en in de projects folder van Visual Studio plaatsen.

Succes, Cotje
 
Ik kan de bestanden niet openen.

Edit: waar schrijf je bijv label1.text = regel1?
label1 en textbox1 hebben dezelfde tekst?
 
Laatst bewerkt:
de textbox en het label hebben niet dezelfde tekst. In de code hieronder zie je dat je het txtbestand regel voor regel uitleest en de waardes gebruikt worden om de textbox en het label in te vullen.

PHP:
        tmp = f.ReadLine 
        TextBox1.Text = tmp 
        tmp = f.ReadLine 
        Label1.Text = tmp

Cotje
 
Als je trouwens in vb een form maakt met een textbox, een label en een button. Dan kan je de code uit mijn eerste post ook even kopieren plakken in visual studio.
 
Code:
Imports System.IO

Public Class Form1

    Private Sub leesTXTBestand()

        Dim f As StreamReader
        Dim tmp As String

        f = File.OpenText("test.txt")

        tmp = f.ReadLine
        TextBox1.Text = tmp
        tmp = f.ReadLine
        Label1.Text = tmp

        f.Close()

    End Sub

    Private Sub schrijfTXTBestand()

        Dim f As StreamWriter

        f = File.CreateText("test.txt")

        f.WriteLine(TextBox1.Text)
        f.WriteLine(Label1.Text)

        f.Close()

    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        leesTXTBestand()


    End Sub

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

        schrijfTXTBestand()

    End Sub

End Class

Het werkt, maar wat moet ik er aan toevoegen als ik nog meer textboxes en labels heb waarvan ik de waarde wil opslaan?
 
Dingen in een tekst bestand schrijven doe je in principe met f.writeline(..iets...), stel je heb drie textboxes, dan zou de code worden:

PHP:
f.writeline(textbox1.text)
f.writeline(textbox2.text)
f.writeline(textbox3.text)

Hou er alleen wel rekening mee dat je de gegevens in dezelfde volgorde moet uitlezen als dat je ze weggeschreven heb, dit omdat VB het tekstbestand gewoon regel voor regel uitleest.
 
Dingen in een tekst bestand schrijven doe je in principe met f.writeline(..iets...), stel je heb drie textboxes, dan zou de code worden:

PHP:
f.writeline(textbox1.text)
f.writeline(textbox2.text)
f.writeline(textbox3.text)

Hou er alleen wel rekening mee dat je de gegevens in dezelfde volgorde moet uitlezen als dat je ze weggeschreven heb, dit omdat VB het tekstbestand gewoon regel voor regel uitleest.

Moet dit ook worden herhaald?
Code:
        tmp = f.ReadLine
        TextBox1.Text = tmp
        tmp = f.ReadLine
        TextBox2.Text = tmp
        tmp = fReadLine
        TextBox3.text = tmp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan