Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: StringReplace #10 -> #13#10, aber nur wenn nicht schon #13#10 existiert

  Alt 19. Jul 2011, 08:13
@Amateurprofi:
Mach mal aus den String und PChar jeweils AnsiString und PAnsiChar, denn deine Funktionen sind nicht Unicodefähig.

StringReplace ist nunmal sehr einfach programmiert.
Es sucht das erste Vorkommen und verschiebt dann den kompletten nachvolgenden Stringanteil,
danach sucht es das nächste Vorkommen und verschiebt ebenfalls wieder "alles"
usw.

Je länger der String und um so mehr Ersetzungen nötig sind um so mehr/öfters muß kopiert werden.
(Seit der Integration des FastCodeProjekts in Delphi ... irgendwann um D2006 bis D2009 ... sind die Kopierfunktionen schneller, was StringReplace zumindestens etwas beschleunigt hat).

Im himXML versteckt sich eine unaufällige Klasse (ich bin mir nicht sicher, aber ich hab das Gefühl diese auch schonmal einzeln hier irgendwo gepostet zu haben), über welche man Ersetzungen sammeln und dann mehrere solcher Ersetzungen etwas optimiert durchführen lassen kann (diese war mal wegen des StringReplace-Problems mal entstanden).
Damit wäre auch soein StringReplace wie in PHP möglich, also mit mehereren unterschiedlichen Ersetzungen gleichzeitig.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat