// === laden ==============================================
procedure TForm1.Button1Click(Sender: TObject);
var str: TStringlist;
begin
str := Tstringlist.Create;
try
str.LoadFromFile('c:\users\Julia\documents\stringlist.txt');
Memo1.Lines.AddStrings(str);
finally
str.Free;
end;
end;
// === verarbeitung ==============================================
procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
sl : TStringList;
sAnrede : String;
sTitel : String;
sNachname : String;
sVorname : String;
sABCD : String;
sTermin : String;
iPos : Integer;
sTemp : String;
begin
sl := TStringList.Create;
Memo1.Lines.AddStrings(sl);
for i := 0 to sl.Count - 1 do begin
sTemp := Trim(sl[i]);
// Falls mal jemand 'ne Leerzeile einschmuggelt:
if sTemp = '' then continue;
WriteLn('Quelle: ' + sl[i]); // Ausgabe nur zum Testen
// Zuerst den Termin holen:
iPos := Pos('Terminplan',sTemp);
sTermin := Copy(sl[i],iPos,Length(sTemp));
// Den Termin entfernen.
sTemp := Copy(sTemp,1,iPos - 3);
// Position von " mit " ermitteln
iPos := Pos(' mit ',sTemp);
// und alles hinter " mit " holen.
sABCD := Copy(sTemp,iPos + 5,Length(sTemp));
// Alles, einschließlich " mit " entfernen.
sTemp := Copy(sTemp,1,iPos - 1);
// Gibt es ein Komma, dann gibt es auch einen Vornamen.
iPos := Pos(', ',sTemp);
sVorname := '';
if iPos > 0 then begin
sVorname := Trim(Copy(sTemp,iPos + 1,Length(sTemp)));
sTemp := Copy(sTemp,1,iPos - 1);
end;
// Erstes Leerzeichen suchen, davor steht die Anrede.
iPos := Pos(' ',sTemp);
sAnrede := Copy(sTemp,1,iPos - 1);
// Anrede entfernen.
sTemp := Copy(sTemp,iPos + 1,Length(sTemp));
// Haben wir 'nen Punkt, so haben wir auch 'nen Titel:
sTitel := '';
iPos := Pos('. ',sTemp);
while iPos > 0 do begin
sTitel := Format('%s %s',[sTitel,Copy(sTemp,1,iPos)]);
sTemp := Trim(Copy(sTemp,iPos + 1,Length(sTemp)));
iPos := Pos('. ',sTemp);
end;
sTitel := Trim(sTitel);
// Der verbliebene Rest entspricht dem Nachnamen:
sNachname := sTemp;
sl[i] := Format('%s;%s;%s;%s;mit %s: %s', [sAnrede, sTitel, sNachname, sVorname, sABCD, sTermin]);
WriteLn('
CSV : ' + sl[i]); // Ausgabe nur zum Testen
end;
sl.SaveToFile('c:\users\Julia\documents\stringlist.txt');
sl.Free;
end;
// === speichern ==============================================
procedure TForm1.Button3Click(Sender: TObject);
var str: TStringlist;
i: integer;
begin
str := tstringlist.Create;
try
Memo1.Lines.SaveToFile('c:\users\Julia\documents\stringlist.txt');
finally
str.Free;
end;
end;