Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
11. Apr 2006
Ey... Leute....
Seid Ihr verrückt ;) (ich meine das absolut nett) :angel:
Es ist ja jetzt fast ein Wettstreit um die schnellste Funktion entstanden. Nein nicht nur fast, es ist.
Warum macht man daraus nicht gleich einen kompletten StringReplace Ersatz, denn das einzige was man zu StringReplace in den Foren findet ist, daß es "*rschlahm" ist :wink:
Ich würde mich gerne auch noch...
Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
11. Apr 2006
Also wie gesagt, ich habe ja immer meine gesamte Funktion (mit dem StringReplace) gemessen und daher die letzte "kleine" Verbesserung.
Da ich ja lediglich zusätzlich noch #9, #13 und #10 ersetzen bzw. löschen will hab ich die Funktion nun entsprechend mal angepasst und nun braucht das ganze nur noch 3,77 ms hingegen vorher 0.751 sek!!!.
Genial, das reicht ;-))) !
function...
Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
11. Apr 2006
Also in meiner App jetzt die Testergebnisse: bisher bei 0.751 und nun 0.741
Ggf. liegt die geringe Verbesserung auch noch an den blöden StringReplace aufrufen in welchen ich ja eh nur einzelne Zeichen ersetzt... werde diesebezüglich noch nen bischen basteln und dann mal weitere messergebnisse posten.
Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
10. Apr 2006
Stimmt, danke habe sie jetzt getestet : 0.741 Sek... aber habe auch vergessen Euch zu sagen, bei meinen Zeiten habe ich nur den Durchlauf der gesamten Funktion gemessen und Euch verschwiegen :wink: das da noch ein wenig mehr mit den 7k Zeichen passiert:
s := AdjustLineBreaks(sl.Text, tlbsLF);
s := StringReplace(s, #10, #32, );
s := StringReplace(s, #9, #32, );
Result :=...
Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
10. Apr 2006
Also meine "alte" Variante brauchte 2.654sek
while Pos(' ', DeinString) > 0 do
Delete(DeinString, Pos(' ', DeinString), 1);
2.592sek
und
while Pos(' ', DeinString) > 0 do
DeinString := StringReplace(DeinString, ' ', ' ', );
1.573sek
und das ganze bei einer Stringlänge von 77000 Zeichen, nicht so "pralle"
Forum: Object-Pascal / Delphi-Language
Delphi
by Pichel,
10. Apr 2006
Hi...
Irgendwie ein absolut blödes Problem.
ich möchte in einem String keine doppelten Leerzeichen mehr haben.
Hierfür jetzt mal die Funktion StringReplace getestet.
Was bei beliebigen Zeichen funktioniert bringt mich hier fast zum Wahnsinn
s := StringReplace(s, ' ', ' ', );
funktioniert nicht und