Hallo,
ich habe in ein Memofeld eine Textdatei (Liste) geladen. Diese Textdatei hat folgendes Format:
Code:
Zeile mit Schlüsselwort 1
Nun kommen mehere
Zeilen unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 2
Wieder mehere Zeilen
unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 3
Wieder mehere Zeilen
unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 1
Wieder mehere
Zeilen unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 2
Wieder mehere Zeilen
unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 3
Wieder mehere Zeilen
unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 1
Wieder mehere
Zeilen unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 2
Wieder mehere Zeilen
unterschiedlicher Anzahl
und Länge
Zeile mit Schlüsselwort 3
Wieder mehere Zeilen
unterschiedlicher Anzahl
u.s.w. Die Schüsselworte sind immer gleich - die Datensätze sind natürlich verschieden. Das ganze kann sich beliebig oft wiederholen.
Ich möchte einzelne Zeilen in ein zweites Memofeld laden und dabei folgendes Format erzielen:
Code:
Schlüsselwort 1
Text zwischen Schlüsselwort 2 und Schlüsselwort 3
Schlüsselwort 1
Text zwischen Schlüsselwort 2 und Schlüsselwort 3
Schlüsselwort 1
Text zwischen Schlüsselwort 2 und Schlüsselwort 3
Bisher habe ich folgendes versucht, aber ich komme nicht weiter.
Delphi-Quellcode:
var i: integer;
m: integer; // Zeilennummer Schlüsselwort 2
q: integer; // Zeilennummer Schlüsselwort 3
ti: string; // Zeileninhalt Schlüsselwort 1
begin
for i := 0 to Memo1.Lines.Count - 1 do
begin
if Pos('Schlüsselwort 1' , Memo1.Lines.Strings[i]) <> 0 then
begin
ti:= Memo1.Lines.Strings[i];
Memo2.Lines.Add(ti);
end;
if Pos('Schlüsselwort 2' , Memo1.Lines.Strings[i]) <> 0 then
begin
m:= i;
Memo2.Lines.Add ('m ' +(intToStr(i))); // Zeilen-Nr. SW2
end;
if Pos('Schlüsselwort 3' , Memo1.Lines.Strings[i]) <> 0 then
begin
q:= i;
Memo2.Lines.Add ('q ' +(intToStr(i))); // Zeilen-Nr. SW3
end;
if (i > m) and (i < q) then
begin
Memo2.Lines.Add(intToStr(i));
end;
end;
end;
Wie kann ich den Text zwischen Schlüsselwort 2 und 3 in mehrmals nacheinander auslesen ?
Ich wäre für jeden Tipp dankbar.