Da Deine Titel immer eien Punkt beinhalten, kannst Du wohl mit einer Stringlist arbeiten
So mal aus dem Ärmel:
Code:
procedure inputcsv;
var sl : TstringList;
Anrede, Titel, Name, Vorname, Suffix : String;
begin
sl := TStringList.Create();
sl.Delimiter := ',';
sl.StrictDelimiter := true;
Try
// Als Beispiel, später sollte das bei Dir eine übergeben Variable an ene Funktion sein,
// die als Ausgabe dann Deinen Wunschstring enthält
sl.DelimitedText := 'Herr,Prof., Mustermann, Max, mit';
Anrede := sl[0];
If Pos('.',sl[1]) > 0 Then // Titel vorhanden
Begin
Titel := sl[1];
Name := sl[2];
Vorname := sl[3];
Suffix := sl[4];
end
else Begin
Titel := '';
Name := sl[1];
Vorname := sl[2];
Suffix := sl[3];
End;
Finally
sl.free
End;
Hier gibt es keine Fehlerüberpüfung und sonstige Feinheiten und im Name darf auch kein Punkt vorkommen, aber grundsätzlich siehst Du hier einen gangbaren Weg.