Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#11

AW: Effizienteste Datenverarbeitung eines Strings

  Alt 19. Okt 2011, 21:57
Falls der String immer genau so aufgebaut ist,
also mit einem Buchstaben beim ersten Wert und mit abschließenden ";", dann ginge auch Folgendes

"<" + "Gxxxx,yyyy;" + "Gxxxx,yyyy;" + ... + ">"

Delphi-Quellcode:
var
  S: String;
  L: TStringList/TStrings;
  i, i2: Integer;

S := '<G48.51123,9.71545;G48.51123,9.71545;G48.51123,9.71545;G48.51123,9.71545;>';
L.Clear;
i := 1;
while True do begin
  i2 := PosEx(',', S, i);
  if i2 = 0 then Break;
  L.Add(Copy(S, i + 2, i2 - i - 2));
  i := PosEx(';', S, i2);
  if i = 0 then Break;
  L.Add(Copy(S, i2 + 1, i - i2 - 1));
end;
Statt dem Zwischenspeichern, in der StringListe, könnte man die beiden Zahlen auch direkt verarbeiten, am Ende der Schleife.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Okt 2011 um 22:01 Uhr)
  Mit Zitat antworten Zitat