Typy łańcuchowe to typy pozwalające na przechowywanie napisów tekstowych w pamięci komputera.
Jako łańcuch znaków traktowane są ciągi znaków ujęte między apostrofami np. ‘Ala ma kota, kot ma AIDS’.
Dopuszczalne jest także łączenie różnych form reprezentacji znaków (więcej w artykule o typie znakowym, Char), np.
‘Ala ma kota…’^j#13′Kot ma pchły…’#13 .
Wynikiem użycia procedury Write z podanym, przykładowym, ciągiem znaków jako parametr będzie napis na ekranie o treści:
Ala ma kota…
Kot ma pchły…
Typy reprezentujące łańcuchy znaków:
W FreePascalu (podobnie jak w Delphi) wyróżniamy następujące typy reprezentujące łańcuch znaków:
- ShortString Typ służący do przechowywania napisów o długości nie przekraczającej 255 znaków. Przy wyłączonej dyrektywie {$H-} wszystkie napisy traktowane są jako ShorString.
- AnsiString Typ mogący przechowywać teoretycznie nieskończonej długości napis. Łańcuch inicjowany jest wartością ”. Jego długość można uzyskać tylko za pomocą funkcji length.Dokładniejsze informacje o typie AnsiString w serwisie 4programmers.Wszystkie łańcuchy znaków, po włączeniu dyrektywy {$H+} traktowane są jako łańcuchy typu AnsiString.
- WideStringAnsiString przeznaczający 2 bajty na 1 znak (znaki kodowane są w systemie Unicode).
Uwagi dotyczące deklaracji
Istnieje możliwość ograniczenia możliwej długości przechowywanego napisu, podając maksymalną długość napisu w nawiasie kwadratowym, np.
foo : string[30] //Maksymalny rozmiar napisu foo wynosi 30 znaków
Napisy ograniczone w ten sposób traktowane są jako ciągi znaków typu ShortString, to też nie można ograniczyć napisu do więcej niż 255 znaków.
Odwoływanie się do pojedynczego znaku
Do pojedynczego elementu łańcucha znaków możemy odwołać się w identyczny sposób jak do pojedynczego elementu tablicy, podając indeks elementu w nawiasie kwadratowym przy odwołaniu się. Znaki w napisie indeksowane są począwszy od 1.
Przykład:
var bar : string; begin bar := 'Ala ma kota...'; WriteLn(bar[1]); //Wypisze pierwsza literД™ napisu bar end.

0 Odpowiedzi do “Typy łańcuchowe”