StringBuffer in Delphi?
Guten Abend,
Standardmässig gibt es keine StringBuffer in Delphi oder doch? Wir wissen ja, dass jedes Mal einen neuen String angelegt wird, wenn man den manipulieren will. Sprich:
Delphi-Quellcode:
Für die die in Java programmieren, gibt es eine (bessere) Varianten um nicht immer ein neues Stringobjekt anzulegen.
...
var Str : String; ... Str := 'Hallo'; ... Str := Str + ' Welt'; Die Klasse StringBuffer:
Code:
Will man jetzt " Welt" hinzufügen macht man ja folgendes:
...
StringBuffer meinString = new StringBuffer("Hallo"); ...
Code:
Jetzt die große Lottofrage, gibt es sowas denn auch in Delphi? Eine Komponente die man downloaden kann?
...
meinString.append(" Welt"); ... Danke :) |
AW: StringBuffer in Delphi?
Eine Komponente braucht man da IMHO nicht, StrCat oder StrECopy sollten es auch tun.
|
AW: StringBuffer in Delphi?
Zitat:
|
AW: StringBuffer in Delphi?
In der Regel ist das ganze schon optimiert genug, dass das kein Problem ist. Deshalb macht es eigentlich nur Sinn in der Richtung zu optimieren, wenn es denn tatsächlich mal ein Performance- oder Speicherproblem gibt.
Und dann kann man ja mit PChars und selbst vorher vergrößerten Strings arbeiten, was sicher sehr viel schneller ist als eine allgemeine Pufferung es sein kann. Denn die kann man ja nie auf den Einzelfall hin optimieren. |
AW: StringBuffer in Delphi?
Zitat:
|
AW: StringBuffer in Delphi?
Sowie einen TStringStream, TTextReader, TTextWriter, TStringReader, TStringWriter, TStreamWriter, TStreamReader, ...
Die TStringList kann man ebenfalls als sehr flotten String-Builder misbrauchen (indem man z.B. dessen LineBreak auf '' setzt), vorallem wenn zwischendurch Textabschnitte oft verändert werden. |
AW: StringBuffer in Delphi?
Zitat:
[Add]: Meine Frage ist soweit beantwortet. Danke euch :) |
AW: StringBuffer in Delphi?
Zitat:
|
AW: StringBuffer in Delphi?
Zitat:
So um 2006 rum wurde das FastCode-Projekt in Delphi integriert und hat viele alte schlecht weniger gut optimiere Funktionen ersetzt. Leider hat man in der Zwischenzeit, bzw. beim Integrieren einige Stellen wieder verschlimmbessert. :cry: |
AW: StringBuffer in Delphi?
Gut, mein Test war glaub mit Delphi XE. Wenn überhaupt mit Delphi 2010, aber ich meine echt Delphi XE. XE2 kann ich auch ausschließen. Fazit war jedenfalls, dass der StringBuilder unwesentlich schneller war als die "normalen" String-Operationen, wobei, soweit ich weiß, nur die grundlegenden Dinge getestet hatte. Aber gut, ich will mich hier nicht total festlegen, auch nicht, ob mein Test ungemein aussagekräftig ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz