![]() |
Re: FastStrings eingestellt?
Vielen Dank für die vielen Hinweise! Ich werde das alles mal ausprobieren und dann hier Bescheid geben, wer das Rennen gemacht hat ... ;-)
|
Re: FastStrings eingestellt?
HTML-Äquivalente bestehen aber aus mehr als einem Zeichen ('&' etc. wenn ich mich nicht irre).
Trotzdem wird eine Lookup-Tabelle für die zu ersetzenden Zeichen etwas bringen. Ich habe selbst mit einem simplen Case-Konstrukt eine ausreichende Performance erzielt. |
Re: FastStrings eingestellt?
Es geht um das Ersetzen eines Umlautes in die HTML-Repräsentation, deshalb kann man das sehr gut zeichenweise machen, praktisch so wie ich es beim Adventsgewinnspiel gemacht hatte.
Für den Ersetzungsstring bietet sich ein konstantes Array an, das die HTML-Ersetzungen entsprechend des Ascii-Codes enthält. Dann ist das ganze sehr einfach und schnell. |
Re: FastStrings eingestellt?
Zitat:
|
Re: FastStrings eingestellt?
Delphi-Quellcode:
Das kann man natürlich effizienter umsetzen, z.B. indem alle Zeichen in das Array gelegt werden und daher weniger Abfragen nötig sind.
const
HtmlCodes: array[0..3] of String = ('ä', 'å', 'æ', 'ç'); // Das ä hat den Zeichencode $E4, also ist das die unterste Grenze beim Ersetzen if (DerString[i] >= Chr($E4)) and (HtmlCodes[Ord(DerString) - $E4] <> '') then // Zeichen i durch HtmlCodes[Ord(DerString) - $E4] ersetzen Eine schnelle Möglichkeit einer ähnlichen Vorgehensweise habe ich ja verlinkt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz