Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
14. Mär 2005
Na ja, am efizientesten ist String/AnsiString, da dort mehrere Strings den Selben Speicherbereich belegen können, außerdem passen in String/AnsiString auch mal mehr als nur 255 Zeichen rein.
String ist auch ein ShortString, nur halt mit der "maximalen" Länge von 4 Zeichen.
In Records ist der ShortString deßhalb gut, weil der Speicherbereich für die Zeichen direkt innerhalb des...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
14. Mär 2005
Schau mal in deine EXEn rein ... die ResourceStrings und die hardgecodeten Strings sind alles ShortStrings ... außerdem machen sich ShortStrings in Record's ganz gut (wenn man die gemaue/maximale Stringlänge kennt)
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
14. Mär 2005
Na ja, wenn man ShortString verwendet werden wohl die bekannten 256 Byte (1 LängenByte und 255 für die Zeichen) verbraucht.
Wenn man aber den "ShortString folgender Maßen definiert, dann ist Speicherverbrauch = Zeichenanzahl + 1
Var S: String;
Bei String/AnsiString Zeichenanzahl + 12 Byte (ja 4 Byte für Referenzzähler, Längenangabe und Pointer auf die Stringdaten) belegt.
Und bei...