
- •Часть 2
- •Оглавление
- •1. Структурный подход к программированию
- •1.1. Цели структурного программирования
- •1.2. Основные принципы структурного подхода
- •1.3. Спецификация программ
- •1.4. Метод пошаговой детализации
- •2. Предыстория объектно-ориентированного программирования
- •2.1. Введение в объектно-ориентированное программирование
- •2.2. Тип Объекты
- •2.3. Основные понятия ооп. Инкапсуляция. Наследование
- •X, y : integer; {координаты позиции}
- •XX,yy:array [1..1000] of integer;
- •2.4. Совместимость объектных типов по присваиванию
- •2.5. Описание типа-потомка
- •2.6. Полиморфизм
- •2.7. Виртуальные методы. Конструкторы и деструкторы
- •2.7.1. Правила работы с виртуальными методами
- •3. Типы данных и операторы языка object pascal в delphi
- •3.1. Предопределенные типы данных
- •3.1.1 Вещественные типы
- •3.1.2. Длинные строки
- •3.2. Структурированные типы
- •3.2.1. Множества
- •Var MySet: set of 'a'..'z';
- •3.2.2. Массивы
- •Var FlexArray: array of Real;
- •Var Ints: array of array of Integer;
- •3.2.3. Записи
- •Var Record1,Record2:tDateRec;
- •3.2.4. Указатели
- •I: Integer;
- •V1,v2,v3,v4,v5:Variant;
- •I:Integer;
- •3.3. Типы данных, специфичные для Windows
- •3.3.1. Приведение и преобразование типов
- •3.4. Операторы языка Паскаль
- •I:Integer;
- •I:Integer;
- •3.4.1. Элементы управления редактированием
- •3.5. Процедуры и функции библиотеки vcl
- •4. Реализация ооп на языке pascal
- •V: Real;
- •Наследование
- •Virtual;
- •Конструкторы и деструкторы
- •Перекрытие методов
- •5. Программирование в среде delphi
- •5.1. Основные элементы
- •5.2. Реализация объектно-ориентированного программирования
- •5.3. Разработка интерфейса приложения
- •5.3.1. Создание простейшего Windows-приложения
- •5.3.2. Создание Windows-приложения с метками и кнопками
- •Объект Свойство Значение
- •6.1.3. Меню Edit
- •6.1.4. Меню Search
- •6.1.5. Меню View
- •6.1.6. Меню Run
- •6.1.7. Меню Component
- •6.1.8. Меню Tools
- •6.1.9. Полоска кнопок быстрого доступа SpeedBar
- •6.1.10. Локальные меню. SpeedMenu
- •6.2. Работа с формами
- •6.2.1. Палитра компонентов
- •6.2.2. Object Inspector
- •6.2.3. Написание кода
- •6.2.4. Компиляция проекта
- •6.2.5. Интегрированный отладчик
- •6.2.6. Файлы, создаваемые системой
- •7. Структура delphi-программ
- •7.1. Разработка проекта Dialog
- •7.2. Процедуры вызова диалоговых окон
- •7.3. Преобразования типов
- •Var factW,optW,Rost,Delta:integer;
- •Var factW,optW,Rost,Delta:real;
- •7.4. Простейшие компоненты
- •7.4.1. Группы радиокнопок - компоненты RadioGroup, RadioButton, GroupBox
- •7.4.2. Компоненты выбора из списков - ListBox, ComboBox
- •7.4.3. Многострочные окна редактирования Memo и Richedi
- •7.4.4. Графические объекты
- •If OpenDialog1.Execute
- •Image1.Picture.LoadFromFile
- •7.4.5. Канва и пиксели
- •X, y :real; // координаты функции
- •7.4.6. Воспроизведение немых видео клипов – компонент Animate
- •7.4.7. Установка и настройка приложения: работа с файлами *.Ini
- •IniFile.Free;
- •Упражнения
- •8. Репозиторий объектов и эксперты
- •8.1. Страницы репозитория объектов
- •8.1.1. Страница New
- •8.1.2. Страница Forms
- •8.1.3. Страница Dialogs
- •8.1.4. Страница Data Modules
- •8.1.5. Страница Projects
- •8.2. Эксперты Delphi
- •8.2.1. Application Expert
- •8.2.2. Dialog Box Expert
- •9. Классы и модули
- •9.1. Классы и сокрытие информации
- •9.2. Классы и модули
- •9.3. Модули и область видимости
- •9.4. Модули и программы
- •9.5. Информация о типе на этапе выполнения
- •If MyAnimal is Dog then …
- •If MyAnimal is Dog
- •If MyAnimal is Dog then
- •10. Использование компонентов
- •10.1. Буксировка из одного компонента в другой
- •10.2. Обработка исключений
- •10.3. Восприятие ввода для пользователя
- •Val( Edit1.Text,Number,Code);
- •Val((Sender as tEdit).Text,Number,Code);
- •11.2. Различные роли элементов меню
- •11.3. Редактирование меню с помощью Menu Designer
- •If OpenDialog1.Execute
- •If SaveDialog1.Execute
- •Procedure tForm1.ViewEdit1Click(Sender:tObject); begin
- •If Panel1.Visible
- •If Buttons1.Enabled
- •12. Получение «ввода от мыши» и рисование в форме
- •12.1. События, связанные с мышью
- •12.2. Рисование в форме
- •If ssShift in Shift
- •If Circle then Canvas.Ellipse(Center.X-Radius.X,Center.Y-
- •Else Canvas.Rectangle(Center.X-Radius.X,Center.Y-
- •12.3. Черчение и рисование в системе Windows
- •13. Инструментальная линейка и строка состояния
- •13.1. Построение инструментальной линейки
- •Procedure tForm1.SpeedButton1Click(Sender:tObject); begin
- •If SpeedButton1.Down
- •13.2. Добавление всплывающих подсказок в линейку
- •13.3. Комбинированный список в инструментальной линейке
- •13.4. Построение строки состояния
- •14.1. Добавление второй формы в программу
- •14.2. Создание диалоговой панели
- •Задание № 1
- •Procedure tForn1.BitBtnClick(Sender:tObject); begin PageControl1.SelectNextPage(true);
- •Do ListBox1.Items.Add(PageControl1.Page[I].Caption);
- •14.3.1. Блокнот с набором ярлыков
- •If FontDialog1.Execute
- •15.2. Жизненный цикл программного средства
- •15.3. Понятие качества программного средства
- •15.4. Обеспечение надежности основной мотив разработки программных средств
- •15.4.1. Методы борьбы со сложностью
- •15.4.2. Обеспечение точности перевода
- •15.4.3. Преодоление барьера между пользователем и разработчиком
- •15.4.4. Контроль принимаемых решений
- •Литература
- •Часть 2. Объектно-ориентированное программирование
8. Репозиторий объектов и эксперты
8.1. Страницы репозитория объектов
В Delphi есть несколько команд меню, с помощью которых вы можете создать новую форму, новое приложение, новый модуль данных, новый компонент и т. п. Эти команды находятся в меню File, а также в других выпадающих меню. Но если вместо них выдать команду File/New, Delphi откроет окно Object Repository.
Репозиторий используется для создания новых элементов любого вида: форм, приложений, модулей данных, библиотек, компонентов и т.д. Диалоговое окно Object Repository содержит несколько страниц:
Страница New позволяет создавать новые элементы многих разных типов.
Страница текущего проекта (в действительности на ярлычке данной страницы вы увидите имя проекта, например Project1) позволяет унаследовать форму или модуль данных от аналогичного объекта, включенного в ваш текущий проект.
Страницы Forms, Dialogs, Data Modules позволяют создавать новые формы, диалоговые панели и модули данных, используя эксперты или существующие объекты этих типов.
Страница Project позволяет скопировать файлы из хранящегося в репозитории проекта.
В нижней части диалогового окна Object Repository находятся три радиокнопки, с помощью которых можно указать: хотите ли вы скопировать существующий элемент, унаследовать его или применить непосредственно, не копируя.
8.1.1. Страница New
Список элементов, которые можно создать с помощью страницы New:
Application создает новый пустой проект.
Data Module создает новый пустой модуль данных.
DLL создает новую библиотеку DLL.
Form создает новую пустую форму.
Text открывает в редакторе новый текстовый файл.
Unit создает новый пустой модуль, не связанный с формой.
8.1.2. Страница Forms
Ниже приведен список необходимых для работы предопределенных форм:
About Box – простая панель «О программе».
Duil List Box – форма с двумя разными списками; позволяет пользователю выбрать ряд элементов в одном списке и нажатием кнопки переместить их во второй. Кроме компонентов эта форма содержит значительное количество не очень простого кода на языке Паскаль.
8.1.3. Страница Dialogs
Эта страница похожа на предыдущую, но содержит другие элементы.
Dialog Expert – простой эксперт, который способен сгенерировать различные диалоговые панели с одной или несколькими страницами.
Dialog with help – два варианта диалоговой панели с кнопкой вызова справочной информации.
Password dialog – диалоговая панель с простым окном редактирования, которая имеет необходимые для ввода пароля опции; код отсутствует.
Standart Dialog Box – стандартная диалоговая панель, которая доступна в двух вариантах с различным расположением кнопок.
8.1.4. Страница Data Modules
Модуль данных - это особый вид формы, который никогда не появляется на экране во время выполнения и может использоваться для хранения невизуальных компонентов. Чаще всего он применяется для описания доступа к базе данных.
8.1.5. Страница Projects
Эта страница содержит схемы проектов, которые вы можете использовать в качестве стартовой площадки для создания собственного приложения:
Application Expert – простой эксперт, в котором вы можете выбрать файловую структуру и некоторые другие элементы приложения.
MDI Application задает ключевые элементы программы с интерфейсом Multiple Document Interface (MDI). В этом приложении определена основная форма для окна MDI-фрейма, содержащая меню, строку состояния и инструментальную линейку. Кроме того, в нем имеется вторая форма, которую на этапе выполнения можно использовать для создания дочерних окон.
SDI Application определяет основную форму со стандартными атрибутами современного интерфейса пользователя, включая инструментальную линейку и строку состояния, а также типичную панель About.
Win95 LogoApplication описывает простое приложение, в котором присутствует большинство элементов, необходимых для получения логотипа Windows 95. Данная команда в основном создает SDI-приложение с компонетом RichEdit и вставляет в него код, который делает приложение совместимым с электронной почтой.