- •Часть 1. Среда Delphi Тема 1. Объектно-ориентированное программирование
- •Тема 2. Элементы интерфейса
- •Окно проектировщика формы
- •Окно инспектора объектов
- •С оздание и сохранение проекта и файла модуля Как открыть новый проект?
- •Как открыть существующий проект?
- •Тема 3. Характеристика проекта. Состав проекта
- •Файлы формы
- •Файлы модулей
- •Файл ресурсов
- •Параметры проекта
- •Тема 4. Компиляция и выполнение проекта
- •Тема 5. Основные объекты
- •Основные свойства объектов
- •Основные события
- •Часть 2. Язык Object Pascal
- •Тема 1. Основные понятия
- •Словарь языка
- •Структура программы
- •Комментарии
- •Тема 2. Данные Виды данных
- •Типы данных
- •Простые типы данных
- •Структурные типы данных
- •Тема 3. Выражения
- •Арифметические выражения
- •Логические выражения
- •Строковые выражения
- •Тема 4. Простые операторы Оператор присваивания
- •Оператор перехода
- •Тема 5. Работа с графикой
- •Оператор доступа
- •Рисование многоугольников в Delphi
- •Закрашивание произвольной области в Delphi
- •Работа с несколькими формами
- •Объект Shape (Фигура)
- •Тема 6. Работа с датой и временем Объект Timer
- •Свойства компонента Timer
- •Манипулирование датами и временем
- •Тема 7. Встроенные окна диалога.
- •Окно ввода данных
- •InputВох(заголовок, подсказка, значение)
- •Окно вывода сообщений
- •Тема 8. Структурированные операторы
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Тема 9. Подпрограммы
- •Процедуры
- •Функции
- •Параметры и аргументы
- •Тема 10. Работа с элементами выбора
- •1. Флажок (CheckBox)
- •2. ПереключательRadioButton
- •Свойства компонента RadioButton
- •Свойства компонента tRadioGroup
- •3. Простой список ListBox
- •Свойства компонента ListBox
- •4. Комбинированный список ComboBox
- •Свойства компонента СотbоВох
- •Значения для свойства Style
- •Тема 11. Работа с меню
- •Основные свойства пункта меню:
- •Главное меню
- •Конструктор меню
- •Динамическая настройка меню
- •Тема 12. Массивы
- •Объявление массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива
Структурные типы данных
Структурные типы имеют в своей основе один или более других типов, в том числе и структурных. К структурным типам относятся:
строки;
массивы;
множества;
файлы;
записи;
классы.
Строки обеспечивает тип string, который представляет строку с максимальной длиной около 2х1031 символов. Символы строки кодируются в коде ANSI.
Так как строки фактически являются массивами символов, то для обращения к отдельному символу строки можно указать название строковой переменной и номер (позицию) этого символа в квадратных скобках, например, strName [ i ] .
Массивом называется упорядоченная индексированная совокупность однотипных элементов, имеющих общее имя. Элементами массива могут быть данные различных типов, включая структурированные. Каждый элемент массива однозначно определяется именем массива и индексом (номером этого элемента в массиве) или индексами, если массив многомерный. Для обращения к отдельному элементу массива указываются имя этого массива и номер (номера) элемента, заключенный в квадратные скобки, например, arrl[3, 35] , arrl[3] [35] ИЛИ аггЗ[7].
Количество индексных позиций определяет мерность массива (одномерный, двумерный и т. д.), при этом мерность массива не ограничивается. В математике аналогом одномерного массива является вектор, а двумерного массива – матрица. Индексы элементов массива должны принадлежать порядковому типу. Разные индексы одного и того же массива могут иметь различные типы. Наиболее часто типом индекса является целочисленный тип.
Различают массивы статические и динамические. Статический массив представляет собой массив, границы индексов и соответственно размеры которого задаются при объявлении – известны до компиляции программы.
Формат описания типа статического массива: Array [Тип индексов] of <Тип элементов>;
Пример. Объявление статических массивов.
Type tm = Array [l .. 10, 1 .. 100] of real;
Var arrl, arr2: tm;
arr3: Array [20 .. 100] of char;
arr4: Array ['a' .. 'z'] of integer;
Переменные arrl и arr2 являются двумерными массивами по 1000 элементов – 10 строк и 100 столбцов. Каждый элемент этих массивов представляет собой число типа real. Для объявления массивов arrl и агг2 введен специальный тип tm. Переменные аrr3 и аrr4 являются одномерными массивами соответственно на 81 символ и 26 целых чисел.
Множество представляет собой совокупность элементов, выбранных из предопределенного набора значений. Все элементы множества принадлежат одному порядковому типу, число элементов в множестве не может превышать 256. Формат описания множественного типа: Set of <Тип элементов>;
Переменная множественного типа может содержать любое количество элементов своего множества – от нуля до максимального. Значения множественного типа заключаются в квадратные скобки. Пустое множество обозначается как [ ].
В Delphi множественные типы используются, например, для описания типа кнопок в заголовке окна TBordericons или типа параметров фильтра TFilterOptions:
type TBorderlcon = (biSysteniMenu, biMinimize, biMaximize, biHelp);
TBordericons = set of TBorderlcon;
type TFilterOption = (foCaselnsensitive, foNoPartialCompare);
TFilterOptions = set of TFilterOption;
Приведенные описания типов содержатся в исходных модулях Forms и Db, соответственно.