Структурные типы данных: Строки | Delphi-FAQ

Структурные типы данных: Строки

Рубрика: Delphi с нуля

Структурные типы данных объединяют в себе один или несколько других типов, в том числе структурных. К структурным типам относятся:

  • строки;
  • записи;
  • массивы;
  • файлы;
  • множества;
  • классы.



Рассмотрим подробнее перечисленные типы.

Строки

Строки (строковые типы) представлены тремя физическими и одним общим типами.

ShortString ? максимальная длина символов — 255 ? Память 2 — 256 байт;

AnsiString ?Примерно 2 x 10 в 31 степени ? 4 байта — 2 Гбайт

WideString ?Примерно 2 х 10 в 30 степени ?4 байта — 2 Гбайт

Тип ShortString представляет собой строку, которая фактически является массивом из 256 элементов — array [0. .255]. Нулевой байт этого массива (строки) указывает длину строки. В ранних версиях языка подобная строка обозначалась типом string, тип shortstring введен в Object Pascal для обеспечения совместимости с этими версиями.

Язык Delphi поддерживает также подтипы типа shortstring, максимальная длина которых изменяется в диапазоне от 0 до 255 символов. Они обозначаются целым числом в квадратных скобках, указываемым справа от ключевого слова string. Например, инструкции:

  1. Var str50: string[50] ;

или

  1. type CStr50=string [50] ;
  2. var str50: CStr50;

обеспечивают объявление строковой переменной с именем str50, максимальная длина которой составляет 51 символ, т.е. столько, сколько требует описание типа, плюс 1 байт. В случае использования предопределенного типа shortstring мы израсходовали бы 256 байт памяти.

Типы AnsiString и WideString представляют собой динамические массивы, максимальная длина которых фактически ограничена размером основной памяти компьютера. В типе AnsiString для символов используется кодировка ANSI, а в типе WideString — кодировка Unicode.

Общим типом является тип String, который может соответствовать как типу ShortString, так и типу AnsiString, что определяется директивой компилятора $H. По умолчанию используется {$H+}, и тип String равен типу AnsiString. В файле параметров проекта знак «+» директивы (это верно и для других директив) соответствует записи H=1, а знак «-» — записи H=0. Разработчик обычно управляет интерпретацией типа String с помощью окна параметров проекта, устанавливая/снимая флажок Huge Strings (Большие строки).

Так как строки фактически являются массивами символов, для обращения к отдельному символу строки достаточно указать имя строковой переменной и номер (позицию) этого символа в квадратных скобках, например, strName [1].

Кроме рассмотренных, в языке имеется тип PChar, представляющий так называемук строку с нулевым окончанием— в ее конце стоит код #0. Максимальная длина этой строки ограничена размером основной памяти компьютера.

Если Вам интересна эта запись, Вы можете следить за ее обсуждением, подписавшись на RSS 2.0 .

Оставить комментарий или два

*