Mein eigener Editor

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Oreagel.

    Mein eigener Editor

    Also ich arbeite grad an meinem eigenen Editor (interessiert das jemand? :D)
    aber irgendwass is an meinem Code falsch.. ich hab
    1x Textbox 1x Button 1x SaveFileDialog

    Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. SaveFileDialog1.Filter = "txt (*.txt)|*.txt"
    4. SaveFileDialog1.ShowDialog()
    5. If SaveFileDialog1.FileName <> "" Then
    6. FileOpen(1, SaveFileDialog1.Filter, OpenMode.Output)
    7. FileClose(1)
    8. End If
    9. End Sub
    10. End Class


    Die 6te Beschriftete (die leere ausgelassen) hat folgenden Fehler:
    Illegales Zeichen im Pfad. Die ArgumentException wurde nicht behandelt.

    Bin grad neu und will mich etwas vertraut machen, jedoch fast immer hakt es mit dem Fehler ausbügeln,
    sollte denn mal einer vorhanden sein.
    Nun, ich habe alle Zeichen in beschrifteter zeile 6 mitndestens 1 mal weggelassen oder vertauscht, es ist und bleibt der
    gleiche Fehler. Weis immoment echt nicht mehr weiter, ich glaub ich heul gleich. Kann mir jemand verraten wo der fehler liegt und wie ich ihn ausbügele?

    VB.NET-Quellcode

    1. 'Lesen:
    2. Dim OFD As New OpenFileDialog
    3. OFD.Filter = "Textdateien(*.txt)|*.txt"
    4. If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
    5. TextBox1.Text = My.Computer.FileSystem.ReadAllText(OFD.FileName)
    6. End If
    7. 'Schreiben:
    8. Dim SFD As New SaveFileDialog
    9. SFD.Filter = "Textdateien(*.txt)|*.txt"
    10. If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then
    11. My.Computer.FileSystem.WriteAllText(SFD.FileName, TextBox1.Text, False)
    12. End If


    lg.

    4typen schrieb:

    Also mal ne Frage, willst du den Text der Textbox als .txt speichern?
    Ja, ich will. :D
    Nein jetzt mal im Ernst..es ist ein editor, also will ich als txt, bat und was man noch so alles mit dme editor
    machen kann abspeichern.. Is aber eigentlich automatisch, nur beim speichern klappt iwas ned

    Gelöschter Benutzer schrieb:

    VB.NET-Quellcode

    1. 'Lesen:
    2. Dim OFD As New OpenFileDialog
    3. OFD.Filter = "Textdateien(*.txt)|*.txt"
    4. If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
    5. TextBox1.Text = My.Computer.FileSystem.ReadAllText(OFD.FileName)
    6. End If
    7. 'Schreiben:
    8. Dim SFD As New SaveFileDialog
    9. SFD.Filter = "Textdateien(*.txt)|*.txt"
    10. If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then
    11. My.Computer.FileSystem.WriteAllText(SFD.FileName, TextBox1.Text, False)
    12. End If


    lg.
    Kenn ich schon danke, wollte lediglich die lösung zu meinem fehlerhaftem code :D
    vllt:

    Quellcode

    1. Dim dialog As New SaveFileDialog
    2. dialog.Filter = "Textdateien(*.txt)|*.txt"
    3. Dim resolut AS DialogResolut = dialog.ShowDialog
    4. If resolut = Windows.Forms.DialogResult.OK Then
    5. IO.File.WriteAllText(dialog.FileName, TextBox1.Text)
    6. End If

    ??
    aber so inetwa war das ja schonmal...aber ich denke so gehts^^
    Lest doch mal die Fehlermeldung, und schmeißt ihm nicht die Sources zu.

    @Threadsteller: der Pfad (z.B. C:\Test.txt) darf keine illegalen Zeichen enthalten. Illegale Zeichen sind z.B. "? / \ : * "

    Man muss nicht mal Erfahrung haben; einfach aufmerksam die Fehlermeldung lesen.


    @alle Anderen: egal welchen Source ihr ihm gebt, solange der Pfad "illegale" Zeichen enthält, wird das nichts.


    EDIT: jetzt, wo ich mir den Source ansehe, erkenne ich den Fehler:

    Quellcode

    1. FileOpen(1, SaveFileDialog1.Filter, OpenMode.Output)


    Du gibst als Pfad den Filter des SV-Dialogs an, also:

    "txt (*.txt)|*.txt"
    Und eben dieser ist geradezu gespickt mit illegalem.