Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
43
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
    1. 2.5. Строки

      1. 2.5.1. Строковые значения

Строка — это последовательность символов. При программировании строковые значения заключаются в апострофы, например:

FileName:= 'Help.txt';

Так как апостроф является служебным символом, для его записи в строке как значащего символа применяются два апострофа, следующих непосредственно друг за другом:

Str:='Object Pascal is Delphi''s and Kylix''s language';

Для записи отсутствующих на клавиатуре символов используется символ #, за которым следует десятичный номер символа в кодовой таблице ASCII, например:

a:=#169;

Строка, которая не содержит символов, называется пустой:

EmptyStr:='';

      1. 2.5.2. Строковые переменные

Тип данных

Диапазон значений

Maximum length

Объем памяти

ShortString

backward compatibility

255 characters

2 to 256 bytes

AnsiString

Extended ANSI character set

~2^31 characters

4 bytes to 2GB

WideString

Unicode character set

~2^30 characters

4 bytes to 2GB

Строки типа AnsiString иногда называют длинными строками, строки типа ShortString – короткими строками.

Строковая переменная может быть объявлена:

  • с помощью указания типа данных;

  • с помощью зарезервированного слова string; если используется директива {$H+} (по умолчанию), то компилятор интерпретирует это как AnsiString, если используется директива {$H-}, то компилятор интерпретирует это как ShortString.

  • с помощью зарезервированного слова string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины.

Рассмотрим пример:

Var

Name: string;

Address: ShortString;

Person: string[30];

FirstName: AnsiString;

begin

FirstName:= 'Natali';

End;

Для того чтобы в программе обратиться к отдельному символу строки, нужно сразу за идентификатором строковой переменной или константы в квадратных скобках записать его номер. Например, FirstName[1] возвращает значение ‘N’, а FirstName[4] — ‘a’. Символы, получаемые в результате индексирования строки, принадлежат соотвествующему символьному типу.

      1. 2.5.3. Операции над строками

Выражения, в которых операндами служат строковые данные, называются строковыми. Они состоят из строковых констант, переменных, имен функций и строковых операций. Над строковыми данными допустимы операции сцепления и отношения.

Операция сцепления (+) применяется для сцепления нескольких строк в одну строку.

Выражение

Результат

'Object' + ' Pascal'

'Object Pascal'

Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строковых операндов. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в кодовой таблице. Строки считаются равными, если они полностью совпадают по длине и содержат одни и те же символы. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная.

Выражение

Результат

'USA' < 'USIS'

True { A < I }

'abcde' > 'ABCDE'

True

'Office' = 'Office'

True

'USIS' > 'US'

True

Если короткой строке присваивается значение, длина которого превышает максимально допустимую величину, то все лишние символы справа отбрасываются.

Объявление строки

Выражение

Значение строки

Name: string[6];

Name := 'Mark Twain';

'Mark T'

Допускается смешение в одном выражении операндов строкового и символьного типа, например при сцеплении строки и символа.