Чтение онлайн

на главную - закладки

Жанры

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

с:= 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 первое_значение..последнее_значение;

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

Например:

type

 TNumbers = set of 1..10;

 TAlphabet = set of 'a';

var

 Odds, Evens: TNumbers;

 ABC: TAlphabet;

 …

Odds:= [1, 3, 5, 7, 9];

Evens:= [2, 4, 6, 8, 10];

ABC:= ['a', 'b', 'с'];

Перечислимые типы

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

type имя_типа = (элемент1, ... , элементN);

По умолчанию, первому элементу соответствует число 0, второму — 1 и т.д. Для того чтобы сопоставить с каким-либо элементом другое значение, следует использовать запись вида элемент = число.

Для извлечения числа, соответствующего некоторому элементу, используется функция Ord.

Пример:

type

 TDigits = (Zero, One, Two, Three, Four, Five, Six, Seven Eight, Nine, Ten);

 TConstants = (a = 10, b = 3);

var

 x: TDigits;

 k: TConstants;

 MyResult: integer;

 …

k:= b; //k присваиваем значении 3

if x = Zero then k:= a //если x=0, то к присваиваем 10

 MyResult:= Ord(k); //MyResult = 3 или 10

 …

Подтипы

Подтип определяет некоторый диапазон целочисленных или символьных значений. Для его объявления используют запись вида:

type имя_типа = начало..конец;

Переменные этого типа не могут принимать значений вне указанного диапазона. Пример:

type

 TDigits = (Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten); //перечислимый тип

 T123 = One..Three; //подтип

 TABC = 'A'..'C'; //еще один подтип

var

 i: T123; //переменная I может принимать значения от 1 до 3

 с: TABC; // переменная с может содержать 'A', 'B' или 'C'

Записи

Запись – это структурированный набор разнотипных элементов. Отдельные элементы записи называются полями. Для объявления записи используется следующая конструкция:

record

 полe1: тип;

 …

 полeN: тип;

end;

Запись можно объявлять как в разделе type, так и в разделе var:

type TCD = record //запись для хранения данных о музыкальном CD

 Group String; //поле, хранящее название исполнителя

 Year: Integer; //поле, хранящее год альбома

 Title: String; //поле, хранящее название альбома

end;

var MyCD: TCD;

или непосредственно

var MyCD: record

 Group: String;

 Year: Integer;

 Title: String;

end;

Обращение к полям записи реализуется следующим образом:

MyCD.Group:= 'Название группы';

MyCD.Year:= 2005;

MyCD.Title:= 'Название альбома';

Классы

Класс — это структура, предназначенная для хранения данных (полей и свойств), а также кода, обрабатывающего эти данные (методы). Поля, методы и свойства называют членами класса.

Поделиться:
Популярные книги

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Сапер. Том II

Вязовский Алексей
2. Сапер
Фантастика:
альтернативная история
4.25
рейтинг книги
Сапер. Том II

Тринадцатый

Северский Андрей
Фантастика:
фэнтези
рпг
7.12
рейтинг книги
Тринадцатый

Абсурдистан

Штейнгарт Гари
Проза:
современная проза
5.00
рейтинг книги
Абсурдистан

Товарищ "Чума" 10

lanpirot
10. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 10

Адептка второго плана

Мамаева Надежда Николаевна
Попасть в историю
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Адептка второго плана

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4

Законы Рода. Том 9

Мельник Андрей
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Афганский рубеж 3

Дорин Михаил
3. Рубеж
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Афганский рубеж 3

Чиновникъ Особых поручений

Кулаков Алексей Иванович
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чиновникъ Особых поручений

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4

Зодчий. Книга II

Погуляй Юрий Александрович
2. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга II