Tipi di stringa in Delphi (Delphi per principianti)

Come con qualsiasi linguaggio di programmazione, in Delphi le variabili sono segnaposto utilizzate per memorizzare valori; hanno nomi e tipi di dati. Il tipo di dati di una variabile determina come i bit che rappresentano quei valori sono memorizzati nella memoria del computer.

Quando abbiamo una variabile che conterrà una matrice di caratteri, possiamo dichiararla di tipoCorda
Delphi offre un sano assortimento di operatori, funzioni e procedure di stringa. Prima di assegnare un tipo di dati String a una variabile, dobbiamo comprendere a fondo i quattro tipi di stringa di Delphi.

Stringa corta

In poche parole, Stringa corta è un array contato di caratteri (ANSII), con un massimo di 255 caratteri nella stringa. Il primo byte di questo array memorizza la lunghezza della stringa. Poiché questo era il tipo di stringa principale in Delphi 1 (Delphi a 16 bit), l'unico motivo per utilizzare Short String è per la compatibilità con le versioni precedenti. 
Per creare una variabile di tipo ShortString utilizziamo: 

var s: ShortString; s: = "Programmazione Delphi"; // S_Length: = Ord (s [0])); // che è uguale a Lunghezza / e


Il S è una variabile a stringa corta in grado di contenere fino a 256 caratteri, la sua memoria è allocata staticamente a 256 byte. Dato che di solito è dispendioso - è improbabile che la tua stringa corta si estenda alla massima lunghezza - il secondo approccio all'utilizzo delle stringhe corte sta usando i sottotipi di ShortString, la cui lunghezza massima è compresa tra 0 e 255. 

var ssmall: String [50]; ssmall: = 'Short string, fino a 50 caratteri';

Questo crea una variabile chiamata ssmall la cui lunghezza massima è di 50 caratteri.

Nota: quando assegniamo un valore a una variabile Short String, la stringa viene troncata se supera la lunghezza massima per il tipo. Quando passiamo stringhe brevi ad alcune routine di manipolazione delle stringhe di Delphi, vengono convertite in e dalla stringa lunga.

String / Long / Ansi

Delphi 2 ha portato a Object Pascal Stringa lunga genere. La stringa lunga (nella guida di Delphi AnsiString) rappresenta una stringa allocata dinamicamente la cui lunghezza massima è limitata solo dalla memoria disponibile. Tutte le versioni Delphi a 32 bit utilizzano stringhe lunghe per impostazione predefinita. Consiglio di usare stringhe lunghe ogni volta che puoi. 

var s: String; s: = 'La stringa s può essere di qualsiasi dimensione ...';

Il S la variabile può contenere da zero a qualsiasi numero pratico di caratteri. La stringa cresce o si restringe quando si assegnano nuovi dati ad essa.

Possiamo usare qualsiasi variabile stringa come una matrice di caratteri, il secondo carattere in S ha l'indice 2. Il seguente codice 

s [2]: = 'T';

cessionari T al secondo carattere del S variabile. Ora i pochi dei primi personaggi in  Assomiglia a: TTe s str ... .
Non essere fuorviante, non puoi usare s [0] per vedere la lunghezza della stringa, S non è ShortString.

Conteggio dei riferimenti, copia su scrittura

Poiché l'allocazione della memoria viene eseguita da Delphi, non dobbiamo preoccuparci della garbage collection. Quando si lavora con stringhe lunghe (Ansi), Delphi utilizza il conteggio dei riferimenti. In questo modo la copia di stringhe è in realtà più veloce per stringhe lunghe che per stringhe brevi. 
Conteggio dei riferimenti, ad esempio: