Delphi und die drei Saiten
Es war einmal, in den frühen Tagen von pascal, dort, wo kurze Strings. Sie bestanden aus einem Block von Bytes mit einer maximalen Größe von 256.Das erste Byte betrug die Länge Byte:
5, H, e, l, l, o
Sie feste Zeichenfolgen speichern Speicher definieren könnte:
a: string[5];
Windows verwendet C-Strings, die ein Zeiger auf einen Speicherblock mit einem 0-Zeichen abgeschlossen . Diese Zeichenfolgen waren nicht auf 255 Bytes beschränkt. Zuerst wurden sie als PChar (Zeiger auf Char) bereitgestellt. Später wurde die Standardzeichenfolge jedoch als Zeichenfolge vom Typ C interpretiert. Sie könnten immer noch shortstrings verwenden:
a: string[22];
b: ShortString;
c: string; // C (Delphi) string
Mit Delphi 2009 wurde Unicode eingeführt. Jetzt war jede Zeichenfolge eine Unicode-Zeichenfolge. Dies ist ein Zeiger auf ein Stück Speicher mit Unicode-Zeichen. Wir haben immer noch den ShortString-Typ. Auf die alten Ansi-Zeichenfolgen kann mit AnsiString oder PAnsiChar zugegriffen werden.
Jetzt, da Strings Zeiger sind, gibt es keine Begrenzung für die Größe. String-Literale sind jedoch immer noch auf 255 Zeichen beschränkt.
habe meine Frage aktualisiert. – Acron