String

klosik007

String - słowo kluczowe języka Delphi

String jest słowem kluczowym języka Delphi, wskazującym na tzw. długi łańcuch. W domyślnych ustawieniach kompilatora, słowo String wskazuje na typ AnsiString w Win32. W Delphi dla .NET typ String jest równoważny z WideString, który wskazuje na klasę System.String.

Na platformie Win32 przełącznik kompilatora {$H-} powoduje iż typ String będzie wskazywał na ShortString. Na platformie .NET dyrektywa ta jest uważana za przestarzałą.
Korzystanie z typu String jest możliwe tak samo jak z każdego innego typu danych w Delphi:

var
  Foo: String;

Możliwe jest również ograniczenie długości łańcucha:

var
  Foo: String[30];

W takim przypadku, długość zmiennej Foo będzie ograniczona do 30 znaków. Równocześnie oznacza to, iż łańcuch Foo będzie traktowany przez kompilator jako krótki łancuch (ShortString). Jako, że długość łancucha ShortString jest ograniczona do 255 znaków, nie można zadeklarować dłuższego łańcucha, np. o długości 300 znaków:

var
  Foo: String[300]; // nieprawidłowa składnia

Większość źródeł podaje, iż długość zmiennej typu String (a więc de facto AnsiString lub WideString - w zależności od wersji Delphi) jest ograniczona jedynie dostępną pamięcią. Z tym jednak bywa różnie - Windows domyślnie pozwala aplikacji adresować maksymalnie 2GB. Do standardowych zastosowań to zupełnie wystarcza, więc jest to jedynie ciekawostka.

Zobacz też:

4 komentarzy

Nie liter tylko znaków... Czepiam się ;)

Do tego pobranie aktualnej długości łańcucha, jej ustawienie, ew. odnośniki do innych typów łańcuchowych.

Dodał byś jeszcze coś na temat tego rozróżnienia na AnsiString i ShortString, wraz z dyrektywą która ustawia której z tych dwóch zmiennych aliasem ma być samo String...

W ostatnim kodzie daj < delphi > </ delphi > zamiast < code=Delphi > </ code>