0. Введение | 0.1 |
0.1. Содержание дисциплины | |
Высокоуровневые методы информатики и программирования Предметом изучения являются: - Новейшие направления в области создания технологий программирования, - Законы эволюции программного обеспечения, - Создание модульных программ, - Элементы теории модульного программирования, - Объектно-ориентированное программирование, - Объектный тип данных, - Переменные объектного типа, - Конструкторы и деструкторы, - Инкапсуляция, наследование, полиформизм, - Классы и объекты, - Особенности программирования в оконных операционных средах, - Основные стандартные модули, обеспечивающие работу в оконной операционной системе, - Интегрированная среда программирования, - Система окон разработки, система меню, - Основы визуального программирования, - Компоненты и их использование, - Размещение нового компонента. Реакция на событие |
Объем - 52 часа
2 семестр: лекции - 34 лаб. работы - 18 ----------------------------- всего - 52 экзамен курсовая работа экзамен |
0.2. Список литературы | |
Основная
1. Петров А. и др. Вычислительная техника и программирование. Высшая школа, 1990. 2. Епанешников А.. М. Епанешников В. А. Программирование в среде TURBO PASCAL 7.0. Диалог МИФИ, 1995г. 3. Р. Баас, М. Фервай, Х. Гюнтер. Delphi 4. Пер. с нем. под ред. А. Шевцова. Для пользователя BNV, Киев 1999. 4. В. Гофман, А. Хоменко. Delphi 5. Наиболее полное руководство. СПБ: БХВ, 2000 Дополнительная
5. Информатика, Учебник /Под ред. Макаровой Н.В. Москва, Финансы и статистика, 1997. 6. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. Мир, 1985. |
Учебник Учебно-справочное издание Учебное пособие. Учебное пособие. Учебник Пособие по языку. |
0.3 Программные продукты и их основные характеристики |
0.2 |
0.3.1. Понятия программного обеспечения | |
Программирование
Программа
Приложение
Программное обеспечение
Программный продукт (ПП)
Программы
Проблемы
1. Быстрая смена вычислительной техники и алгоритмических языков. 2. Не стыковка машин друг с другом (VAX и IBM). 3. Отсутствие полного взаимопонимания между заказчиком и исполнителем к разработанному программному продукту. |
Программирование может рассматриваться как наука, так и искусство Программа результат интеллектуального труда, для которого характерно творчество. Программы предназначены для машинной реализации задач. Задача
Программы делятся на утилиты
В настоящее время на мировом рынке господствуют ЭВМ разного типа: VAX и IBM и языки, совместимые с этими ЭВМ. Программы, написанные для одной машине, не всегда подходят к другой. Для разработчика это творчество, для заказчика это удобный инструмент. В Японии 60% трудоспособного населения занимается программированием |
0.3.2 Характеристики качества ПО. | |
Перечень показателей качества: - документированность, - эффективность, - простота использования, - удобство эксплуатации, - мобильность, - совместимость, - испытуемость, - стоимость. |
Критерии оценки качества программы. Программа должна: 1. работать согласно техническому заданию (и это легко проверяется); 2. быть эффективна по быстродействию и памяти (или быстрее работать или занимать меньше памяти); 3. широко использоваться и быть доступной (любой грамотный программист должен в программе разобраться и ее эксплуатировать, модернизировать как под новую задачу, так и под новую версию ОС); 4. быть приспособлена к выявлению ошибок (достаточно надежна в процессе расчета получать достоверные результаты); 5. должна быстро разработана и отлажена с минимальными трудозатратами. |
0.4. Классификация и сравнение языков программирования | 0.3 |
ЭВМ исполняет программу в машинных кодах. Составляют программу люди на удобном для себя языке. Различают языки: - низкого
- высокого
Языки высокого уровня бывают: - процедурно-ориентированные (Паскаль), - проблемно-ориентированные (MathCAD), - объектно-ориентированные (С++). Трансляторы
Виды трансляторов: Интерпретатор
Компилятор
|
Программа
На английском языке. Зависит от типа ЭВМ. Например, Ассемблер
Не зависят от типа ЭВМ. Например, Паскаль. Например, MathCAD. Например, С++ И. - Построчный перевод и исполнение. Медленно, но удобно при отладке. К. - Перевод всей программы с последующим исполнением. Неудобно при отладке, но быстрое исполнение готовой программы |
Примеры языков высокого уровня: Fortran = For
Tran
----------------------------------------- BASIC = Beginner’s All-perpose Symbolic Instruction Code ---------------------------------------- COBOL = Co
B
O
L
----------------------------------------- Algol = Algo
L
------------------------------- Pascal ------------------------------- С, С++ ------------------------------- Ada ------------------------------- Lisp = Lis
P
------------------------------- Prolog= Pro
Log
|
Для математических расчетов. От слов - транслятор формул. Универсальный простой язык. Многоцелевой мнемокод для начинающих. Язык для бизнеса. По первым буквам слов английской фразы - язык, ориентированный на обычный бизнес. Язык для описания алгоритмов. Универсальный современный структурированный язык. Назван в честь Блеза Паскаля. Языки для системного программирования. Для решения задач в реальном времени. Назван в честь программистки Ады Лавлейс. Язык обработки списков в системах искусственного интеллекта. Язык логического программирования для систем искусственного интеллекта. |
0.5. Проектирование программных продуктов (ПП) | 0.4 |
0.5.1. Классификация методов проектирования ПП | |
Признаки Неавтоматизированное проектирование
Автоматизированное проектирование
.Структурное проектирование
Структурное проектирование включает в себя: - нисходящее проектирование ("сверху вниз"), - модульное программирование, - структурное программирование (кодирование). Информационное моделирование
комплекса взаимосвязанных моделей данных. Объектно-ориентированный
- выделении классов объектов; - установлении свойств объектов и методов их обработки; - создании иерархии классов, наследовании свойств объектов и методов их обработки. Каждый объект объединяет данные и программу обработки этих данных и относится к определенному классу. Основная цель ООП - преодолеть следующие недостатки проектирования “сверху вниз”: - недостаточное внимание к структурам данных, - слабая связь структур данных с процессами их обработки. |
Проектирование алгоритмов и программ – наиболее ответственный этап жизненного цикла ПП. Традиционное неавтоматизированное проектирование алгоритмов и программ используется при разработке небольших по трудоемкости и структурной сложности ПП, не требующих большого числа разработчиков. ПП имеют прикладной характер. Автоматизированное проектирование алгоритмов и программ возникло с необходимостью уменьшить затраты на проектные работы, сократить сроки их выполнения, создать типовые "заготовки", многократно тиражируемых для различных разработок, координации работ большого коллектива разработчиков Методология –это подходы к проектированию Начало развития падает на 60-е годы. Метод нисходящего проектирования
В основе Информационного моделирования
Структурное программирование основано на модульной структуре программного продукта и базовых алгоритмических структурах. Кроме того, ООП позволяет резко сократить объем и трудоемкость подготовки программ, имеющих дело с множеством связанных друг с другом объектов. Объектно-ориентированный анализ – это выявление объектов, определение свойств и методов обработки объектов, установление их взаимосвязей. ООП процесс объектной декомпозиции и представления с использованием моделей данных проектируемой системы на логическом и физическом уровнях. |
0.5.2. Этапы создания ПП | 0.5 |
1. Составление технического задания на програм-
мирование
На этом этапе требуется: · определить тип ОС - MS DOS, Windows, Windows NT, · оценить необходимость сетевого варианта работы программы, · определить необходимость разработки программы, · обосновать необходимость работы с БД под управлением СУБД, · выбрать методы решения задачи, · разработать обобщенный алгоритм решения комплекса задач и структуры данных, · определить требования к интерфейсу пользователя. 2. Технический проект
На этом этапе выполняется: · разработка детального алгоритма обработки данных, · определение состава общесистемного программного обеспечения, включающего базовые средства (ОС, модель БД, электронные таблицы), · разработка внутренней структуры ПП, образованной отдельными программными модулями, · выбор средств разработки программных модулей. 3. Рабочая документация (рабочий проект)
На этом этапе осуществляется: · разработка программных модулей, · программирование или создание программного кода, · отладка программного продукта, · испытание работоспособности программных модулей и базовых программных средств, · подготовка контрольного
· создание эксплуатационной документации на программный продукт: – Описание применения;
– Руководство пользователя;
– Руководство программиста
– Обучающей системы (для ПП массового применения)
4. Ввод в действие
Готовый программный продукт сначала проходит опытную эксплуатацию
промышленную эксплуатацию
|
Создание программных продуктов трудоемкий процесс, основанный на определенной технологии. которую можно переносить на различные платформы. Разрабатывают функциональную структуру алгоритма или состав объектов, определяют требования к комплексу технических средств системы. Пример: для создания MS DOS- приложений может быть использован язык программирования Visual Basic for DOS Standard, Fortran, Visual C++ for Windows. Если необходима переносимость программ на другие ЭВМ, выбирается среда Windows NT. При разработке программ, работающихв среде Windows, возможно применение технологии OLE, для создания приложений. Приложение может работать с БД различных СУБД. - характеристика программного изделия с указанием сферы его применения; - детальное описание функциональных возможностей и технологии работы с программным продуктом; - указывает особенности установки программного продукта. Тиражирование и распространение ПП |
0.6. Структура программных продуктов ( ПП ). | 0.6 |
Архитектура ПП представляет собой совокупность и взаимосвязь программных модулей. Модуль
имеющая определенное назначение и обеспечивающая заданные функции обработки автономно от других программных модулей. Программный продукт обладает внутренней структурой. Структуризация программы выполняется для удобства – разработки, – программирования, – отладки, – внесения изменения в ПП. . Структуризация ПП преследует следующие цели: · Распределить работы по исполнителям, обеспечив их загрузку и требуемые сроки разработки; · Построить календарные графики проектных работ и осуществлять их координацию в процессе создания программных изделий; · Контролировать трудозатраты и стоимость проектных работ. . . .
. . .
. . .
Среди множества модулей различают: · Г о л о в н о й модуль
· У п р а в л я ю щ и й модуль
других модулей на обработку; · Р а б о ч и е модули
· С е р в и с н ы е модули
осуществляют обслуживающие функции. Каждый модуль оформляется как самостоятельно хранимый файл. Для функционирования ПП необходимо наличие программных модулей в полном составе. |
В большей степени программные продукты не являются монолитом и имеют конструкцию построения – совокупность программных модулей. ПП обладает внутренней структурой, что обеспечивает удобство разработки, программирование, отладку и внесение изменений в ПП. Программные комплексы большой алгоритмической сложности разрабатываются коллективом разработчиков ( 2-15 человек ). Управлять разработкой программ можно при научной основе. Структурное разбиение программ на отдельные составляющие служит основой и для выбора средств их создания. При создании ПП выделяются многократно используемые модули, проводится их типизация
Некоторые ПП используют модули из готовых библиотек стандартных подпрограмм, процедур, функций, объектов, методов обработки данных. На Рис. Приведена типовая структура ПП, состоящая из отдельных программных модулей и библиотек процедур, встроенных функций, объектов. Существует в единственном числе. В работе ПП активизируются необходимые программные модули. Управляющие модули задают последовательность вызова на выполнение очередного модуля. Информационная связь модулей обеспечивается за счет использования общей БД либо межмодульной передачиданных через переменные обмена. Структура ППП многомодульная. |
0.7.Проектирование интерфейса пользователя | 0.7 |
0.7.1. Диалоговый режим | |
Большинство ПП работают в Диалоговом режиме.
Состав диалоговых систем: · Меню
Меню может содержать вложенные подменю. · Действия запрос-ответ
· Запроспо формату
Диалоговый процесс управляется согласно созданному сценарию,
· Момент начала диалога; · Инициатор диалога – человек или ПП; · Параметры и содержание диалога – сообщения, состав и структура меню, экранные формы; · Реакция ПП на завершение диалога. Для создания диалогового процесса и интерфейса пользователя используют объектно-ориентированные средства разработки программ (Delphi). В их составе содержатся: · Построители меню (для создания главного меню и вложенного подменю); · Конструктор экранных форм (для разработки форматов экранного ввода и редактирования данных). Диалоговые окна содержат элементы управления: · Тексты сообщения; · Поля ввода информации пользователя; · Списки возможных альтернатив для выбора; · Кнопки, переключатели и т.п. |
В диалоговом режиме под воздействием пользователя осуществляется запуск функций обработки, изменение свойств объектов, производится настройка – параметров выдачи информации на печать и т.п. Меню могут быть иерархическим и содержать вложенные подменю следующего уровня. - Выставить панели инструментов. - или путем заполнения экранной формы с регламентированным по составу и структуре набором реквизитов осуществляется подготовка сообщений: "Выполнили не допустимую операцию" Описание сценария диалога выполняют блок-схемы, специализированные объектно-ориентированные языки построения сценариев. ООТехнологии, включают в себя специальные языки программирования и инструментальные средства разработки пользовательского интерфейса. Возможны настройки главных меню, создание системы подсказок с помощью встроенных средств и языков программирования. |
0.7.2. Графический интерфейс пользователя | Реализуется для ПП, |
Обязательный компонент большинства современных ПП. Требования
1. Содержать привычные и понятные пользователю пункты меню, соответствующие функциям обработки; 2. Ориентироваться на пользователя, который общается с программой на внешнем уровне взаимодействия; 3. Удовлетворять правилу "шести" – в одну линейку меню включать не более 6 понятий, каждое из которых содержит не более 6 опций; 4. Сохранять стандартизированное назначение и местоположение на экране графических объектов. |
работающих в среде Windows. К нему предъявляются высокие требования с инженерной и художественной стороны разработки. Строится в виде системы ниспадающих меню с использованием в качестве средства манипуляции мыши и клавиатуры. С помощью интерфейса пользователь работает с экранными формами
|
0.8. Структурное проектирование и программирование | 0.8 |
Структурное проектирование включает в себя: - нисходящее проектирование ("сверху вниз"), - модульное программирование, - структурное программирование. |
|
0.8.1.Нисходящее проектирование | |
Метод предполагает последовательное разложение функции обработки данных на простые функциональные элементы ("сверху вниз"). В результате строится функциональная структура алгоритма (ФСА) приложения, в которой отражаются: · цели предметной области (цель-подцель
· состав приложений (задач обработки
· характер взаимосвязи приложений с их основными характеристиками; · функции обработки данных; Функциональная структура приложения. . . .
. . .
. . . .
. . .
По частоте использования функции делятся на: · однократно выполняемые; · повторяющиеся. |
В результате строится иерархическая схема, которая отражает состав и взаимоподчиненность отдельных функций. Она носит название функциональная структура алгоритма (ФСА)
Подобная структура отражает состав и взаимосвязь функций обработки информации для реализации приложений, не раскрывая логику выполнения каждой отдельной функции. Разложение должно носить строго функциональный характер, т.е. отдельный элемент ФСА описывает законченную содержательную функцию обработки информации, которая предполагает определенный способ реализации на программном уровне. Функции ввода/вывода информации отделяют от функций вычислительной или логической обработки данных. Некоторые функции например Ф2, ФМ далее неразложимы на составляющие, они предполагают непосредственную программную реализацию. Другие функции Ф2… могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф12 .. Для всех функций-компонентов осуществляется самостоятельная программная реализация, составные функции типа Ф1, ФМ реализуются как программные модули, управляющие функциями-компонен-тами, например, в виде программ-меню. |
0.8.2. Модульное программирование | 0.9 | ||||||||||||||||||
Модуль представляет собой совокупность логически связанных элементов, предназначенных для использования другими модулями и программами. Модули предназначены для хранения готовых программ. Модуль сам по себе не является выполняемой программой – его объекты используются другими программными единицами (процедурами, функциями). Модуль имеет: · один вход и один выход – на входе программный модуль получает определенный набор исходных данных, выполняет обработку данных и возвращает один набор результатных данных, т.е. реализует принцип IPO (Input – Process – Output) – вход-процесс-выход; · функциональную завершенность – модуль выполняет перечень операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки; · логическую независимость – результат работы модуля зависит только от исходных данных, и не зависит от работы других модулей; · слабые информационные связи с другими программ- ными модулями – обмен информации между модулями должен быть по возможности минимизирован; · обозримый по размеру и сложности программный элемент. Каждый модуль состоит из: Спецификации
Тела –
Модульная структура приложения. Принцип модульного программирования ПП: 1. определение состава и подчиненность функций, 2. определение набора программных модулей, реализующих эти функции. При составлении алгоритма необходимо учитывать: · Каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю; · Принятие основных решений в алгоритме выносится на максимально «высокий» по иерархии уровень; · Для использования одной и той же функции в разных местах алгоритма создается один модуль, который вызывается на выполнение по мере необходимости. Функционально-модульная схема (ФМС). Функция 1
Функция 3
Функция 4
Программных Модулей (2, 3 . . . p). Функция 5 –
Алгоритмы большой сложности представляются с помощью схем двух видов: · Обобщенной схемы
принцип функционирования алгоритма и основные логические связи между отдельными модулями: · Детальной схемы
жание каждого элемента обобщенной схемы с ис- пользованием управляющих структур в блок-схемах и алгоритмических языков высокого уровня. |
Модульное программирование основано на понятии модуля. Все программные ресурсы модуля можно разбить на две части: · Объекты, прямо предназначенные для использования другими программами или модулями; · Объекты рабочего характера. Свойства модуля. Т.о. Модули содержат: -определение доступных для обработки данных, -операции обработки данных, -схемы взаимосвязи с другими модулями. Принцип модульного программирования ПП во многом сходны с принципами нисходящего проектирования: Функции верхнего уровня обеспечивается главным
10 В результате детализации алгоритма создается Функционально-модульная схема
Состав и вид программных модулей, их назначение и характер использования в программе в значительной степени определяются инструментальными средствами. Например, применительно к средствам СУБД отдельными модулями могут быть: Экранные формы ввода и редактирования информации БД; Отчеты генератора отчетов; Макросы; Стандартные процедуры обработки информации; Меню, обеспечивающее выбор функции обработки и др. Алгоритм – формальное описание способа решения задачи путем разбиения ее на элементарные операции. Алгоритмическое программирование – это разбиение программы на последова тельность модулей, каждый из которых выполнят одно или несколько действий. Алгоритм на выбранном языке програм мирования записывается с помощью команд описания данных. |
||||||||||||||||||
0.8.3. Структурное программирование | |||||||||||||||||||
Основано на модульной структуре ПП и типовых управляющих структурах
Типы управляющей структуры: · Последовательность; · Альтернатива (условие выбора); · Цикл. |
Наиболее часто детально проработанные алгоритмы изображаются в виде блок схемы согласно требованиям структурного программирования, при их разработке используются условные обозначения согласно ГОСТа («следование», «ветвление», «цикл»). |
||||||||||||||||||
1.0. Интегрированная среда разработки ( I DE ) | 11 | ||||||||||||||||||
1.1 Основные характеристики. | Integrated Development Environment. | ||||||||||||||||||
I DE позволяет создавать, компилировать, тестировать и редактировать проект в единой среде программирования I DE входит в комплект Delphi 5. Система Delphi – это комбинация нескольких технологий: - Высокопроизводительный компилятор в машинный код (скорость компилирования 120 тыс. строк/мин.); - Объектно-ориентированная модель компонент (основные объекты, которые группируются в 270 классов); Отсутствуют ограничения по типам создаваемых - объектов, т.к. сам Delphi разработан на Delphi. - Визуальное построение приложений. Визуальные компоненты пишутся на объектном Паскале; - Масштабируемые средства для построения БД. Одно и тоже приложение можно использовать как для локального, так и для клиент - серверного вариантов. Delphi предназначен для: - профессионалов - разработчиков информационных систем; - пользователей - для быстро решения своих задач. Запуск
- с помощью Главного меню или - двойным щелчком по пиктограмме Delphi 5. Основной экран среды: 1.2. Главное окно |
Возможна работа с группой проектов. Delphi – это греческий город, где жил дельфийский оракул. Этим именем был назван новый ПП с феноменальными характеристиками. Он удачно сочетает в себе несколько передовых технологий. В процессе работы разработчик выбирает готовые компоненты и проектирует в среде. После выполнения компиляции получают код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Delphi включает полный набор визуальных инструментов для скоростной разработки приложений (из готовых компонентов, число которых непрерывно растет даже за счет других фирм). Delphi включает в себя локальный сервер для того, чтобы можно было разработать приложения на любые внешние серверы. Сам Delphi разработан на Delphi. Пользователи - это учителя, врачи, преподаватели ВУЗов, бизнесмены. Не привлекая для решения своих задач программистов со стороны. Любой программист на Паскале способен сразу профессионально освоить Delphi. Журнал Visual Basic Magazine присудил свою премию Delphi for Win- dows. Имя открытого проекта. Имена пунктов меню Содержит кнопки наиболее часто используемых команд Палитра компонент содержит компоненты, с помощью которых создается приложение. Программный код компонентов автоматически генерируется Delphi. Для создания приложения достаточно разместить в форме стандартные компоненты, поскольку их число очень велико. 12 |
||||||||||||||||||
Главное окно содержит: - Строку заголовка
- Строку меню
- Панель инструментов
- Палитра компонентов
Группы компонентов размещаются на 19 вкладках. В Delphi используется открытая
Компоненты подразделяются на: – Визуальные
– Логические
5 панелей инструментов: – Стандартная, – Просмотр, – Отладка, – Пользователь, – Рабочий стол. |
Окна Delphi можно перемещать, убирать с экрана, а также изменять их размеры. Delphi является одно-документной средой, т.е. позволяет одновременно работать только с одним приложением. Кнопками панели инструментов можно вызывать часто используемых команд главного меню. Вызвать команды главного меню можно с помощью соответствующих комбинаций клавиш. Компоненты являются "строительными блоками" из которых конструируются формы приложений. Не все компоненты присутствуют в разных конфигурациях. Можно добавлять компоненты независимо от того, где они были изготовлены. Можно управлять
Эти действия выполняются с помощью контекстного меню панелей инструментов или строки меню. |
||||||||||||||||||
1.3. Окно Конструктора формы (Дизайнер формы) | |||||||||||||||||||
Первоначально имеет заголовок Form1.
Форма
Объекты выбираются на Палитре Компонентов. Для размещения компонента на форме необходимо: 1.Щелкнуть мышью на пиктограмме нужного компонента 2. Щелкнуть в том месте Формы, где должен быть расположен компонент. Редактировать компоненты можно с помощью контекстного меню. |
Программисты на Delphi проводят большинство времени переключаясь между Конструктором Формы и окном Редактора Кода (исходного текста). Конструктор формы интуитивно понятен и прост в использовании, поэтому создание визуального интерфейса превращается в детскую игру. Конструктор Форм первоначально состоит из одного пустого окна, которое заполняется всевозможными объектами, выбранными на Палитре Компонент. Сам конструктор формы находится "за кадром", а разработчик имеет дело с самой формой, поэтому окно часто называют просто Формой
Несмотря на важность Конструктора Формы, местом, где программисты проводят основное время, является Редактор. Логика является движущей силой программы и Редактор – то место, где происходит "кодирование". |
||||||||||||||||||
1.3. Окно Редактора кода | 13 | ||||||||||||||||||
Первоначально имеет заголовок Unit1.pas.
Окно редактора содержит исходный текст модуля разработки. Редактор и форма тесно связаны между собой (переключаться между ними можно клавишей F12). В Окне Проводника кода
Окна в
Delphi могут стыковаться друг с другом с помощью мыши, сливаться в одно общее окно, разделенное на несколько частей.
|
Редактор кода представляет собой обычный текстовый редактор, с помощью которого можно редактировать текст модуля и другие текстовые файлы приложения. В редакторе кода можно открывать несколько файлов, каждый из которых размещается на отдельной странице. Между страницами можно переключаться мышью, т.е. "листать" файлы по ярлычкам. Окно Проводника кода
При закрытии файла закрывается и ПК. Проводник кода можно убирать и выставлять с помощью команды меню Вид. Окна удобно перемещать по экрану и изменять их размеры. |
||||||||||||||||||
1.4. Окно Инспектора объектов | |||||||||||||||||||
Окно отражает поведение данного компонента для текущей формы Form1. Состоит из двух страниц (вкладок). Страница Свойство
Страница События
|
Если нужно изменить что-нибудь, связанное с определенным компонентом, то это выполняется в Инспекторе Объектов. К примеру, можно изменить имя и размер компонента Tlabel , изменяя свойства Caption, Top, Height и Width. Страница событий связана с Редактором кола. Страница Свойство
Если для какого либо События
|
||||||||||||||||||
2. Характеристика проекта Delphi | 14 | ||||||||||||||||||
Любой проект имеет не менее шести файлов, связанных с ним: - Главный файл проекта (код проекта) – PROGECT.DPR - Первый модуль программы (модуль формы) UNIT.PAS - Файл главной формы (описания формы) – UNIT.DFM - Файл описание ресурсов – PROGECT.RES - Файл параметры проекта – PROGECT.OPT - Модули - *.PAS Форма . . .
. . .
. . .
Могут автоматически создаваться и резервные копии. Файлы проекта располагаются в одном каталоге. Для каждого нового проекта целесообразно создавать отдельный каталог. Файлы в проекте можно добавлять и удалять. |
Три из них относятся к управлению проектом из среды и напрямую программистом не меняются. Основной, представляет собой программу. Автоматически появляется вначале работы его можно назвать любым другим именем Используется для сохранения информации о внешнем виде главной формы. Содержит иконку для проекта, создается автоматически. Текстовый файл для сохранения установок, связанных с данным проектом. Дополнительные Модули. При сохранении проекта под другим именем, изменятся название у файлов с расширением RES,OPT. Кроме приведенных файлов могут автоматически создаваться и резервные копии: ~DP - для DPR-файлов, ~РА – для PAS-файлов. При запуске Delphi автоматически создается новый проект PROGECT1, имя которого отображается в заголовке главного окна Delphi. Он имеет в своем составе одну форму и соответствующий ему модуль. Относительно простой проект содержит много файлов, которые целесообразно размещать в отдельном каталоге. |
||||||||||||||||||
2.1. Файл проекта PROGECT.DPR | |||||||||||||||||||
Является основным и представляет собой программу: program Project1; {Имя программы
uses {Оператор} Forms,{Имя подключаемого модуля} Unit1 in 'Unit1.pas' {Form1}; {Перечисление модулей всех форм проекта} {$R *.RES} {Директива подключения к проекту файл ресурсов} begin {Главный блок программы} Application.Initialize; {Инициализация приложения} Application.CreateForm(TForm1,Form1); {Создание формы} Application.Run; {Запуск приложения} end. Просмотреть и отредактировать код файла в окне Редактора кода можно с помощью команды: Project/View Source
|
Для приложения с одной формой: совпадает с именем файла и указывается при сохранении файла на диске. Оператор Uses
Файл ресурсов имеет имя, совпадающее с именем файла проекта. Можно подключить и другие ресурсы, добавив директивы и указав в них нужные имена. Операторы выполняют инициализацию приложения, создание формы и запуск приложения. При выполнении операций с проектом код файла проекта формируется Delphi автоматически. |
||||||||||||||||||
2.2. Файлы формы | Модуль формы и описание формы 15 | ||||||||||||||||||
Для каждой формы создаются автоматически файл описания UNIT.DFM и файл модуля UNIT.PAS. Файл описания
При конструировании формы в Файл описания
Для каждой формы декларируется тип, определяющий эту форму как класс. Он содержится в модуле UNIT1.PAS Чтобы отобразить этот файл на экране необходимо: 1. Закрыть окно Конструктора той формы, для которой нужно отобразить файл описания; 2. Активизировать команду File/Open (Файл/Открыть); 3. В диалоговом окне ( ДО ) Open
4. Выделить нужный файл и нажать на кнопку Open.
Редактор кода и его содержимое будет доступно для просмотра и редактирования. Чтобы открыть окно Конструктора формы: 1. Закрывается Редактор кода командой File/Close
2. Открывается Конструктор формы командой View/ Forms,
Файл модуля
При размещении на форме компонентов, в модуль формы вносятся соответствующие изменения. Часть изменений вносит Delphi, а часть – разработчик. Открыть модуль формы можно с помощью: - команды File/Open
- в ДО View/Units
Файлы Модуля формы и Описания формы имеют одинаковое имя
|
Используя Конструктор формы и Инспектор объектов, разработчик сам управляет этим файлом.Пример описания формы с кнопкой Button1.
Object Form1:TForm1 {Объявление класса Формы1} Left = 193 Top = 246 Width = 544 Height = 375 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end. Interface {описание класса формы} uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; Implementation {Подключение к модулю описа {$R *.DFM}ния соответствующей формы} end. Тексты модулей форм отображаются в окне Редактора кода и редактируются с его помощью. |
||||||||||||||||||
2.3. Файлы модулей *.PAS | 16 | ||||||||||||||||||
Это модули не связанные с какой-либо формой. Они оформляются по правилам языка программирования Object Pascal и сохраняются в отдельных файлах. Для подключения модуля его имя указывается в разделе uses
|
Помимо файлов, создаваемых Delphi, в проект могут включаться ваши собственные файлы, написанные на языке Pascal более ранних версий или на других языках программирования. В отдельном модуле целесообразно размещать процедуры, функции, константы или переменные, общие для нескольких модулей проектов.. |
||||||||||||||||||
2.4. Файл ресурсов PROGECT.RES | |||||||||||||||||||
При первом сохранении проекта автоматически создается файл ресурсов с именем, совпадающим
Файл содержит следующие ресурсы: - пиктограммы; - растровые изображения; - курсоры. Файл ресурсов первоначально содержит пиктограмму проекта. Его можно изменить, используя графический редактор Image Editor 3.0. Вызывается редактор командой Tools /
(Инструменты/Редактор изображений). В файле ресурсы разбиты на группы. Каждая группа имеет имя. Image Editor позволяет работать с файлами, содержащими следующие ресурсы: - Пиктограммы компонентов (*.DCR); - Растровые изображения (*.BMP); - Пиктограммы приложений (*.ICO) - Курсоры (*.CUR). |
Эти компоненты являются ресурсами Windows, поскольку они разработаны в соответствии со стандартами этой системы. На рисунке показано окно редактора, в которое загружен файл и выполняется редактирование пиктограммы приложения. Файл ресурсов имеет иерархическую структуру, в которой ресурсы разбиты на группы, а каждый ресурс имеет уникальное в пределах группы имя. Имя ресурса задается при его создании и в последующем используется в приложении для доступа к этому ресурсу. Программа проекта находится в группе Icon
MAINICON. |
||||||||||||||||||
2.5. Файл параметры проекта PROGECT.OPT | 17 | ||||||||||||||||||
Используется для установки параметров проекта с помощью команды меню Project / Options.
Параметры разбиты на группы, каждая из которых располагается в соответствующем окне на своей странице. После установки отдельных параметров Delphi автоматически вносит нужные изменения в соответствующие файлы проекта. Файл параметров проекта представляет собой текстовой файл, в котором построчно располагаются параметры и их значения. |
Этот фай представляет собой текстовой файл, который содержит текущие установки проекта: - настройки компилятора и компоновщика, - имена служебных каталогов, - условные директивы и параметры командной строки, - настройки проекта (какие окна открыты и в каких позициях они расположены), - конфигурацию проекта. Например: Проект может быть откомпилирован с отладочной информацией или без нее. Во время разработки целесообразно постоянно включать в проект отладочную информацию. Для этого необходимо установить опцию Debug Information
- файл конфигурации: *.DOF-файл, содержит текущие установки проекта, например, настройки компилятора, имена служебных папок и т.п. DSK –файл с настройками проекта. Он позволяет восстановить внешний вид рабочей среды проекта. |
||||||||||||||||||
2.5. Резервные файлы | |||||||||||||||||||
Delphi создает резервные копии файла проекта, а также PAS- и DFM-файлов. Резервные копии: *.~DP файла проекта с расширением DPR. Создается при повторном сохранении проекта. *.~PA модуля проекта с расширением PAS. Создается при повторном сохранении проекта, если в исход ном коде модуля были сделаны изменения. *.~DF файла формы. Создается в случае, если DFM- файл был открыт в виде текста, и в нем были сделаны изменения. |
Если первый символ в расширении файла – тильда (~), речь идет о зарезервированной копии. *.~BP файла группы проектов с расширением BPG. Этот файл создается при повторном сохранении файла группы проектов. |
||||||||||||||||||
3. 0. Компиляция и выполнение проекта | |||||||||||||||||||
В процессе компиляции проекта создается: - готовый к выполнению файл (*.EXE) или - динамически загружаемая библиотека (*.DLL). Имя приложения совпадает с именем файла проекта
Само приложение является автономным. Запуск процесса компиляции
Компиляция может быть выполнена на любой стадии разработки проекта. При компиляции происходит: - создание исполняемого файла - приложения *.EXE; - компиляция файлов всех модулей, содержимое которых изменилось после последней компиляции. В результате создается файл с расширением *.DCU; - перекомпиляция модуля, в который внесены изменения и модулей, использующие его с помощью директивы uses.
Ход процесса компилирования будет отображаться на экране, если установить опцию Show compiler progress
в меню Tools/ Environment Options/
Сборка проекта
<Project 1>
При сборке перекомпилируются все модули, входящие в проект, не зависимо от того, были в них внесены изменения или нет. Запускать
- среды Delphi и - среды Windows. Запуск проекта
Созданное приложение начинает свою работу. При внесении изменений в файлы, предварительно выполняется компиляция проекта. Особенности запуска в среде Delphi: - нельзя запустить вторую копию приложения; - продолжить разработку проекта можно только после завершения работы приложения; - при "зависании" приложения завершение его работы необходимо выполнить средствами Delphi командой Run/Program Reset
Запуск проекта
Для отладки приложений в среде Delphi можно использовать отладчик
|
Который может быть приложением. Будем рассматривать только файл-приложение. Приложение.EXE не требует при своей работе дополнительных файлов Delphi.. 18 В команде содержится имя проекта, раз работка которого выполняется в настоя щий момент (первоначально Project1). При сохранении проекта под другим именем соответственно должно измениться имя проекта в команде меню. Компиляция на любой стадии позволяет проверить вид и правильность функционирования фрагментов создаваемого кода. Проект может быть откомпилирован с отладочной информацией или без нее. Во время разработки целесообразно постоянно включать в проект отладочную информацию. Для этого надо установить опцию Debug Information
Ход процесса компилирования будет отображаться на экране. Кроме компиляции может быть выполнена сборка
Проект/Собрать <Проект> Выполнение/выполнить. |
||||||||||||||||||
4.0. Разработка приложения | 19 | ||||||||||||||||||
Состоит из двух этапов: - Создание интерфейса приложения, - Определение функциональности приложения. Для создания интерфейса
- выбрать нужные компоненты; - определить внешний вид и функциональные возможности компонентов; - отобразить окно Инспектора Объектов;
- расположить компоненты на форме. Для обеспечения функциональности
- задать в Инспекторе Объектов
- написать программный код для заданных процедур обработки событий. |
Delphi относится к системам визуального программирования, которые относятся к системам быстрой разработки приложений. Интерфейс приложения определяет способ взаимодействия пользователя и приложения, т.е. внешний вид формы при выполнении приложения и то, каким способом пользователь управляет приложением. С помощью Конструктора Формы
Функциональность приложения определяется процедурами, которые выполняются при возникновении определенных событий, происходящих при действиях пользователя с управляющими элементами формы. |
||||||||||||||||||
4.1. Простейшее приложение | |||||||||||||||||||
Представляет собой заготовку, обеспечивающую все необходимое для приложения. Это: - форма, для которой уже созданы два файла с описанием и модулем. При создании приложений в форму помещаются компоненты, для них устанавливаются свойства и создаются обработчики событий. К простейшему приложению разработчик добавляет новые формы. |
Форма содержит основные элементы окна Windows: заголовок Form1, кнопки минимизации, максимизации и закрытия окна, изменения размеров окна и кнопку вызова системного меню. Эта форма отображается при первом запуске Delphi Приложение Windows выполняется в окне и даже если оно ничего не делает, является пустым, должно иметь окно. Окно реагирует на изменение размера, перемещение, закрытие и др. команды. |
||||||||||||||||||
4.2. Создание интерфейса приложения | |||||||||||||||||||
Интерфейс приложения составляют компоненты. Визуальные
Не визуальные
Для установки на форме нескольких одинаковых компонент необходимо: 1. Нажать и удерживать клавишу <Shift>. 2. Выбрать на Палитре компонентов щелчком мыши нужный компонент. 3. Щелкать мышью в те места на Форме, где должны быть расположены эти компоненты. Отменяется выбор данного компонента щелчком мыши на изображении стрелки в левом краю Палитры компонентов или выбором другого компонента.
Выделение нескольких компонент на форме выполняется с помощью мыши при нажатой клавиши <Shift>. Редактирование
Свойства
Типы свойств: - простые
- перечисляемые
- вложенные
Для изменения
- щелкнуть мышью по его имени в левой колонке; - открыть список, появившийся в соответствующей ячейке правой колонки: - выбрать нужное свойство. Утверждается
отменяется
Редакторы для установки значения свойств: При выполнении приложения свойства компонентов можно изменять с помощью операторов присваивания. Изменение заголовка кнопки Button 1
Button 1.
|
Сами компоненты являются строительными блоками. Выбираются из Палитры и устанавливаются на форме. Их свойства можно изменить. После размещения компонента в форме можно изменять с помощью мыши его положение и размеры. Кроме того, для нескольких компонентов можно выполнять выравнивание или перевод того или иного компонента на передний или на задний план. По умолчанию компоненты выравниваются на форме по линиям сетки. По умолчанию шаг сетки равен восьми пикселам, а сетка при проектировании отображается на поверхности формы. 20 Внешний вид компонента определяют его свойства, которые доступны в окне Инспектора объектов (ИО), когда объект выделен на форме. В верхней части окна в раскрывающемся списке, отображаются название компонента и его тип. В этом списке выбираются нужные компоненты и тем самым, можно получить доступ к свойствам этих компонентов (особенно, если компоненты закрыты другими). Управлять свойствами можно непосредственно в окне конструктора формы или с помощью Инспектора объектов. В левой
По умолчанию первая кнопка получает имя Button 1, вторая Button 2 и т.д. Разработчик может изменить свойство компонента, введя или выбрав нужное значение (название кнопки – Закрыть). Результат изменения свойств компонента становится сразу видимым в окне проектировщика форм. При изменении значения свойства Caption
Например: Caption, Left, Height, Hint. Свойства: FormStyle, Visible, ModalResult Объект
Свойство представляет комбинацию значений из предлагаемого множества
Если для свойства введено неправильное значение, то выдается предупреждающее сообщение. Это требует большего объема работ, чем в случае использования ИнОб. Тем не менее, отдельные свойства устанавливаются именно с помощью операторов присваивания. |
||||||||||||||||||
4.3. Определение функциональности приложения | 21 | ||||||||||||||||||
Реакция окна на разного рода действия пользователя определяет функциональность
Обработчики событий компонента – какое действие можно поручить выделенному компоненту. Каждый компонент имеет стандартный обработчик события. Чтобы при нажатии на кнопке "Закрыть" кнопка реагировала на событие закрыть, необходимо создать или указать процедуру обработки события, которая будет вызываться при возникновении данного события. Для создания процедуры обработки события нужно: 1) выделить на форме компонент; 2) перейти на страницу событий Инспектора Объектов; 3) создать обработчик события OnClick. Для этого: - сделать двойной щелчок в области значения события OnClick, ( Delphi автоматически создаст в модуле формы заготовку процедуры-обработчика). - в месте, где установится курсор написать код, который будет выполняться при нажатии кнопки Button1. - набрать строку Form1.Close
Все остальное Delphi создаетавтоматически. При изменении
Для удаления
Процедура, связанная с несколькими событиями для различных компонент называется общим обработчиком
|
После компиляции на экране появляется форма приложения, с которой можно работать как с обычным окном Windows (перемещать по экрану, изменять ее размеры, минимизировать или максимизировать, закрывать). Реакция на приведенные действия присуща каждой форме и не зависит от назначения приложения и его особенностей. На форме обычно размещены компоненты, образующие интерфейс приложения, и разработчик должен для этих компонентов определить нужную реакцию на те или иные действия пользователя
Код модуля при создании обработчика событий кнопки "Закрыть" unit ASA; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Form1.Close
end; end. Итак, Инспектор Объектов – это инструмент, для формирования внешнего вида и функциональных возможностей формы и компонентов в процессе разработки приложения. Вместо создания нового обработчика для события можно выбрать существу-ющий обработчик, если такой имеется. |
||||||||||||||||||
5.0. Средства интегрированной среды разработки | 22 | ||||||||||||||||||
Эти средства служат для удобной и эффективной разработки приложений. | |||||||||||||||||||
5.1. Управление параметрами среды | |||||||||||||||||||
Установки параметров выполняются в диалоговом окне по командеTools/Environment Options
Возможны следующие настройки: - параметров конфигурации Deldhi, - задание рабочих папок компилятора и компоновщика для всех файлов проекта, - страниц и компонентов на Палитре компонентов, - шрифта и цвета Редактора кода, - автосохранение редактируемых файлов Все параметры объединены по группам, размещенным на отдельных страницах. |
|||||||||||||||||||
5.2. Менеджер проекта (Project Manager) | |||||||||||||||||||
Предназначен для управления составными частями разрабатываемого приложения. Вызывается по команде View/Project Manager
С помощью менеджера выполняются операции: - просмотр части проекта, - удаление отдельных частей проекта, - добавление к проекту новой части. Открыть модуль для редактирования можно двойным щелчком мыши по имени файла в списке окна. |
Менеджер Проекта позволяет объединять проекты которые работают вместе в одну проектную группу. Это позволяет организовать как работу взаимозависимых проектов, таких как однозначные и многозадачные приложения или DLL, так и совместную работу исполняемых программ. На рис. Показано окно Project Manager с открытым проектом Apple. В списке окна можно открыть какой-либо модуль для просмотра или редактирования двойным щелчком мыши по его имени или командой Open контекстного меню этого файла. |
||||||||||||||||||
5.3. Встроенный отладчик (Debugger) | 23 | ||||||||||||||||||
Облегчает поиск и устранение ошибок в приложениях. Средства отладчика доступны: - с помощью команд пункта меню Run
- и подменю View / Debug Windows
отладки). Действия отладчика: - выполнение до указанного оператора (строки кода), - пошаговое выполнение приложения, - выполнение до точки останова, - включение и выключение точек останова, - просмотр значений объектов, в окне просмотра, - установка значений объектов при выполнении приложения. Установка параметров отладчика выполняется с помощью команды Tools / Debugger
|
|||||||||||||||||||
5.4. Обозреватель проекта (Project Browser) | |||||||||||||||||||
Позволяет перемещаться по: - иерархии классов, - модулям и - глобальным символам приложения. Вызывается командой View / Browser
Для просмотра в окне левой части доступны три типа объектов: - Globals (Глобальные символы), - Classes (Классы) и - Units (Модули). В правой части панели окна доступны для просмотра: - Scope (Пределы), - Inheritance (Иерархия) и - References (Ссылки). Управление отображением данных осуществляется с помощью мыши. Для управления параметрами отображенных объектов используется команда Tools/Environment Options/Explorer |
С помощью обозревателя проекта можно перебирать используемые программой модули и просматривать символы в разделах interface
Окно обозревателя проекта разделено на две части. Слева в иерархическом виде отображаются доступные для выбранной страницы объекты, а справа для выбранного объекта более детально отображаются его характеристики. В зависимости от выбранного типа просматриваемого объекта в правой части могут быть доступны следующие варианты детального просмотра характеристик: Scope, Inheritance, References Можно отображать или скрывать соответствующие объекты, например переменные или константы модуля. |
||||||||||||||||||
5.5. Хранилище объектов | 24 | ||||||||||||||||||
Одни и те же объекты можно использовать в качестве шаблонов для разработки приложений. Эти объекты находятся в хранилище (Repository). Их можно просмотреть в окне New Items
В хранилище находятся шаблоны приложений, форм, отчетов, Мастера форм. Объекты добавляются различными способами: - Copy – в проект добавляется копия из хранилища. Все изменения в объекте являются локальными и не затрагивают оригинал; - Inherit – от объекта из хранилища порождается (наследуется) новый объект и добавляется к проекту. Все модификации с объектом в проекте нельзя удалить. - Use – в проект включается непосредственно сам объект из хранилища со всеми файлами. При изменении в проекте этого объекта изменяется и объект в хранилище. |
Объекты объединены в группы и размещаются на отдельных страницах: - New – Базовые объекты, - ActiveX – Объекты ActiveX и OLE, - Multitier – Объекты многопоточного приложения, - Project 1 – Формы создаваемого приложения, - Form – Формы, - Dialogs – Диалоги, - Data Modules – Модули данных, - Projects – Проекты, - Business –Мастера форм. Название стр. Apple совпадает с названием создаваемого проекта. Сама страница содержит уже созданную форму. При изменении названия проекта или формы изменяются их названия в хранилище объектов. При добавлении или удалении формы ее шаблон соответственно добавляется или исключается из хранилища объектов. При добавлении объекта к проекту выбирается нужная страница, выделяется объект и подтверждается ОК. |
||||||||||||||||||
5.6. Справочная система | |||||||||||||||||||
В состав справочной системы входят: - стандартная система справки (с тремя вкладками); - справочная помощь через Internet (запуск браузера); - контекстно-зависимая справочная помощь(клавишаF1) отображаемая справка зависит от активизации объекта. |
Вкладка Содержание
Вкладка Предметный
Вкладка Поиск
|