Llamamos cadena de caracteres a los textos usados como datos en nuestros programas, se les dice cadena de caracteres, porque los caracteres usados se colocan uno detrás del otro formando frases.

El tipo de dato string nos permite declarar variables para almacenar un texto, hasta un máximo de 255 caracteres. Se puede definir entre corchetes la cantidad de caracteres que se desea usar, del siguiente modo:

 Var cad30:string[30];

Cuando no se coloca la cantidad de caracteres, entonces el compilador asume que se usará una cantidad de 255 caracteres como máximo.

Si queremos modificar un determinado carácter, accedemos al carácter indicando su posición, la posición debe ser de tipo entero excepto int64 y qword. Por ejemplo, si queremos modificar la letra que se encuentra en la posición 4 de la siguiente frase mal escrita “La taciencia es amarga, pero sus frutos son dulces”, por la letra p, tendremos que acceder del siguiente modo: Asumiendo que la frase se encuentra en la variable cad100, entonces para acceder al carácter que se encuentra en la posición 3, usamos cad100[4], colocando entre corchetes la posición del carácter que se desea modificar. Como en nuestro caso queremos cambiar la letra t por la letra p, hacemos uso del operador de asignación para asignar a cad100[4] la letra p y de ese modo cambiarlo. A continuación el ejemplo :

La cantidad de bytes que ocupa en memoria una variable de tipo string esta determinado por la cantidad de caracteres que se declara al momento de definir la variable, más un primer carácter adicional que se usa para determinar la cantidad de caracteres que se colocarán en la variable. Si se declara una variable como string[30], ocupará en memoria 31 bytes. El carácter adicional se coloca en la posición ó indice 0 de la cadena de caracteres. Para saber la cantidad de caracteres colocados en la variable de tipo string, se debe acceder al carácter que se encuentra en la posición 0 de la variable (cad[0]). Como este byte adicional es interpretado como un carácter entonces se necesita el uso de la función ord. Ejemplo :

También se puede obtener la cantidad de caracteres colocados usando la función lenght. A continuación el ejemplo:

Dos cadenas de caracteres se pueden unir con el operador +, del siguiente modo:

La operación de unir dos cadenas de caracteres o variables de tipo string se conoce como concatenar. El siguiente ejemplo es un programa que nos permite invertir la palabra ingresada desde el teclado, uniendo el ultimo carácter a una cadena de caracteres nueva:

La estructura for nos permite recorrer los caracteres de cad desde el último hasta el primer carácter de la variable cad, y conforme se va recorriendo se une el último carácter (cad[i]) con la cadena de caracteres alreves.

Como explique anteriormente (3.5 Operadores de relación) las cadenas de caracteres se pueden comparar usando los operadores de relación (<,>=,>=,>) teniendo en cuenta que las comparaciones se realizan comparando el código que tiene cada carácter, por ejemplo 'Perez' es anterior a 'Zavala', porque el código de la letra P es menor al código de la letra Z, en las codificaciones de caracteres ASCII y UTF8.

Además si comparamos dos cadenas de caracteres cad1 y cad2, y si cad1 tiene una cantidad menor que la otra, entonces cad1 es anterior a cad2, por ejemplo 'Perez' sería anterior a 'Perezoso'.

Decimos que una cadena de caracteres es una cadena de caracteres nula o vacía cuando se representa con dos comillas juntas (''). Por ejemplo:

El programa anterior verifica si el usuario ingreso un nombre y lo compara con una cadena de caracteres vacía para determinar la respuesta correcta.Podemos asignar a una variable de tipo string, una cadena de caracteres vacía o nula del siguiente modo : cad:='', esto se suele usar para asignar a una variable de tipo string un valor inicial. Para mostrar en consola comillas simples se debe escribir dos veces seguidas la comilla tal como se muestra en el ejemplo:

Los tipos de datos string también se pueden usar para crear tipos de datos tal como se muestra en el siguiente programa:

En caso se asigne una cadena de caracteres con una cantidad de caracteres mayor, a la cantidad de caracteres que puede usar la variable, el compilador trunca esos caracteres y sólo asigna los que puede almacenar la variable.

En el ejemplo anterior se intenta asignar una frase que tiene más de 10 caracteres, al mostrarla por pantalla esta sólo mostrará los 10 primeros caracteres que ha podido almacenar la variable frase.

El tipo de dato string, permite almacenar secuencias de caracteres de 1 byte, esto quiere decir que se pueden almacenar una cadena de caracteres codificada en utf8; es decir si asignamos la siguiente cadena de caracteres "さようなら" a un tipo de dato string, este se debería poder almacenar en dicha cadena de caracteres, pero no siempre será así. Esto depende del sistema operativo y el administrador de caracteres que se esté usando. En Linux es posible hacerlo, pero en Windows no lo es ya que los programas que usan una consola o un intérprete de comandos son considerados como programas no Unicode y depende mucho del código de página que se usan en la configuración regional.