- •Введение Преподавателю: как использовать данное пособие
- •Тому, кто хочет научиться
- •Благодарности
- •Лабораторная работа 1 Знакомство со средой программирования
- •1.Понятие программы и технология ее создания.
- •2. Запуск среды
- •3.Структура окна среды
- •4.Запуск программы
- •5.Выход из среды
- •6.Резюме
- •7.Вопросы для контроля
- •Лабораторная работа 2 Компоненты и их свойства
- •1.Понятие компонента
- •2.Свойства компонентов
- •3.Изменение свойств объектов Изменение свойств с клавиатуры
- •Изменение свойств из списка
- •Изменение составного свойства.
- •4.Добавление компонента на форму
- •5.Исследовательские задания
- •6.Контрольное задание.
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 3 События и обработчики события
- •1.Понятие «Событие»
- •2.Создание процедуры обработки события
- •Компоненты процедуры обработки события
- •2. Заголовок процедуры обработки события
- •3.Изменение значения свойства в коде приложения
- •4.Создание процедуры обработки события «Нажатие клавиши».
- •5.Исследовательские задания
- •6.Контрольные задания
- •7.Резюме
- •8.Вопросы для контроля
- •Лабораторная работа 4 Структура модулей проекта
- •1.Структура программных модулей
- •2.Исследовательские задания
- •3.Индивидуальное задание:
- •4.Контрольные вопросы
- •Лабораторная работа 5 Конструирование меню и работа со стандартными окнами диалога Windows
- •5.Создание главного меню приложения
- •6.Стандартные окна общих диалогов
- •7.Создание рабочей области редактора
- •Чтение документа из файла
- •Сохранение документа из файла
- •8.Изменение рабочей области в зависимости от выбранных значений пунктов меню
- •9.Создание всплывающего меню
- •10.Создание панели инструментов
- •Создание структуры панели инструментов
- •Установка соответствия с пунктами меню
- •11.Изменение возможностей текстового редактора
- •12.Исследовательские задания
- •13.Контрольные задания
- •14.Контрольные вопросы
- •Лабораторная работа №6 Файлы. Типы файлов.
- •1.Понятие «диалог».
- •2.Открытие файла для вывода
- •3.Открытие файла
- •4.Контрольное задание
- •5.Ввод записи в файл
- •6.Контрольное задание
- •7.Диалоговое окно по выбору файлов
- •8.Вопросы для контроля
- •Лабораторная работа 7 Статические графические объекты
- •1. Вставка Image на этапе проектирования приложения.
- •2.Вставка Image в процессе выполнения программы.
- •3.Создание примитивов.
- •4.Исследовательские задания
- •5.Контрольные задания
- •6.Резюме
- •7.Контрольные вопросы
- •Лабораторная работа 8 Компоненты ввода-вывода данных. Многооконные приложения
- •1.Добавление форм в проект
- •Добавление новой формы в проект приложения
- •Переключение между формами и рабочими модулями проекта
- •2.Управление появлением форм
- •3.Использование кнопок выбора
- •4.Использование индикаторов с флажком
- •5.Использование списков и системных окон
- •6.Использование компонента ProgressBar
- •7.Исследовательские задания
- •8.Контрольные задания
- •9.Резюме
- •10.Контрольные вопросы
- •Лабораторная работа 9 Настройка параметров приложения
- •11.Параметры настройки приложения
- •12.Создание пиктограммы для приложения
- •13.Создание файлов помощи
- •Назначение атрибутов разделам справочной системы
- •Указание гиперссылок
- •Компиляция справочного файла
- •14.Назначение заголовка, пиктограммы, файла помощи приложения
- •15.Исследовательские задания
- •16.Резюме
- •17.Вопросы для контроля
- •Лабораторная работа 10 Использование библиотек динамической компоновки (dll)
- •1.Понятие библиотеки динамической компоновки
- •2.Анализ условий задач
- •3.Создание библиотек динамической компоновки
- •Структура библиотеки динамической компоновки
- •Список экспортируемых функций
- •4.Создание клиентских программ
- •5.Решение задач
- •6.Контрольные задания
- •7.Резюме
- •8.Контрольные вопросы
- •Лабораторная работа 11 Создание дистрибутива приложения
- •1.Понятие и назначение дистрибутива приложения
- •2.Автоматизация создания дистрибутива приложения
- •3.Создание дистрибутива многокомпонентного приложения
- •4.Исследовательские задания
- •5.Резюме
- •6.Контрольные вопросы
- •Заключение
2.Анализ условий задач
Прежде чем приступать к реализации библиотеки динамической компоновки и клиентского приложения необходимо, провести анализ условия задачи на предмет выделения общих и часто используемых фрагментов, которые можно будет оформить в библиотеки динамической компоновки и фрагментов, которые необходимо реализовать в клиентской программе.
Задача 1
Например, нам необходимо создать приложение, позволяющее формировать и обрабатывать итоговые ведомости сессии групп студентов одного курса (осуществлять различные типы поисков).
Начнем с того, что уточним возможности данного приложения. Приложение должно позволять:
заносить данные о сдаче той или ной дисциплины каждым студентом;
осуществлять поиск по фамилии студента результатов сдачи им сессии;
осуществлять поиск фамилии студентов сдавших указанную дисциплину на определенную оценку;
Все эти возможности связанны непосредственно с таким объектом как «Студент группы». По отношению к данному объекту можно отметить, что возможности связанные с поиском какой-либо информации имеют более общий характер, чем возможность занесения данных о сессии студента. Следовательно, целесообразно более общие возможность, а они будут реализовываться с помощью подпрограмм, поместить в библиотеку динамической компоновки, а частные возможности реализовать в клиентском приложении.
Задача 2
Существуют файлы протоколов соревнований солисток синхронного плавания каждого из судей по технической программе. Необходимо иметь приложение, позволяющее подводить итоги по каждой солистке и выяснять победителей.
Задание 1
Ответив на следующие вопросы, выясните содержание библиотек динамической компоновки и клиентского приложения.
Какие возможности должно реализовывать будущее приложение?
Какие объекты присутствуют в данном приложении?
Каких из них непосредственно касаются перечисленные возможности?
Какие возможности имеют общий характер, а какие частный?
Какие возможности стоит реализовать в библиотеке динамической компоновки, а какие в клиентском приложении?
После того, как Вы определились с набором возможностей библиотеки динамической компоновки, необходимо разработать интерфейс подпрограмм, реализующих данную возможность. Это означает, что необходимо определиться с именем подпрограммы, типом и определить интерфейс данной подпрограммы.
Интерфейс подпрограммы – формат заголовка подпрограммы.
Иначе говоря, необходимо четко представить, какое имя будет у каждой из подпрограмм, какие будут входные данные, а какие выходные.
Например, для задачи №1 давайте договоримся подпрограммы обозначать так, как указано ниже.
Интерфейсы процедур:
поиск по имени
procedure Searsh_Fam(Fam:string;mas:array of string;var num_fam:integer);
где Fam – фамилия для поиска, mas – массив среди, которого нужно искать, num_fam – номер нужной фамилии в массиве
поиск по дисциплине
procedure searsh_subject(subject:array of string; mark:string; var fams:array of integer);
где Subject – это массив оценок по предмету.