TextBox speichern, laden ...



  • Wie kann man den Inhalt einer TextBox speichern bzw laden ( unter Windows.Forms ), sofern man WordWrap auf true gesetzt hat ?



  • Was meinst du denn mit Speichern?
    In eine Datei, Datenbank was weiss ich?



  • Hallo,

    WordWrap ist ein reines Anzeigefeature der Textbox, der eigentliche Text enthält keinerlei Infos darüber und sowas kann man auch nicht speichern, da der WordWrap einzig von der Größe der TextBox abhängt. Wenn du spezifische Zeilenumbrüche haben willst, musst du sie halt an den entsprechenden Stellen einfügen.



  • Firefighter, ich meinte speichern bzw laden in bzw von einer ( einfachen, keiner Datenbank ) Datei. Man könnte eine RichTextBox nehmen, bei der gibt es LoadFile() und SaveFile(). Neben speichern und laden, interessiert mich auch noch drucken. Wohlgemerkt bei einer TextBox mit WordWrap = true;



  • Boy schrieb:

    Firefighter, ich meinte speichern bzw laden in bzw von einer ( einfachen, keiner Datenbank ) Datei. Man könnte eine RichTextBox nehmen, bei der gibt es LoadFile() und SaveFile(). Neben speichern und laden, interessiert mich auch noch drucken. Wohlgemerkt bei einer TextBox mit WordWrap = true;

    Das was die RichtextBox fuer dich macht musst du dir jetzt selbst programmieren.
    Mit der Klasse File kannst du relativ einfach Dateien lesen und schreiben. Da musst du nur den Inhalt der Textbox in die Datei schreiben und beim naechsten Start der Anwendung diese wieder laden.



  • So einfach ist es nicht ! Wenn ich WordWrap = false setze, kann ich mit der Eigenschaft Line einzelne Zeilen in die Datei schreiben, weil am Ende jeder Zeile ein 0x13 Byte geschrieben wird:

    String str;
    for ( int i=0; i < Anzahl_der_Zeilen; i++ )
    {
    str = TextBox.Line[Zeilennummer];
    "Schreibe str in die Datei"
    }

    Wenn ich WordWrap auf true setze, bricht die Textbox die Zeilen am Rand automatisch um. Ohne dass ein 0x13 geschrieben wird. Was schreibe ich dann in die Datei ? Mit TestBox.Text komme ich auch nicht weiter.



  • Und wo ist das Problem?
    Wenn du den Text in dein File schreibst, und nachher wieder in die Textbox lädst bei welcher wrap auf true ist, passiert ja wieder ein automatischer Umbruch.



  • Hast du dir meine Antwort überhaupt durchgelesen? Wordwrap ist ein reines Anzeigefeature, es gibt dort keine Zeilenumbrüche die man speichern könnte. Wenn du Zeilenumbrüche in der Textdatei brauchst, dann musst du diese manuell an den gewünschten Stellen hinzufügen.



  • Zwergli, wie soll ich also den Inhalt speichern ? So ?:

    String str;
    for ( int i=0; i < TextBox.Lines.Length; i++ )
    {
    str = TextBox.Lines[i];
    "Schreibe str in die Datei"
    }



  • Dies geht nur, wenn die Zeilen mit einem harten Zeilenumbruch (CR\LF) getrennt sind. In meinem Buch ( Das C# 2008 Codebook von Jürgen Bayer Addison Wesley Seite 682 ) steht noch ein anderer Algorithmus unter Verwendung der API-Funktion SendMessage(...), ohne harte Zeilenumbrüche ! Ich darf mich an der Stelle für die Mitarbeit bedanken, wenngleich ich nicht alles sofort verstanden habe. Danke und Tschüss ...


Anmelden zum Antworten