String-Typen in Delphi (Delphi für Anfänger)

Wie in jeder Programmiersprache sind Variablen in Delphi Platzhalter zum Speichern von Werten. Sie haben Namen und Datentypen. Der Datentyp einer Variablen bestimmt, wie die Bits, die diese Werte darstellen, im Speicher des Computers gespeichert werden.

Wenn wir eine Variable haben, die ein Array von Zeichen enthält, können wir sie als Typ deklarierenString
Delphi bietet eine gute Auswahl an String-Operatoren, -Funktionen und -Prozeduren. Bevor wir einer Variablen einen String-Datentyp zuweisen, müssen wir die vier String-Typen von Delphi gründlich verstehen.

Kurze Zeichenfolge

Einfach gesagt, Kurze Zeichenfolge ist ein gezähltes Array von (ANSII) Zeichen mit bis zu 255 Zeichen in der Zeichenfolge. Das erste Byte dieses Arrays speichert die Länge der Zeichenfolge. Da dies der Haupttyp in Delphi 1 (16-Bit-Delphi) war, ist der einzige Grund, Short String zu verwenden, die Abwärtskompatibilität. 
Um eine Variable vom Typ ShortString zu erstellen, verwenden wir: 

var s: ShortString; s: = 'Delphi-Programmierung'; // S_Length: = Ord (s [0])); // das ist das gleiche wie Length (s)


Das s Variable ist eine Short-String-Variable, die bis zu 256 Zeichen aufnehmen kann. Ihr Speicher ist statisch zugewiesen und umfasst 256 Bytes. Da dies normalerweise verschwenderisch ist - es ist unwahrscheinlich, dass sich Ihre kurze Zeichenfolge auf die maximale Länge ausbreitet - werden bei der Verwendung von kurzen Zeichenfolgen Subtypen von ShortString verwendet, deren maximale Länge zwischen 0 und 255 liegt. 

var ssmall: String [50]; ssmall: = 'Kurzer String mit bis zu 50 Zeichen';

Dadurch wird eine Variable namens erstellt klein deren maximale Länge beträgt 50 Zeichen.

Hinweis: Wenn wir einer Short String-Variablen einen Wert zuweisen, wird der String abgeschnitten, wenn er die maximale Länge für den Typ überschreitet. Wenn wir kurze Zeichenfolgen an die Manipulationsroutine einiger Delphi-Zeichenfolgen übergeben, werden diese in lange Zeichenfolgen konvertiert.

String / Long / Ansi

Delphi 2 nach Object Pascal gebracht Lange Schnur Art. Long String (in Delphis Hilfe AnsiString) repräsentiert einen dynamisch zugewiesenen String, dessen maximale Länge nur durch den verfügbaren Speicher begrenzt ist. Alle 32-Bit-Delphi-Versionen verwenden standardmäßig lange Zeichenfolgen. Ich empfehle, lange Zeichenfolgen zu verwenden, wann immer Sie können. 

var s: String; s: = 'Der s-String kann eine beliebige Größe haben ...';

Das s Variable kann von Null bis zu einer beliebigen Anzahl von Zeichen enthalten. Die Zeichenfolge wächst oder schrumpft, wenn Sie ihr neue Daten zuweisen.

Wir können jede Zeichenkettenvariable als Array von Zeichen verwenden, das zweite Zeichen in s hat den Index 2. Der folgende Code 

s [2]: = 'T';

zuweist T zum zweiten Zeichen des s Variable. Nun die wenigen der ersten Charaktere in  aussehen wie: TTe s str… .
Lassen Sie sich nicht in die Irre führen, Sie können s [0] nicht verwenden, um die Länge der Zeichenfolge anzuzeigen, s ist nicht ShortString.

Referenzzählung, Copy-on-Write

Da die Speicherzuweisung von Delphi vorgenommen wird, müssen wir uns keine Gedanken über die Garbage Collection machen. Bei der Arbeit mit langen (Ansi) Strings verwendet Delphi die Referenzzählung. Auf diese Weise ist das Kopieren von Zeichenfolgen für lange Zeichenfolgen tatsächlich schneller als für kurze Zeichenfolgen. 
Referenzzählung am Beispiel: