Символьный тип обозначается при помощи ключевого слова Char к его значения хранят только один символ.
В языке Object Pascal используются два обобщенных строковых типа:
• String — если в проекте Delphi указана директива компилятора {$H+} (поддержка больших строк), то этому типу соответствуют строки длиной от 0 до 2147483648 символов; в противном случае типу String соответствуют строки длиной от 0 до 255 символов;
• PChar — тип, аналогичный строковому типу языка C.
По своей сути, строковые значения — это массивы символов, в которых нумерация элементов для типа String начинается с 1, а для типа PChar — с 0.
Переменная булевого типа занимает один байт памяти и может принимать только одно из двух значений: True ("истина", "да", 1) или False ("ложь", "нет", 0). Булев тип обозначается при помощи ключевого слова Boolean.
Массив— это упорядоченная именованная совокупность однотипных значений, к которым можно обращаться по их порядковому номеру (индексу). Для описания массивов в языке Object Pascal используют следующие формы:
• array [1.. N1 ] of type — одномерный массив фиксированного размера ( N1 — размерность массива, type — тип значений, хранимых в массиве);
• array[1.. N1 , 1.. N2 ] of type — двухмерный массив фиксированного размера;
• array[1.. N1 , 1.. N2 , 1.. N3 ] of type — трехмерный массив фиксированного размера;
• array of type — массив переменного размера. Длину таких массивов можно изменять в процессе выполнения программы при помощи процедуры SetLength. Индексация значений начинается с 0.
Константа— это именованное фиксированное значение. Для объявления констант используют конструкцию вида:
const имя_константы = значение ;
Например:
const Factor = 1.756;
Тип константы определяется автоматически по присвоенному ей значению.
Переменная— это именованное значение определенного типа, которое можно изменять в процессе выполнения программы. Для объявления переменных используют запись следующего вида:
var имя_переменной : имя_типа ;
Например :
var
i: Integer; //переменная i типа Integer
s: String; //переменная S типа String
MyArray: array[1..10] of Char; {переменная MyArray — массив значений типа Char. Эту переменную можно было бы также объявить как String[10]}
При обращении и инициализации переменных используют следующие правила:
• для присвоения значений переменным используют оператор присваивания :=;
• строковые и символьные значения, присваиваемые переменным, заключают в одинарные кавычки ('с', ' строка');
• для обращения к отдельным элементам массива или отдельным символам строки используют запись вида: а[1] — для одномерных массивов и строк; а[3][1] – для двухмерных массивов; а[1][6][2] — для трехмерных массивов и т. д.;
• в качестве типа переменной может быть указан как встроенный тип языка Object Pascal, так и пользовательский, определенный при помощи ключевого слова type (создание пользовательских типов рассматривается ниже).
К переменным в программе обращаются по их идентификаторам.
Пример для типа String:
var
s1, s2: String; //объявляем две переменные типа String
с: Char; //и одну типа Char
...
s1:= 'Строка'; //присваиваем s1 некоторое значение
с:= s[1]; //переменная с хранит значение 'С'
s2:= s1 + с; //в s2 сохраняем строку 'СтрокаС'
…
Пример для динамического массива:
var
MyArray: array of Char; s: String;
…
SetLength(MyArray, 1); //устанавливаем длину массива = 1
A[0]:= 'С';
SetLength(MyArray, 2); //устанавливаем длину массива = 2
А[1]:= 'т';
s:= А[0] + А[1] + 'рока' //в s сохраняется значение 'Строка'
…
Пользовательские типы данных
Для объявления пользовательских типов, используют конструкцию вида:
type имя_типа = описание_типа ;
К примеру, таким образом можно объявлять типы множеств, перечислимые типы и подтипы.
Множество — это совокупность однотипных целочисленных или символьных значений, среди которых не может быть двух одинаковых. Для объявления типа множества используется запись вида
set of первое_значение..последнее_значение;
Совокупности значений, которые используются для инициализаций переменных этого типа, заключают в квадратные скобки, а значения отделяются друг от друга запятыми.
Читать дальше