richtekstbox

Status
Niet open voor verdere reacties.

geert160

Gebruiker
Lid geworden
31 jan 2009
Berichten
43
Effe een vraagje , twijfel aan mezelf.
Heb nu een heel weekend gelezen over textbox en rixhtextbox.
Mijn bedoeling is een .txt file open te doen en indien nodig tekst toe te voegen en teug op te slaan.
Ik heb al zoveel info op het internet gevonden dat ik er niet meer aan uit geraak.
Welke is nu de goede ? Moet ik deze methode gebruiken ?
Code:
Dim fs As System.IO.FileStream = New System.IO.FileStream(path, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
Dim s As System.IO.StreamReader = New System.IO.StreamReader(fs)

Of mag het heel eenvoudig dit zijn ?

Code:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        RichTextBox1.LoadFile("C:\test\67411.txt")

    End Sub

Of is het een combinatie van deze 2 ?
De bedoeling is dus dat door op een Button te klikken er een .txt file wordt geladen in de richtextbox . Na eventueel toevoegen van text moet de file terug opgeslagen worden.
Het opslagen van de file dat is zorg voor later , eerst probeer ik een mooie manier te vinden om de file te openen en aan te passen.
 
heb iets gevonden

Op deze manier kan ik een .txt bestand openen.
Maar is dit een goede manier ?
Code:
    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67442.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67447.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67448.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67449.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67450.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67453.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67455.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67458.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67457.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67460.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67461.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67464.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67470.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67477.txt")
        RichTextBox1.Text = (fileReader)
    End Sub

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\logpandur\67490.txt")
        RichTextBox1.Text = (fileReader)
    End Sub
End Class
 
Je kan beter 1 event met meerdere handles gebruiken , daarna een select case om de juiste button , met de correcte file te koppelen. Scheelt veel dezelfde code, en het wordt korter.

Code:
Public Class Form1

    Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, _
    Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button15.Click, Button16.Click, Button17.Click

        Dim Filename As String = Nothing

        Select Case sender.name
            Case "Button3"
                Filename = "C:\logpandur\67442.txt"
            Case "Button4"
                Filename = "C:\logpandur\67447.txt"
            Case "Button5"
                Filename = "C:\logpandur\67448.txt"
            Case "Button6"
                Filename = "C:\logpandur\67449.txt"
            Case "Button7"
                Filename = "C:\logpandur\67450.txt"
            Case "Button8"
                Filename = "C:\logpandur\67453.txt"
            Case "Button9"
                Filename = "C:\logpandur\67455.txt"
            Case "Button10"
                Filename = "C:\logpandur\67457.txt"
            Case "Button11"
                Filename = "C:\logpandur\67458.txt"
            Case "Button12"
                Filename = "C:\logpandur\67460.txt"
            Case "Button13"
                Filename = "C:\logpandur\67461.txt"
            Case "Button14"
                Filename = "C:\logpandur\67464.txt"
            Case "Button15"
                Filename = "C:\logpandur\67470.txt"
            Case "Button16"
                Filename = "C:\logpandur\67477.txt"
            Case "Button17"
                Filename = "C:\logpandur\67490.txt"
            Case Else
                MsgBox("No attached Filename", MsgBoxStyle.OkOnly)
        End Select

        RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Filename)

    End Sub

End Class
 
bedankt

bedankt Pizara

Op die manier heb ik het nog nooit gezien , ik ga de code nu direct aanpassen.
Ik worstel nu met het terug opslaan.
Ik kan voor elke Button een safe buttten maken , maar dat is niet bepaald ideaal.
Een save button maken dat is dan weer een probleem.
Ik ga me vanavond bezig houden met dat probleem verder uit te zoeken .

Alvast bedankt voor u reactie.
 
Je kan toch gewoon een sub aanroepen ??

Code:
        .....

        Filename = "C:\logpandur\67490.txt"
        Case Else
        MsgBox("No attached Filename", MsgBoxStyle.OkOnly)
        End Select

        RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Filename)

       '...... Doe hier iets met je text
 
        [B]Call SaveRichTextBoxFile(Filename)[/B]

    End Sub


[B]    Private Sub SaveRichTextBoxFile(ByVal Filename As String)
        RichTextBox1.SaveFile(Filename)
    End Sub[/B]
 
Laatst bewerkt:
opslaan

dus dan worden die in dezelfde directory als waar ze geladen worden opgeslagen en indien nodig overschreven ?
ok ik zat dus veel veel te ver te zoeken
 
Ik heb net je vraag nog een keer goed gelezen , maar je wilt de richtextbox handmatig aanpassen en dan op een save knop drukken om te saven??

Dan zou ik van Filename een globale variabele van maken (Dim Filename as String - binnen de class en buiten alle subs)
Dan kan je m opvragen met een savebutton ..

Code:
    Dim Filename As String

    '......
    'andere button_click code

    Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
        RichTextBox1.SaveFile(Filename)
    End Sub
 
Ok maar ik begrijp niet goed hij het programma weet waar het moet opslaan.
Ik ga het nu is testen en kijken wat het juist doet
 
Ik krijg een paar errors.
Code:
Call SaveRichTextBoxFile(Filename)

krijg ik 'Name SaveRichTextBoxFile is Not declard
en bij
Code:
 Private Sub SaveRichTextBoxFile(ByVal Filename As String)
        RichTextBox1.SaveFile(Filename)
    End Sub

Argement Null exeption was Unhandled

Ik zal wel iets verkeerd gedaan hebben of iets vergeten zijn .
 
die null exeption komt omdat je de Filename string niet buiten de sub hebt geplaatst, die moet je namelijk global maken.
 
Voor de duidelijkheid , dit is de complete code.

Code:
Public Class Form1

    Dim Filename As String = Nothing

    Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, _
    Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button15.Click, Button16.Click, Button17.Click

        Select Case sender.name
            Case "Button3"
                Filename = "C:\logpandur\67442.txt"
            Case "Button4"
                Filename = "C:\logpandur\67447.txt"
            Case "Button5"
                Filename = "C:\logpandur\67448.txt"
            Case "Button6"
                Filename = "C:\logpandur\67449.txt"
            Case "Button7"
                Filename = "C:\logpandur\67450.txt"
            Case "Button8"
                Filename = "C:\logpandur\67453.txt"
            Case "Button9"
                Filename = "C:\logpandur\67455.txt"
            Case "Button10"
                Filename = "C:\logpandur\67457.txt"
            Case "Button11"
                Filename = "C:\logpandur\67458.txt"
            Case "Button12"
                Filename = "C:\logpandur\67460.txt"
            Case "Button13"
                Filename = "C:\logpandur\67461.txt"
            Case "Button14"
                Filename = "C:\logpandur\67464.txt"
            Case "Button15"
                Filename = "C:\logpandur\67470.txt"
            Case "Button16"
                Filename = "C:\logpandur\67477.txt"
            Case "Button17"
                Filename = "C:\logpandur\67490.txt"
            Case Else
                MsgBox("No attached Filename", MsgBoxStyle.OkOnly)
                Filename = Nothing
        End Select

        RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Filename)

    End Sub

    Private Sub SaveButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton1.Click
        If Not Filename = Nothing Then
            RichTextBox1.SaveFile(Filename)
        End If
    End Sub

End Class
 
ik had ondertussen deze code is geprobeert, werkt ook maar dan moet je zelf kiezen waar je de .txt opslaat

Code:
Public Class Form3
    Dim Filename As String
   

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

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

    End Sub

    

    Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, _
    Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button15.Click, Button16.Click, Button17.Click

        Dim Filename As String = Nothing

        Select Case sender.name
            Case "Button2"
                Filename = "C:\logpandur\67441.txt"
            Case "Button3"
                Filename = "C:\logpandur\67442.txt"
            Case "Button4"
                Filename = "C:\logpandur\67447.txt"
            Case "Button5"
                Filename = "C:\logpandur\67448.txt"
            Case "Button6"
                Filename = "C:\logpandur\67449.txt"
            Case "Button7"
                Filename = "C:\logpandur\67450.txt"
            Case "Button8"
                Filename = "C:\logpandur\67453.txt"
            Case "Button9"
                Filename = "C:\logpandur\67455.txt"
            Case "Button10"
                Filename = "C:\logpandur\67457.txt"
            Case "Button11"
                Filename = "C:\logpandur\67458.txt"
            Case "Button12"
                Filename = "C:\logpandur\67460.txt"
            Case "Button13"
                Filename = "C:\logpandur\67461.txt"
            Case "Button14"
                Filename = "C:\logpandur\67464.txt"
            Case "Button15"
                Filename = "C:\logpandur\67470.txt"
            Case "Button16"
                Filename = "C:\logpandur\67477.txt"
            Case "Button17"
                Filename = "C:\logpandur\67490.txt"
            Case Else
                MsgBox("No attached Filename", MsgBoxStyle.OkOnly)
        End Select

        RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Filename)

    End Sub

   
   
    
    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged

    End Sub

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        
        Dim saveFile1 As New SaveFileDialog()
        saveFile1.DefaultExt = "*.txt"
        saveFile1.Filter = "txt Files|*.txt"
        If (saveFile1.ShowDialog() = System.Windows.Forms.DialogResult.OK) _
            And (saveFile1.FileName.Length > 0) Then
            RichTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText)
        End If

    End Sub
End Class
 
wanneer ik nu op Opslaan klik en ik vraag de file opnieuw op dan is er niets verandert.
raar
bedoel bij de code die je net gaf
 
Dit komt omdat je de txt niet aanpast. Je moet ervoor zorgen dat het geen dat je hebt geopent wordt aangepast. Windows overwrite de bestanden meestal automatisch dus je zou er voor kunnen zorgen dat hij een nieuw txt bestandje aanmaakt met precies dezelfde naam.

Code:
Public Class Form1

    Dim Filename As String = Nothing

    Private Sub Buttons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
    Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, _
    Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button15.Click, Button16.Click, Button17.Click

        Select Case sender.name
            Case "Button3"
                Filename = "C:\logpandur\67442.txt"
            Case "Button4"
                Filename = "C:\logpandur\67447.txt"
            Case "Button5"
                Filename = "C:\logpandur\67448.txt"
            Case "Button6"
                Filename = "C:\logpandur\67449.txt"
            Case "Button7"
                Filename = "C:\logpandur\67450.txt"
            Case "Button8"
                Filename = "C:\logpandur\67453.txt"
            Case "Button9"
                Filename = "C:\logpandur\67455.txt"
            Case "Button10"
                Filename = "C:\logpandur\67457.txt"
            Case "Button11"
                Filename = "C:\logpandur\67458.txt"
            Case "Button12"
                Filename = "C:\logpandur\67460.txt"
            Case "Button13"
                Filename = "C:\logpandur\67461.txt"
            Case "Button14"
                Filename = "C:\logpandur\67464.txt"
            Case "Button15"
                Filename = "C:\logpandur\67470.txt"
            Case "Button16"
                Filename = "C:\logpandur\67477.txt"
            Case "Button17"
                Filename = "C:\logpandur\67490.txt"
            Case Else
                MsgBox("No attached Filename", MsgBoxStyle.OkOnly)
                Filename = Nothing
        End Select

        RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(Filename)

    End Sub

    Private Sub SaveButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton1.Click
        If Not Filename = Nothing Then
            My.Computer.FileSystem.WriteAllText(Filename, richtextbox1.txt, False)
        End If
    End Sub

End Class

wellicht werkt hij zo
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan