Delphi et les trois chaînes
une fois, dans les premiers jours de pascals, là où des chaînes courtes. Ils consistaient en un bloc d'octets d'une taille maximale de 256.Le premier octet est l'octet de longueur:
5, H, e, l, l, o
Vous pouvez définir des chaînes de longueur fixe pour économiser de la mémoire:
a: string[5];
Windows utilise des chaînes C, qui sont un pointeur sur un bloc de mémoire terminé par un caractère 0 . Ces chaînes ne sont pas limitées à 255 octets. D'abord ils ont été fournis comme PChar (pointeur vers char). Mais plus tard, la chaîne par défaut a été interprétée comme une chaîne de type C. Vous pouvez toujours utiliser des chaînes courtes:
a: string[22];
b: ShortString;
c: string; // C (Delphi) string
Avec Delphi 2009, Unicode a été introduit. Maintenant, chaque chaîne était une chaîne Unicode. Qui est un pointeur vers un morceau de mémoire contenant des caractères Unicode. Nous avons toujours le type ShortString. Les anciennes chaînes ansi pouvaient être accédées par AnsiString ou PAnsiChar.
Maintenant que les chaînes sont des pointeurs, il n'y a pas de limite à la taille. Mais les littéraux de chaîne sont toujours limités à 255 caractères.
mis à jour ma question. – Acron