Tipos de cadena en Delphi (Delphi para principiantes)

Como con cualquier lenguaje de programación, en Delphi, las variables son marcadores de posición utilizados para almacenar valores; tienen nombres y tipos de datos. El tipo de datos de una variable determina cómo se almacenan los bits que representan esos valores en la memoria de la computadora.

Cuando tenemos una variable que contendrá una serie de caracteres, podemos declarar que es de tipoCuerda
Delphi proporciona una variedad saludable de operadores de cadenas, funciones y procedimientos. Antes de asignar un tipo de datos de cadena a una variable, debemos comprender a fondo los cuatro tipos de cadena de Delphi.

Cadena corta

Simplemente pon, Cadena corta es una matriz contada de caracteres (ANSII), con hasta 255 caracteres en la cadena. El primer byte de esta matriz almacena la longitud de la cadena. Como este era el tipo de cadena principal en Delphi 1 (Delphi de 16 bits), la única razón para usar Short String es la compatibilidad con versiones anteriores. 
Para crear una variable de tipo ShortString usamos: 

var s: cadena corta; s: = 'Programación de Delphi'; // S_Length: = Ord (s [0])); // que es lo mismo que Longitud (s)


los s La variable es una variable de cadena corta capaz de contener hasta 256 caracteres, su memoria tiene 256 bytes asignados estáticamente. Dado que esto suele ser un desperdicio, es poco probable que su cadena corta se extienda a la longitud máxima; el segundo enfoque para usar cadenas cortas es usar subtipos de cadena corta, cuya longitud máxima es de 0 a 255. 

var ssmall: String [50]; ssmall: = 'Cadena corta, hasta 50 caracteres';

Esto crea una variable llamada ssmall cuya longitud máxima es de 50 caracteres.

Nota: Cuando asignamos un valor a una variable de cadena corta, la cadena se trunca si excede la longitud máxima para el tipo. Cuando pasamos cadenas cortas a alguna rutina de manipulación de cadenas de Delphi, se convierten en y desde cadenas largas.

Cadena / Largo / Ansi

Delphi 2 traído a Object Pascal Cuerda larga tipo. La cadena larga (en la ayuda de Delphi AnsiString) representa una cadena asignada dinámicamente cuya longitud máxima está limitada solo por la memoria disponible. Todas las versiones de Delphi de 32 bits usan cadenas largas por defecto. Recomiendo usar cadenas largas siempre que puedas. 

var s: cadena; s: = 'La cadena s puede ser de cualquier tamaño ...';

los s La variable puede contener de cero a cualquier número práctico de caracteres. La cadena crece o se reduce a medida que le asigna nuevos datos.

Podemos usar cualquier variable de cadena como una matriz de caracteres, el segundo carácter en s tiene el índice 2. El siguiente código 

s [2]: = 'T';

asigna T al segundo personaje del s variable. Ahora los pocos de los primeros personajes en  parece: TTe s str ... .
No se engañe, no puede usar s [0] para ver la longitud de la cadena, s no es ShortString.

Recuento de referencias, copia en escritura

Dado que Delphi realiza la asignación de memoria, no tenemos que preocuparnos por la recolección de basura. Cuando se trabaja con cadenas largas (Ansi), Delphi utiliza el recuento de referencias. De esta forma, la copia de cadenas es realmente más rápida para cadenas largas que para cadenas cortas. 
Recuento de referencias, por ejemplo: