Delphi. Учимся на примерах
Шрифт:
В языке Object Pascal идентификаторы не чувствительны к регистру букв, то есть нет различия между строчными и заглавными буквами. Таким образом, идентификатор функции IntToStr равнозначен идентификатору inttostr или intTOstr.
В качестве имен идентификаторов не могут использоваться следующие зарезервированные слова:
• and, array, as, asm, at, automated;
• begin;
• case, class, const, constructor;
• destructor, div, do, downto;
• else, end, except, exports;
• file,finalization, finally, for, function;
• goto;
• if, implementation, in, inherited, initialization, inline,interface, is;
• label, library;
• mod;
• nil, not;
• object, of, on, or, out;
• packed, private, procedure, program, property, protected, public, published;
• raise,record, repeat, resourcestring;
• set, shl, shr, string;
• then, threadvar, to, try, type;
• unit, until, uses;
• var;
• while, with;
• xor.
Встроенные типы данных
Числовые типы
К числовым типам языка Object Pascal относятся целочисленные и типы чисел с плавающей запятой (табл. Д.1).
Таблица Д.1. Числовые типы данных языка Object Pascal
| Целочисленные типы | Диапазон значений | Типы чисел с плавающей запятой | Диапазон значений |
|---|---|---|---|
| Byte | 0..255 | Real | 5.0·10– 324..1.7·10308 |
| ShortInt | – 128..127 | Real48 | 2.9·10– 39..1.7·1038 |
| SmallInt | – 32768..32767 | Single | 1.5·10– 45..3.4·1038 |
| Word | 0..65535 | Double | 5.0·10– 324..1.7·10308 |
| Integer, LongInt | – 2147483648..21474883647 | Extended | 3.6·10– 4951..1.1·104932 |
| Cardinal, LongWord | 0..4294967295 | Comp | – 263+1..263–1 |
| Int64 | – 263..263–1 | Currency | – 922337203685477.5808..922337203685477.5807 |
Символьный тип
Символьный тип обозначается при помощи ключевого слова 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.
Константы
Константа — это именованное фиксированное значение. Для объявления констант используют конструкцию вида:
Например:
Тип константы определяется автоматически по присвоенному ей значению.
Переменные
Переменная — это именованное значение определенного типа, которое можно изменять в процессе выполнения программы. Для объявления переменных используют запись следующего вида:
var имя_переменной: имя_типа;
Например :
При обращении и инициализации переменных используют следующие правила:
• для присвоения значений переменным используют оператор присваивания :=;
• строковые и символьные значения, присваиваемые переменным, заключают в одинарные кавычки ('с', ' строка');
• для обращения к отдельным элементам массива или отдельным символам строки используют запись вида: а[1] — для одномерных массивов и строк; а[3][1] – для двухмерных массивов; а[1][6][2] — для трехмерных массивов и т. д.;
• в качестве типа переменной может быть указан как встроенный тип языка Object Pascal, так и пользовательский, определенный при помощи ключевого слова type (создание пользовательских типов рассматривается ниже).
К переменным в программе обращаются по их идентификаторам.
Пример для типа String:
Сирийский рубеж 3
7. Рубеж
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Газлайтер. Том 31
31. История Телепата
Фантастика:
боевая фантастика
попаданцы
альтернативная история
фэнтези
рейтинг книги
Династия. Феникс
5. Династия
Фантастика:
попаданцы
аниме
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 33
33. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Гримуар тёмного лорда I
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Князь Целитель 6
6. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
фантастика: прочее
рейтинг книги
Убивать чтобы жить 3
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
рейтинг книги
Запечатанный во тьме. Том 2
2. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
рейтинг книги
Вперед в прошлое 7
7. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Лекарь Империи 3
3. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
рейтинг книги
Пески времени
Детективы:
триллеры
рейтинг книги
Свет горизонта
1. Свет горизонта
Фантастика:
фэнтези
рейтинг книги