A menudo puede utilizar AnsiString para cadenas con objeto pascal, pero rara vez se utilizan otras cadenas.
A continuación se muestran algunos tipos de cadenas:
AnsiSring Este es el tipo predeterminado de Pascal. No hay límite para su longitud. Y la cadena termina en nulo. Es decir, termina en '/0'.
ShortSring es por compatibilidad con versiones anteriores de Delphi. Su longitud está limitada a 255 caracteres.
WideSring es similar a AnsiString, pero está compuesto por caracteres WideChar.
PChar Puntero a una cadena terminada en nulo. Similar a char* o lpstr en c.
PAnsiChar apunta a un puntero de cadena terminado en AnisChar terminado en nulo.
PWideChar Puntero a una cadena WideChar terminada en nulo.
Por defecto es de tipo AnisSring:
var
S: Cadena;
También es posible hacer que el compilador cambie $H para definir el tipo String como un tipo ShortString: Ejemplo
var
{$H-}
s1:=cadena;//s1 es del tipo cadena corta
{$H+}
s2:=cadena;//s2 es tipo sring
Pero cuando la longitud de la cadena especificada es inferior a 255, {$H} siempre es AnsiSring.
ejemplo:
var
s:cadena[254];
A continuación hablaré sobre el uso respectivo de estos tipos:
1. Tipo AnisSring
Se asigna dinámicamente y tiene reciclaje automático. Esta característica se llama autogestión de por vida. No hay necesidad de resultados intermedios como en c
Dado que la cadena de tipo AnisSring termina en nulo, es compatible con Win32Api. En realidad AnisSring es
puntero a una estructura de cadena en la pila