Mal eben schnell hingetippt.
Die Idee dahinter: Mit einer StringList kann man auch Wertepaare "verwalten".
Da der String ja immer gleich aufgebaut sein soll, werden erstmal überflüssige Leerzeichen rausgeschmissen. Die Paare sind durch ein "=" verbunden. Ich meine, dass dann kein Leerzeichen dazwischen sein darf. Die Anführungszeichen mit folgendem Leerzeichen trennt ein Wertepaar vom nächsten. Der Sonderfall des letzten Wertepaares muss natürlich berücksichtigt werden.
Delphi-Quellcode:
var
SL : TStringList;
Teil, Mein : String;
begin
SL := TStringList.Create;
SL.NameValueSeparator := '=';
Mein := StringReplace('Name1= "Meier" Name2= "Schmidt" Strasse= "Hauptstrasse 22" Vorname= "Bernd"', '= "', '="', [rfReplaceAll]);
if length(Mein) > 0 then
begin
Repeat
Teil := copy(Mein, 1, Pos('" ', Mein));
if Teil = '' then
begin
Teil := Mein;
end;
SL.Add(Teil);
Delete(Mein, 1, Pos('" ', Mein) + 1);
until Pos('" ', Mein) = 0;
end;
ShowMessage(SL.Values['Strasse']);
end;
Dann kann man einfach über:
StringList.Values['Strasse']
zum Beispiel an den Straßennamen kommen.
Oder denke ich jetzt zu einfach?