Richtextbox mit alternativem Text kombinieren

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von newsletter.

    Richtextbox mit alternativem Text kombinieren

    Moin,

    Ich bin langsam am verzweifeln mit dieser Richtextbox ?( kann doch nicht so schwierig sein einen verdammten Richtextbox-Text kombiniert mit ein paar Strings in ein Textdokument zu schreiben :cursing:

    Habe noch nie mit Richtextboxen zutun gehabt..

    Wird in die Richtextbox das eingegeben:

    HTML-Quellcode

    1. aaaaaaaaaaaaaaa
    2. bbbbbbbbbbbbbb
    3. cccccccccccccccc



    Soll das in das Textdokument kommen:

    HTML-Quellcode

    1. ---------------------
    2. aaaaaaaaaaaaaaa
    3. bbbbbbbbbbbbbb
    4. cccccccccccccccc
    5. ---------------------


    Ich weiss die kombination mit 2 unterschiedlichen Klassen ist nicht so die Lösung...
    Der Code funktioniert natürlich so nicht:

    C#-Quellcode

    1. if (TStrStatusL3.Text != "")
    2. {
    3. string paths = Environment.CurrentDirectory;
    4. string[] filesplit = TStrStatusL3.Text.Split('.');
    5. string file = ("/" + filesplit[0]).ToString() + ".txt";
    6. using (StreamWriter sw = new StreamWriter(paths + file))
    7. {
    8. sw.Write("-----------------------------");
    9. File.WriteAllLines(paths + file, RTxtMessage.Lines);
    10. sw.Write("-----------------------------");
    11. sw.Close();
    12. }
    13. }


    Wenn ich es so eingebe funktioniert es natürlich wieder nicht weil die Abstände von der Richtextbox nicht genommen werden:

    C#-Quellcode

    1. if (TStrStatusL3.Text != "")
    2. {
    3. string paths = Environment.CurrentDirectory;
    4. string[] filesplit = TStrStatusL3.Text.Split('.');
    5. string file = ("/" + filesplit[0]).ToString() + ".txt";
    6. using (StreamWriter sw = new StreamWriter(paths + file))
    7. {
    8. sw.Write("-----------------------------");
    9. sw.Write(RTxtMessage.Text);
    10. //File.WriteAllLines(paths + file, RTxtMessage.Lines);
    11. sw.Write("-----------------------------");
    12. sw.Close();
    13. }
    14. }

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „newsletter“ ()

    StreamWriter und WriteAllLines kommen sich in die Quere.
    Ich bin in C# nicht sonderlich fit, daher gibt's bestimmt bessere Lösungen, aber vielleicht reicht ja:

    C#-Quellcode

    1. string paths = Environment.CurrentDirectory;
    2. const string file = "\\Meine_erzeugung.txt";
    3. string[] Lines = new string[RTxtMessage.Lines.Count() + 2];
    4. Lines[0] = "-----------------------------";
    5. for (int i = 0; i < RTxtMessage.Lines.Count(); ++i)
    6. Lines[i + 1] = RTxtMessage.Lines[i];
    7. Lines[Lines.Count() - 1] = "-----------------------------";
    8. File.WriteAllLines(paths + file, Lines);

    btw: besser mit IO.Path.Combine arbeiten
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed Kein String-Array, sondern eine List<string>.
    @newsletter

    C#-Quellcode

    1. List<string> lines = new List<string>();
    2. lines.Add("-----");
    3. lines.AddRange(RTxtMessage.Lines);
    4. lines.Add("-----");
    5. System.IO.WriteAllLines(PFAD, lines.ToArray());
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke! Ihr seit super!!

    Damit funktioniert es endlich :love:

    C#-Quellcode

    1. string paths = Environment.CurrentDirectory;
    2. string[] filesplit = TStrStatusL3.Text.Split('.');
    3. string file = ("/" + filesplit[0]).ToString() + ".txt";
    4. List<string> lines = new List<string>();
    5. lines.Add("-----");
    6. lines.AddRange(RTxtMessage.Lines);
    7. lines.Add("-----");
    8. File.WriteAllLines(Path.Combine(paths + file), lines.ToArray());