Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Im String Nach Wort suchen und nebenstehendes auslesen

  Alt 8. Dez 2015, 13:06
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?
Peter

Geändert von Jasocul ( 8. Dez 2015 um 13:18 Uhr) Grund: Doch noch ein Delphi dabei gehabt
  Mit Zitat antworten Zitat