Stringtypen in Delphi (Delphi voor beginners)

Zoals bij elke programmeertaal, zijn in Delphi variabelen tijdelijke aanduidingen die worden gebruikt om waarden op te slaan; ze hebben namen en gegevenstypen. Het gegevenstype van een variabele bepaalt hoe de bits die deze waarden vertegenwoordigen, worden opgeslagen in het geheugen van de computer.

Wanneer we een variabele hebben die een reeks tekens bevat, kunnen we deze van het type verklarenDraad
Delphi biedt een gezond assortiment stringoperators, functies en procedures. Voordat we een String-gegevenstype aan een variabele toewijzen, moeten we de vier stringtypen van Delphi grondig begrijpen.

Korte string

Simpel gezegd, Korte string is een geteld array van (ANSII) tekens, met maximaal 255 tekens in de tekenreeks. De eerste byte van deze array slaat de lengte van de string op. Aangezien dit het hoofdstringtype was in Delphi 1 (16-bits Delphi), is de enige reden om Short String te gebruiken voor achterwaartse compatibiliteit. 
Om een ​​variabele van het type ShortString te maken, gebruiken we: 

var s: ShortString; s: = 'Delphi Programming'; // S_Length: = Ord (s [0])); // wat hetzelfde is als lengte (n)


De s variabele is een korte tekenreeksvariabele die maximaal 256 tekens kan bevatten, het geheugen is statisch toegewezen 256 bytes. Omdat dit meestal verspillend is - het is onwaarschijnlijk dat je korte string zich tot de maximale lengte uitspreidt - gebruikt de tweede benadering voor het gebruik van Short Strings subtypen van ShortString, waarvan de maximale lengte ergens tussen 0 en 255 ligt. 

var ssmall: String [50]; ssmall: = 'Korte reeks, maximaal 50 tekens';

Dit creëert een variabele genaamd ssmall waarvan de maximale lengte 50 tekens is.

Opmerking: Wanneer we een waarde toewijzen aan een variabele voor een korte tekenreeks, wordt de tekenreeks afgekapt als deze de maximale lengte voor het type overschrijdt. Wanneer we korte tekenreeksen doorgeven aan de snaarmanipulatieroutine van sommige Delphi, worden deze omgezet van en naar lange reeks.

String / Lang / Ansi

Delphi 2 gebracht naar Object Pascal Lange string type. Lange tekenreeks (in de hulp van Delphi AnsiString) vertegenwoordigt een dynamisch toegewezen tekenreeks waarvan de maximale lengte alleen wordt beperkt door het beschikbare geheugen. Alle 32-bits Delphi-versies gebruiken standaard lange tekenreeksen. Ik raad aan om altijd lange snaren te gebruiken. 

var s: String; s: = 'De tekenreeks s kan elke grootte hebben ...';

De s variabele kan van nul tot elk praktisch aantal tekens bevatten. De tekenreeks groeit of krimpt terwijl u er nieuwe gegevens aan toewijst.

We kunnen elke tekenreeksvariabele gebruiken als een reeks tekens, het tweede teken in s heeft de index 2. De volgende code 

s [2]: = 'T';

rechtverkrijgenden T naar het tweede karakter os de s variabel. Nu zijn de weinige van de eerste personages erin  ziet eruit als: TTe s str ... .
Laat je niet misleiden, je kunt s [0] niet gebruiken om de lengte van de string te zien, s is niet ShortString.

Referentie tellen, copy-on-write

Omdat geheugentoewijzing door Delphi wordt gedaan, hoeven we ons geen zorgen te maken over het verzamelen van afval. Bij het werken met lange (Ansi) tekenreeksen gebruikt Delphi referentietelling. Op deze manier is het kopiëren van snaren in feite sneller voor lange snaren dan voor korte snaren. 
Referentietelling, bijvoorbeeld: