C# hat folgendes geschrieben : |
Alsoooooo. Probiers mal so:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| StringBuilder stringBuilder = new StringBuilder();
string lastLine = "blabla"; foreach (string line in boxZusammenfassung.Lines) { string s = line.Trim();
if (!String.IsNullOrEmpty(s)) {
if (s.Contains("%THEMA%")) s = s.Replace("%THEMA%", boxThema.Text.Trim()); if (String.IsNullOrEmpty(lastLine)) stringBuilder.AppendLine(); stringBuilder.AppendLine(s); } lastLine = s; }
boxZusammenfassung.Text = stringBuilder.ToString(); |
/// EDIT
Sry hab 2. Seite nicht gesehen.
Untersuch mal das Schnipsel und guck ob du alles begriffen hast. |
Man erstellt einen StringBuilder;
Ein string LastLine... mit irgendeinem Text
Dann kommt die foreach Schleife, dort speichert man in der String Variable "s" die Zeile der Textbox (Ergebnis) und entfernt leerzeichen
Dann prüft man ob die Zeile != Nichts enthält
Wenn das zutrifft prüft man ob "s" die Variable "%THEMA% enthält und ersetzt dann die Variable mit dem Text aus der Textbox? (Textbox ist ja leer also wird dann wohl "" ersetzt?)
Wenn "LastLine" nichts enthält wird dem StringBuilder eine zeile hinzugefügt und der ersetzte Text....
Anschließen wird der neue Text vom StringBuilder in die TextBox gesetzt.
Aber irgendwie klingt mir das nicht ganz nach meinem Ergebnis das ich erzielen möchte.
Im Anhang habe ich das Programm mal gebaut und mein derzeitiger Code ist dort.
Sieht eigentlich auch nur so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if (!String.IsNullOrEmpty(txt_thema.Text)) { textvorlage.Text = textvorlage.Text.Replace("%THEMA%", txt_thema.Text); } else { textvorlage.Text = textvorlage.Text.Replace("%THEMA%", ""); } |