Hallo,
auch wenn schon eine Lösung da ist, mal ein anderer Ansatz: (bin halt mal wieder langsamer als DeddyH
)
Zuerst alle Leerzeilen löschen und dann alles hinter 'Serien Termine' löschen.
Dazu nehmen wir eine Funktion, um das alles nicht mehrfach implementieren zu müssen.
Delphi-Quellcode:
function MachLeerWeg(Eingabe : TStrings) : String;
begin
// Damit sind alle Leerzeilen weg.
for i := Eingabe.Count - 1 DownTo 0 do if Eingabe[i] = '' then Eingabe.Delete(i);
// Nun prüfen, ob die Zeichenfolge 'Serien Termine' vorhanden ist:
if Pos('Serien Termine',Eingabe.Text) > 0 then begin
repeat
Eingabe.Delete(Eingabe.Count - 1);
until Eingabe[Eingabe.Count - 1] = 'Serien Termine';
end;
if (Eingabe.Count > 0) and (Eingabe[Eingabe.Count - 1]) = 'Serien Termine' then begin
Eingabe.Delete(Eingabe.Count - 1);
end;
Result := Eingabe.Text;
end;
Im Programm dann so aufrufen:
Delphi-Quellcode:
procedure TForm1.SpeichernClick(Sender: TObject);
begin
Zwischenspeicher.Clear;
Zwischenspeicher.Add('Montag');
Zwischenspeicher.Add(MachLeerWeg(Memo1.Lines));
Zwischenspeicher.Add('Dienstag');
Zwischenspeicher.Add(MachLeerWeg(Memo2.Lines));
Zwischenspeicher.Add('Mittwoch');
Zwischenspeicher.Add(MachLeerWeg(Memo3.Lines));
Zwischenspeicher.Add('Donnerstag');
Zwischenspeicher.Add(MachLeerWeg(Memo4.Lines));
Zwischenspeicher.Add('Freitag');
Zwischenspeicher.Add(MachLeerWeg(Memo5.Lines));
Zwischenspeicher.Add('Samstag');
Zwischenspeicher.Add(MachLeerWeg(Memo6.Lines));
Zwischenspeicher.Add('Sonntag');
Zwischenspeicher.Add(MachLeerWeg(Memo7.Lines));
Zwischenspeicher.SaveToFile(Textdatei);
end;
(Das ist jetzt nur so hingedaddelt und nicht getestet.)