Строки Delphi

Строки Delphi можно представить несколькими типами: Longstring, widestring и shortstring. Основные различия данных типов состоит в предельно допустимой длине строки, способе выделения памяти для переменных и способе кодировки символов.

Для переменной с типом shortstring память выделяется еще до начала выполнения основной программы, а длина такой строки не может превышать значения 255 (число символов). Для переменных с типом данных Longstring иwidestring память выделяется не перед началом, а в процессе работы программы, вследствие этого такие строки могут иметь практически не ограниченную длину.

Кроме вышеупомянутых строковых типов следует использовать еще один достаточно универсальный строковый тип данных String, эквивалентный типу данных Shortstring. Как в случае символьного типа, переменную со строковым типом данных необходимо объявить в разделе var. При этом инструкция объявления строки Delphi представляется в следующем виде:

name: string; 

либо

name: string [long];

откуда:

name — выступает в качестве имени переменной;

string – специальное ключевое слово, обозначающее строковый тип;

long – константа с целым типом данных, задающая максимальную возможную длину строки.

Примеры объявления строки Delphi:

s: string; st: string [55];

В первом примере, как мы видим, не указана длина строки, поэтому ее длину следует считать равной 255 символам:

s: string;  

или

s: string [255];

Данные объявления строковых переменных эквивалентны друг другу. Если в исходном коде программы вы хотите указать строку (строковую константу), представляющую собой последовательность символов, необходимо заключить строку в одинарные кавычки. К примеру, для присвоения переменной строкового типа name некоторого значения, следует записать:

password:= ‘taina’; 

либо

password:= ‘1234’;

Обратите внимание, что инструкция объявления

password:= 1234;

некорректная, поскольку возникает не соответствие типа константы и типа переменной. В процессе компиляции данной инструкции выведется специальное сообщение:

incompatible types: ‘Char’ and ‘Integer’

что означает несовместимость типов данных Char и Integer; При помощи операций

=,   <,   >,   <=,   >=

возможно сравнение одной переменной типа string с другой переменной строкового типа string, либо со строковой константой. При этом сравнение указанных строк проходит по каждому символу, начиная с первого. В случае, если в состав строк входят абсолютно одинаковые символы, то такие строки равны. Если на одной и той же позиции в обеих строках расположены различные символы, то большей строкой считается та, в которой на данной позиции присутствует символ, имеющий больший код. Ниже приведена таблица с примерами сравнения строк.

  1. str1=’Леонов’, str1=’Леонов’ — строки равны
  2. str1=’Леонова’, str1=’Леонов’ — str1 больше str2
  3. str1=’Леонов’, str1=’Леонова’ — str1 меньше str2

Над строками Delphi применима операция сложения, в результате которой образуется новая строка. К примеру, при выполнении следующих инструкций:

im:= ‘Lera  ‘; 

fam:= ‘Ivanova’; 

fi:= im + fam;

переменной fio будет присвоено значение ‘Lera Ivanova‘.

Рейтинг
( Пока оценок нет )
Загрузка ...