Types de chaînes dans Delphi (Delphi pour les débutants)

Comme avec tout langage de programmation, dans Delphi, les variables sont des espaces réservés utilisés pour stocker des valeurs; ils ont des noms et des types de données. Le type de données d'une variable détermine comment les bits représentant ces valeurs sont stockés dans la mémoire de l'ordinateur.

Lorsque nous avons une variable qui contiendra un tableau de caractères, nous pouvons la déclarer de typeChaîne
Delphi fournit un assortiment sain d'opérateurs de chaînes, de fonctions et de procédures. Avant d'assigner un type de données String à une variable, nous devons bien comprendre les quatre types de chaînes de Delphi.

Chaîne courte

Tout simplement, Chaîne courte est un tableau compté de caractères (ANSII), avec jusqu'à 255 caractères dans la chaîne. Le premier octet de ce tableau stocke la longueur de la chaîne. Comme il s'agissait du type de chaîne principal dans Delphi 1 (Delphi 16 bits), la seule raison d'utiliser la chaîne courte est pour la compatibilité descendante. 
Pour créer une variable de type ShortString, nous utilisons: 

var s: chaîne courte; s: = 'Programmation Delphi'; // S_Length: = Ord (s [0])); // qui est le même que la longueur (s)


le s variable est une variable de chaîne courte capable de contenir jusqu'à 256 caractères, sa mémoire est de 256 octets alloués statiquement. Étant donné que cela est généralement un gaspillage - peu probable que votre chaîne courte se propage à la longueur maximale - la deuxième approche de l'utilisation des chaînes courtes utilise des sous-types de ShortString, dont la longueur maximale est comprise entre 0 et 255. 

var ssmall: String [50]; ssmall: = 'Chaîne courte, jusqu'à 50 caractères';

Cela crée une variable appelée petite dont la longueur maximale est de 50 caractères.

Remarque: Lorsque nous affectons une valeur à une variable de chaîne courte, la chaîne est tronquée si elle dépasse la longueur maximale du type. Lorsque nous passons des chaînes courtes à une routine de manipulation de chaînes de Delphi, elles sont converties vers et depuis une chaîne longue.

String / Long / Ansi

Delphi 2 apporté à Object Pascal Longue chaîne type. La chaîne longue (dans l'aide de Delphi AnsiString) représente une chaîne allouée dynamiquement dont la longueur maximale n'est limitée que par la mémoire disponible. Toutes les versions Delphi 32 bits utilisent des chaînes longues par défaut. Je recommande d'utiliser de longues chaînes chaque fois que vous le pouvez. 

var s: String; s: = 'La chaîne s peut être de n'importe quelle taille…';

le s La variable peut contenir de zéro à n'importe quel nombre pratique de caractères. La chaîne augmente ou se rétrécit lorsque vous lui affectez de nouvelles données.

Nous pouvons utiliser n'importe quelle variable chaîne comme un tableau de caractères, le deuxième caractère de s a l'index 2. Le code suivant 

s [2]: = 'T';

assigne T au deuxième caractère du s variable. Maintenant, les quelques premiers personnages de  ressembler: TTe s str… .
Ne vous y trompez pas, vous ne pouvez pas utiliser s [0] pour voir la longueur de la chaîne, s n'est pas ShortString.

Comptage de références, copie sur écriture

Étant donné que l'allocation de mémoire est effectuée par Delphi, nous n'avons pas à nous soucier de la récupération de place. Lorsque vous travaillez avec des chaînes longues (Ansi), Delphi utilise le comptage de références. De cette façon, la copie de chaînes est en fait plus rapide pour les chaînes longues que pour les chaînes courtes. 
Comptage de références, par exemple: