Эскиз и спецификация типовых объектов управления графического интерфейса
Разработка программы по оформлению заказов на билеты Оренбургского государственного областного драматического театра им. Горького. Использование объектно-ориентированного программирования и реализация проекта в среде визуального программирования Delphi 7.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 12.11.2014 |
Размер файла | 6,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Аннотация
В данном курсовом проекте представлена программа по оформлению заказов на билеты учреждения ГУК «Оренбургский государственный областной драматический театр им. М. Горького» также предоставляющая информацию о репертуаре и фиксирующая посещаемость спектаклей. Пользователями программы являются служащие учреждения, оформляющие заказы и продажу билетов.
Данная программа также предназначена для хранения и редактирования данных, вывод их на экран и на печать.
Разработка программы осуществлялась на основе объектно-ориентированного программирования и реализована в среде визуального программирования Delphi 7.
Введение
программирование delphi объектный
В 2006 году Оренбургский государственный областной драматический театр им. М. Горького отметил замечательный юбилей. Богатая 150-летняя история театра полна ярких событий и блистательных имен. Спектаклям старейшего театра на Урале аплодировали жители нашей необъятной Родины от Тихого Океана до Черного моря. За последние 50 лет театр пять раз гастролировал в Москве и дважды в Ленинграде.
С 1997 года творческие искания театра определяются позицией художественного руководителя, народного артиста России, лауреата Государственной премии России Рифката Исрафилова. Он уверенно развивает традиции русской психологической школы в сочетании с яркой зрелищной формой. Лучшим спектаклям театра аплодировала взыскательная публика театральных фестивалей Москвы, Белгорода, Магнитогорска, Пскова, Челябинска и других городов. Спектакль «Раба своего возлюбленного» Лопе де Вега в 2001 году на Международном театральном фестивале «Театр без границ» завоевал «Гран-при». «Капитанская дочка» в числе лучших спектаклей России была показана на фестивале «Пушкинская сцена». В 2002 году успешно прошли гастроли в Москве. Публике, кроме вышеуказанных спектаклей, были представлены «Маскарад» М.Ю. Лермонтова, «Отец» А.Стриндберга, «Дон Жуан» Ж.-Б. Мольера. Столичная театральная критика отмечала, что в Оренбургском театре «сложилась сильная, яркая труппа, в которой на равных правах существуют старшее, среднее и совсем молодое поколение». Богата фестивальная история и спектакля «А зори здесь тихие…», получившего высокую оценку зрителей и критики на Всероссийских и Международных фестивалях в Москве, Вологде, Ульяновске. В марте 2008 года этот спектакль примет участие в фестивале Русских театров, который состоится в Марселе (Франция). Спектакль «Корсиканка» в постановке нашего художественного руководителя стал одним из лучших на Международном фестивале «Крымский ковчег» в Симферополе в сентябре 2007 года.
Постановка «Прощальная гастроль князя К.» по повести Ф.М. Достоевского «Дядюшкин сон» в мае 2007 года украсила репертуар областного фестиваля «Театральное Оренбуржье». А осенью этого же года исполнитель главной роли князя К. народный артист России Андрей Лещенко стал дипломантом премии конкурса «Хрустальная роза Виктора Розова».
Особая гордость труппы - это люди, отдавшие всю жизнь служению Его Величеству Театру! Более 50 лет служат сцене оренбургского театра заслуженная артистка РФ И.А. Лидарская и заведующий постановочной частью, заслуженный работник культуры РФ Ю.А. Лоев, народная артистка РФ А.П. Жигалова, заслуженный артист РФ А.И. Папыкин.
Традиции русского психологического театра продолжаются в творчестве лучших актеров труппы: народного артиста России Андрея Лещенко, заслуженных артистов России - лауреата Государственной премии РФ Олега Ханова, Натальи Беляевой, Олега Бажанова, Надежды Величко, Юрия Трубы и др.. Периодически труппа пополняется новыми молодыми кадрами - выпускниками Оренбургского института искусств им. Л.и М. Ростроповичей. Многие молодые артисты уже завоевали любовь зрителей - это Сергей Шахмуть, Наталья Ренева, Наталья Лавриненко, Ирина Прохорова, Елена Епанешникова и мн. др.
Ежегодно театр представляет Оренбург на Всероссийских и Международных фестивалях. В 2008 году Оренбургский государственный областной театр им. М. Горького стал лауреатом премии Правительства РФ имени Федора Волкова «за заслуги в развитии профессионального театрального искусства».
1 .Постановка задачи
Разработать программный продукт для реализации работы с клиентами ГУК «Оренбургский государственный областной драматический театр им. М. Горького».
К основным характеристикам функциональных задач относят:
цель и назначение задачи, её место и связь с другими задачами: разработанная программа будет производить работу с клиентами, а именно будет обеспечивать доступ к информации об услугах, оказываемых учреждением ГУК «Оренбургский государственный областной драматический театр им. М. Горького»;
условия решения задачи с использованием средств вычислительной техники: программа разработана в среде программирования Delphi 7 на компьютере имеющим следующие технические данные:
имя ОС - Microsoft Windows 7;
версия - 6.1 Сборка 7600;
изготовитель ОС - Microsoft Corporation;
имя системы - Vi;
изготовитель - System manufactured;
модель - System Product Name;
тип - Компьютер на базе X86;
процессор - Intel Core i5 M450 2.40GHz;
версия BIOS - American Magatrend Inc. 11.08.2007;
версия SMBIOS - 08.00.12;
папка Windows - C:\WINDOWS;
системная папка - C:\WINDOWS\system32;
устройство загрузки - \Device\HarddiskVolume1;
язык - Россия;
аппаратно зависимый уровень (HAL) - Версия = "6.01.7100.0000";
имя пользователя - Vi;
полный объем физической памяти - 465 ГБ;
доступно физической памяти - 195 ГБ;
всего виртуальной памяти - 4,00 ГБ;
доступно виртуальной памяти - 4,46 ГБ;
файл подкачки - 4 ГБ;
файл подкачки - C:\pagefile.sys;
содержание функции обработки входной информации при решении задачи: информация об афише, информация о истории театра, информация о театре сегодня, информация о координатах театра, отчет по афише, отчет по координатам, файл документа MS Word «Отчет по билетам», база данных bd.mdb;
требование к периодичности решения задачи: данная программа используется ежедневно, по мере запроса со стороны клиента и администратора;
ограничение по срокам и точности выходной информации: информация предоставляется сразу после поступления запроса;
состав и форма представления выходной информации: на экран будет выводиться непосредственно наименования спектаклей, состав труппы, актуальная афиша;
источниками входной информации для решения задачи будут являться документы о театре и предстоящих спектаклях;
пользователи задачи: пользователями данной программы являются клиенты и администратор.
1.1 Структура взаимодействия входной и выходной информации
Структура взаимодействия входной и выходной информации показана на рисунке 1.
Рисунок 1 - Структурная схема
1.2 Требования к программно-аппаратному окружению
Программно-аппаратное окружение для нормальной работы программы «Dramteatr» необходимо чтобы были выполнены следующие системные требования:
материнская плата: S-775 Gigabyte 965P-S3;
процессор: S-775 Intel Core 2 Duo E6300 (1,86);
оперативная память:DIMM DDR-2 3072Mb;
жесткий диск: SATA 250Gb SEAGATE “ST3250410AS” 7200rpm;
видео карта: ATI Radeon HD2600Pro Palit 512Mb DDR2 128 bit;
операционная система:Windows XP Home Edition версия 2002 sp2.
А так же исправны и готовые к работе:
клавиатура;
мышь;
монитор.
1.3 Требования к функциям, выполняемым системой
В данной программе используются следующие функции:
хранение информации о спектаклях, редактирование этой информации при изменении репертуара (при формировании новых услуг или мероприятий);
возможность оформления заказа билетов, их распечатка;
распечатка документов «Координаты», «Афиша», «Билет».
Вся эта информация представлена пользователю в удобном и понятном виде.
1.4 Требования к эргономике и технической эстетики интерфейса пользователя
Эргономика - это область науки о взаимодействии человека и машины. В век компьютеризации эргономика чаще всего занимается организацией рабочего места за компьютером. Чтобы работа за компьютером была безвредной и комфортной нужно придерживаться некоторых правил:
во время производственной практики режим работы за компьютером не должен превышать 3-х часов;
экран монитора должен находиться на расстоянии не менее 40 см;
располагаться у монитора на расстоянии не ближе 50 см.
Для обеспечения удобства использования программы, меню должно иметь понятный интерфейс, который не будет вызывать особых трудностей у неподготовленного пользователя.
Также, в программе должны быть предусмотрены различные подсказки или пояснения, облегчающие использование программы. В программе должна быть предусмотрена справка, которая подробно описывает принципы работы программы.
Графический интерфейс должен соответствовать высоким требованиям, как с инженерной, так и с художественной стороны разработки. Стандартный графический интерфейс отвечает ряду требований:
содержит привычный и понятный пользователю пункты меню, соответствующие функциям обработки, расположенные в естественной последовательности использования;
ориентируется на конечного пользователя, который общается с программной на внешнем уровне взаимодействия;
удовлетворяет правилам «шести» - в одну линейку меню включать не более 6 понятий, каждый пункт меню содержит не более 6 опций;
графические объекты сохраняют свое стандартное назначение.
Интерфейс пользователя должен ориентироваться на конечного пользователя.
1.5 Требования к надежности и хранению информации
В международном стандарте ISO 9126:1991 надежность выделена как одна из основных характеристик качества программного обеспечения. Стандартный словарь терминов программного инжиниринга определяет надежность программного обеспечения как способность системы или компонента выполнять требуемые функции в заданных условиях на протяжении указанного периода времени.
Модели надежности программных средств подразделяются на аналитические и эмпирические. Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных о поведении программы в процессе тестирования. Эмпирические модели базируются на анализе структурных особенностей программ.
Аналитические модели представлены двумя группами: динамические и статические. В динамических моделях поведение появление отказов рассматривается во времени. Если фиксируются интервалы каждого отказа, то получается непрерывная картина появления отказов во времени (модели с непрерывным временем). Может фиксироваться только число отказов за произвольный интервал времени. В этом случае поведение появление отказов может быть представлено только в дискретных точках (модели с дискретным временем).
В статических моделях появление отказов не связывают со временем, а учитывают зависимость количества ошибок либо от числа тестовых прогонов (модели по области ошибок), либо от характеристики входных данных (модели по области данных).
В своей работе я использовала модель Миллса.
Использование этой модели предполагает необходимость перед началом тестирования искусственно «засорять» программу, т.е. вносить в нее некоторое количество известных ошибок. Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист, проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки показателей надежности по модели Миллса. Предполагается, что все ошибки (как естественные, так и искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования.
Тестируя программу в течение некоторого времени, собирают статистику об ошибках. В момент оценки надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные. Соотношение, называемое формулой Миллса, дает возможность оценить первоначальное число ошибок в программе N.
N=S*n/V (1)
где S - количество искусственно внесенных ошибок;
n - число найденных собственных ошибок;
V - число обнаруженных к моменту оценки искусственных ошибок.
К числу искусственных ошибок отнесем следующие: ошибки взаимодействия, недостаточность средств диагностики некорректных и аварийных ситуаций, ошибки при обращении к другому программному обеспечению, недостатки защиты от компьютерных вирусов, неполнота обработки ошибочных ситуаций, отсутствие диагностики ошибок пользователя, ошибки адаптируемости, защищенности. В общем их будет 9. Число собственных ошибок 6. Число обнаруженных к моменту оценки искусственных ошибок 7.
N = (9*6)/7 =7.71
2. Пояснительная записка
2.1 Метод решения
Разработка программы основывается на методе объектно-ориентированного программирования. Этот способ основан на представлении программы в виде совокупности объектов абстрактного типа данных, модульной структуры программы.
Модульное программирование внедряется для:
размещения в памяти больших программ;
нужны библиотеки блоков с простым доступом.
Структура модуля:
- Unit «Имя» (заголовок модуля);
- Interface (Интерфейсная часть модуля, начало раздела объявлений)- в этой части описываются константы, типы данных и переменные. В операторе Uses описывается необходимые процедуры и функции, доступные из вне;
- Implementation (Раздел реализации) - черный ящик, в него помещаются блоки, заголовки которых приведены в интерфейсной части;
- Begin … end (Инициализационная часть) - основная часть модуля, приведенные здесь операторы выполняются 1 раз, т.е. перед оператором основного блока главной программы.
Данная программа «Dramteatr» работает по алгоритму, который осуществляет автоматизацию процесса учета ранее совершенных заказов и формированию новых заказов билетов учреждения.
Для того чтобы осуществить оформление билета необходимо зайти во вкладку «Печать» и ввести данные, если не совершено никаких ошибок ввода, программа занесет данные, иначе выдаст сообщение об ошибке.
Для печати заказа предназначен метод Print, сразу после вызова, которого отчет подготавливается к печати и направляется на установленный в системе принтер.
2.2 Структурная схема программы
Разработанная программа имеет достаточно удобную для работы пользователя структуру, соответствующая основному требованию, предъявляемому к структуре программы.
Меню программы представляет собой структурную схему, представленную на рисунке 2.
Рисунок 2 - Структурная схема программы
2.3 Диалоговый режим
Программа поддерживает режим с жестким сценарием диалога, т.е. стандартизированное представление информационного обмена.
Этот режим представлен в виде:
Меню - диалог инициируется программой, пользователю предлагается выбор альтернативных функции обработки из фиксированного перечня.
Диалоговый процесс управляется согласно созданному сценарию, для которого определяется:
1) инициатор диалога - в программе инициатором диалога является человек, т.к. человек производит запуск программы, а также выбор необходимого пункта меню, после которого открывается соответствующее окно;
2) параметры и содержание диалога - структура меню, экранные формы. После запуска программы на экране появляется меню, состоящее из шести пунктов: «О театре», «Афиша», «Оформление билетов», «Медиа», «Фотогаллерея», «О Dramteatr».
Реакция программы на завершение работы - если пользователь кликнет по кнопке «Выход», то программа запрашивает подтверждение выхода, после чего закрывает окно программы.
2.4 Эскиз и спецификация типовых объектов управления графического интерфейса
Эскиз программы выполненной в Delphi представлен на рисунке 3.
Рисунок 3 - Программа «Dramteatr», выполненная в Delphi
Для создания диалогового окна использовались объекты:
1) Label - постоянный текст, не подлежащий изменению при работе пользователя с экранной формой;
2) PageControl - многостраничная панель;
3) Edit - компонент визуальный. Это стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы;
4) Button - компонент визуальный. Он позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. Поместив компонент TButton на форму, вы по двойному щелчку можете создать заготовку;
5) Imagе - компонент визуальный. Он отображает графическое изображение на форме, воспринимает форматы BMP, ICO, WMF;
6) Scrollbar - полоса прокрутки, предназначен для быстрого перемещения внутри длинного списка или текста по вертикали или горизонтали;
7) StatusBar - строка состояния, используется для отображения времени, даты и подсказок;
8) ComboBox -д «выпадающий» список выбора. Представляет собой комбинацию компонентов Edit иListBox;
9) ScrollBar - полоса прокрутки. Представляет собой вертикальную или горизонтальную полосу, управляющую визуальным представлением компонентов, не помещающихся целиком в окне программы;
10) StatusBar - панель статуса. Предназначена для размещения разного рода служебной информации в окнах редактирования. Пример - нижняя часть рамки окна текстового редактора Word;
11) Timer - таймер. Этот компонент служит для отсчёта интервалов реального времени. Имеет ограничение - не может обрабатывать интервалы менее 55 миллисекунд;
12) DBGridEh - состоит из набора компонентов TDBEdit, предназначен для работы с базами данных;
13) DBNavigator - предоставляет пользователю возможность просматривать набор данных;
14) Radio-button - это тип кнопки, которая используется в группе и служит для выбора одного из предлагаемых вариантов;
15) GroupBox - панель группировки;
16) ImageList представляет собой набор изображений одинаковых размеров, на которые можно ссылаться по индексам, начинающимся с 0;
17) невизуальный компонент DataSource представляет собой источник данных, который обеспечивает связь между набором данных и компонентами отображения и редактирования данных;
18) ADO Connection - невизуальный компонент для работы с базами данных;
19) ADOQuery - невизуальный компонент для работы с базами данных;
20) PrintDBGridEh - невизуальный компонент для создания отчетов;
21) XPManifest - XPManifest использует стандартные визуальные компаненты для данной ОС;
22) MediaPlayer - универсальный проигрыватель аудио- и видео-информации.
Рисунок 4 - Окно «Авторизация»
Рисунок 5 - Вкладка «О театре»
Рисунок 6 - Вкладка «Афиша»
Рисунок 7 - Вкладка «Оформление билетов»
Рисунок 8 - Вкладка «Медиа»
Рисунок 9 - Вкладка «Фотогаллерея»
Рисунок 10 - Вкладка «О Dramteatr»
3. Руководство системного программиста
Данный программный продукт написан в среде Delphi 7 и был основан на модульном программировании. В программе используются стандартные и дополнительно установленные компоненты, с помощью которых осуществляется ее реализация.
3.1 Схема взаимодействия модулей
Структурная схема взаимодействие модулей представлена на рисунке 11.
Рисунок 11 - Схема взаимодействия модулей
3.2 Описание модулей
Основными файлами при создании программы являются:
1) main.pas - главный модуль программы, с помощь него осуществляются основные функции и действия, такие как: сортировка и фильтрация данных в таблице «Афиша», оформление билетов, воспроизведение медиафайлов и просмотр изображений. Включает в себя все вкладки главного меню («О театре», «Афиша», «Оформление билетов», «Медиа», «Фотогаллерея», «О Dramteatr»), а также метки («История театра», «Теарт сегодня», «Труппа», «Репертуар», «Координаты», «Партнеры»), по выбору которых осуществляется открытие соответствующих форм;
2) card.pas - отображает информацию о билете, отправленную из вкладки «Оформление билетов», выводит эту информацию на печать, а также экспортирует ее в документ Microsoft Word «Отчет о билетах»;
3) coordinates.pas - модуль формы «Координаты», позволяет просматривать информацию о координатах театра и выводить ее на печать;
4) historyT.pas - модуль формы «История театра» выводит информацию об истории театра к просмотру;
5) log.pas - модуль формы «Авторизация», требуется для авторизации администратора и входа в программу. Если авторизация прошла успешно, то открывается главная форма программы «Dramteatr», в противном случае выдается ошибка авторизации;
6) partners.pas - модуль формы «Партнеры» предоставляет информацию о партнерах театра к просмотру;
7) repertory.pas - модуль формы «Репертуар» выводит информацию о репертуаре театра в виде таблицы. Имеется возможность сортировки по возрастанию и по убыванию, а также фильтрация данных по выбранному условию;
8) troupe.pas - модуль формы «Труппа» выводит информацию о труппе театра в виде таблицы. Имеется возможность сортировки по возрастанию и по убыванию, а также фильтрация данных по выбранному условию;
9) Ttoday.pas - модуль формы «История театра» выводит информацию об истории театра к просмотру;
10) updates.pas - модуль формы «Проверка обновлений». Проверяет, доступны ли обновления для программы до новой версии.
Все файлы должны храниться в одной папке, при удалении одного из файлов программа может работать некорректно.
3.3 Настройка и проверка программы
1) base.dpr - проект программы. В данном файле описываются взаимосвязи модулей;
2) main.dfm, card.dfm, coordinates.dfm, historyT.dfm, log.dfm, partners.dfm, repertory.dfm, troupe.dfm, Ttoday.dfm, updates.dfm - данные файлы содержат описание объектов, расположенных на форме (и сами свойства данной формы). Данный файл нужно редактировать осторожно, поскольку это может закончиться тем, что среда не сможет загрузить форму;
3) base.res - стандартный двоичный windows-формата файл ресурсов, включающий в себя информацию о приложении;
4) base.cfg - файл конфигурации, содержит параметры проекта;
5) Dramteatr.exe - исполняемый файл проложения;
6) документ «Отчет о билетах» предназначен для занесения данных о проданных билетах из формы «Билет»;
7) DThelp.chm - файл справки.
3.3.1 Тестирование программного продукта. Способы тестирования
Тестирование - процесс, подтверждающий правильность программы и демонстрирующий, что ошибок в программе нет. Модульное тестирование - этот вид тестирования представляет собой процесс проверки отдельных программных процедур и подпрограмм, входящих в состав программ или программных систем. Модульное тестирование производится непосредственным разработчиком и позволяет проверять все внутренние структуры и потоки данных в каждом модуле. Этот вид тестирования является частью этапа разработки.
В программе «Dramteatr» мной были проведены следующие элементы модульного тестирования:
1) синтаксическая проверка ввода фамилии, имени, отчества, даты;
2) проверка с использованием некоторого инструментального средства для выявления синтаксических ошибок в программном коде:
- ошибка в написание команды;
- проверка соответствия стандартам кодирования;
- проверка кода на соответствие стандартам кодирования компании;
- технический обзор программного кода.
Наиболее часто встречающиеся ошибки:
1) Еrror (0) Unable to Code Completion due to errors in source code.
- ошибка: Ошибка при компиляции программы;
- устранение: Исправить все ошибки в тексте модуля;
2) Error (3) invalid file name:
- ошибка: Неверное имя файла;
- устранение: Удалить в имени файла запрещенные символы;
3) Error (2) file not found.
- ошибка: Файл не найден;
- устранение: Неверно указан путь к файлу;
4) Error (110) Missing operator or semicolon:
- ошибка: Не хватает символа ";";
- необходимо поставить в конце строки символ ";".
Интеграционное тестирование - этот вид тестирования проводится для проверки совместной работы отдельных модулей и предшествует тестированию всей системы как единого целого. В ходе интеграционного тестирования проверяются связи между модулями, их совместимость и функциональность. Оно осуществляется независимым тестировщиком и входит в состав этапа тестирования.
Мной были проведены следующие элементы интеграционного тестирования:
1) проверка функциональности - проверка соответствия отдельных функций, выполняемых совокупностями модулей, функциям, заданным в спецификациях требований;
2) проверка промежуточных результатов - проверка всех промежуточных результатов и файлов на наличие и корректность;
3) проверка интеграции - проверка того, что модули передают друг другу информацию корректно.
Системное тестирование - этот вид тестирования предназначен для проверки программной системы в целом, ее организации и функционирования на соответствие спецификациям требований заказчика. Его проводит независимый тестировщик после успешного завершения интеграционного тестирования.
В программе «Dramteatr» проводилось системное тестирование:
1) граничное тестирование - тестирование в граничных условиях;
2) прогоночное тестирование - тестирование всех функциональных характеристик реальной работы системы;
3) проверка документации - проверка пользовательской документации на корректность.
Программа тестировалась на платформах: Windows XP, Windows Professional, Windows 7 Домашняя расширенная, Windows 7 Максимальная, Linux Ubuntu.
Выходное тестирование - это завершающий этап тестирования, на котором проверяется готовность программного продукта к поставке заказчику. Данный вид тестирования проводит независимый тестировщик.
Мной был проведен следующий элемент выходного тестирования: проверка документации - проверка того, что вся необходимая документация полностью корректна и готова к передаче заказчику.
3.3.2 Сообщение системному программисту
Существует множество ошибок возникающих в ходе выполнения настройки, проверки, а так же в ходе выполнения программы.
Виды ошибок:
1) ошибки пригодности:
- невыполнение функций, указанных в спецификации требований;
- ошибки правильности;
- несоответствие программной документации согласно спецификации;
- недостатки документации;
- отсутствие файла комплекта поставки программного обеспечения;
- отсутствие функции программного обеспечения;
- отсутствие элемента интерфейса с пользователем;
- противоречие в выполнении функций (по сравнению с техническим заданием и/или документацией);
- противоречие в выполнении алгоритмов;
- ошибка в вычислениях;
- противоречие в настройке программного обеспечения;
- ошибки взаимодействия;
2) сбои и отказы при работе системы;
3) сбои и отказы при работе программного обеспечения;
4) затруднения при использовании:
- затруднения при установке программного обеспечения;
- затруднения при загрузке и запуске программного обеспечения;
- затруднения при управлении решением задач;
- неудобство ввода данных;
- недостатки управления степенью подробности запрашиваемой информации;
- отсутствие значений по умолчанию;
- затруднения восприятия выходных данных;
- отсутствие диагностики ошибок пользователя.
4. Руководство оператора
При работе с программой по предоставлению информации о драматическом театре и оформлению заказов на билеты учреждения ГУК «Оренбургский государственный областной драматический театр им. М. Горького» от пользователя не требуется особых знаний компьютерной техники, достаточно начальных навыков работы с ПК, но если таковых навыков нет, то пользователь их легко приобретет, работая с данной программой, так как она имеет интуитивно понятный интерфейс, не требующий профессиональных навыков от пользователя при работе.
4.1 Выполнение программы
Данная программа состоит из 10 форм, каждая из которых обладает определенными функциями и характеристиками.
Окно «Авторизация» содержит поле для ввода пароля и две кнопки: «ОК» - подтверждение ввода и «Отмена» - отмена ввода пароля (рис. 12).
Рисунок 12 - Окно «Авторизация»
Вкладка начала работы «О театре» предоставляет пользователю доступ к информационным окнам (рис. 13).
Рисунок 13 - Вкладка «О театре»
«История театра» - содержит краткую информацию об истории театра и минифотогаллерею, выход из окна осуществляется с помощью кнопки «Выход» (рис. 14).
Рисунок 14 - Окно «История театра»
«Театр сегодня» - содержит краткую информацию о театре на данный момент и минифотогаллерею, выход из окна осуществляется с помощью кнопки «Выход» (рис. 15).
Рисунок 15 - Окно «История театра»
«Труппа» - включает в себя таблицу с информацией о труппе театра, кнопки навигации по таблице, имеется возможность сортировки с помощью радиокнопок, а также фильтрация данных по выбранному условию. Для отмены сортировки и фильтрации предназначена кнопка «Отмена», выход из окна осуществляется с помощью кнопки «Выход» (рис. 16).
Рисунок 16 - Окно «Труппа»
«Репертуар» - включает в себя таблицу с информацией о репертуаре театра, кнопки навигации по таблице, имеется возможность сортировки с помощью радиокнопок, а также фильтрация данных по выбранному условию. Для отмены сортировки и фильтрации предназначена кнопка «Отмена», выход из окна осуществляется с помощью кнопки «Выход» (рис. 17).
Рисунок 17 - Окно «Репертуар»
«Координаты» - отображает местоположение театра на карте города, содержит контактные телефоны, печать осуществляется с помощью кнопки «Печать», выход из окна - с помощью кнопки «Выход» (рис. 18).
Рисунок 18 - Окно «Координаты»
«Партнеры» - содержит информацию о партнерах театра, выход из окна осуществляется с помощью кнопки «Выход» (рис. 19).
Рисунок 19 - Окно «Партнеры»
Вкладка «Афиша» содержит таблицу с предстоящими спектаклями, кнопки навигации по таблице, кнопку предварительно просмотра отчета «Предварительный просмотр», радиокнопки сортировки таблицы по возрастанию и по убыванию, а также предоставляет функцию фильтрации данных по названию спектакля, режиссеру или по жанру (осуществляется по нажатию кнопки «ОК»), для отмены фильтрации и сортировки предназначена кнопка «Отмена» (рис. 20-21).
Рисунок 20 - Вкладка «Афиша»
Рисунок 21 - Окно «Предварительный просмотр»
Вкладка «Оформление билетов» содержит поле для ввода выбранных мест, радиокнопки для выбора сектора зала, выпадающий список для выбора ряда, который формируется в зависимости от выбранного сектора, выпадающий список для выбора даты и названия спектакля, а также две кнопки: «ОК» - проверка корректности заполнения полей и «Оформить билет» - вызов окна «Билет», которое содержит информацию об оформленном билете, позволяет экспортировать эту информацию в документ MS Word (кликнуть кнопкой мыши по значку MS Word) и отправлять на печать (кнопка «Печать»), выход из окна осуществляется с помощью кнопки «Выход» (рис. 22-23).
Рисунок 22 - Вкладка «Оформление билетов»
Рисунок 23 - Окно «Билет»
Вкладка «Медиа» содержит кнопки управления медиаплеером, плейлист, кнопки добавления и удаления файлов из плейлиста, кнопку создания нового плейлиста, кнопку очистки плейлиста и полосу прогресса, благодаря которой возможна функция перемотки проигрываемого аудио или видеофайла (рис. 24).
Рисунок 24 - Вкладка «Медиа»
Вкладка «Фотогаллерея» позволяет просматривать изображения (рис. 25).
Рисунок 25 - Вкладка «Фотогалерея»
Вкладка «О Dramteatr» отображает основные сведения о программе, а также содержит две кнопки: «Справка» - открытие окна справки с подробной информацией о программе и «Обновления» - проверка обновлений программы до новой версии (рис. 26).
Рисунок 26 - Вкладка «O Dramteatr» и окно справки «Dramteatr»
4.2 Сообщение оператору
Тексты сообщений, выдаваемых в ходе выполнения программы, описание их содержания и соответствующие действия оператора.
Введен неверный пароль при авторизации пользователя программы (рис.27). Требуется ввести верный пароль.
Рисунок 27 - Сообщение «Неверный пароль доступа»
В поле введены недопустимые символы (рис.28). Действие оператора - ввести корректные символы.
Рисунок 28 - Сообщение «Ошибка! Введите цифры!»
В поле введены повторяющиеся символы, билеты на указанные места уже проданы (рис. 29). Действие оператора - вводить каждое число только один раз.
Рисунок 29 - Сообщение «Билет на выбранное место продан!»
Не заполнены все необходимые поля (рис.30). Действие оператора - корректно заполнить все необходимые поля.
Рисунок 30 - Сообщение «Ошибка! Заполните все поля!»
Запрос закрытия программы (рис. 31). Действие оператора - выбрать один из предложенных программой вариантов.
Рисунок 31 - Сообщение «Вы уверены, что хотите выйти? (Да/Нет)»
Заключение
Результатом данного курсового проекта является создание рабочей программы по оформлению заказов билетов ГУК «Оренбургский государственный областной драматический театр им. М. Горького». Во время создания курсового проекта были подробно изучены компоненты Delphi, которые необходимы для разработки программы «Dramteatr».
Разработанная программа удовлетворяет всем требованиям задания. Программа имеет интуитивно понятный интерфейс, и работать с ним может любой пользователь. Предусмотрена адекватная реакция на ошибки пользователя. Для анализа результатов решения задачи были применены входные данные (постановка задачи), обеспечивающие стопроцентное покрытие программы. После обработки исходных данных, проанализировав полученный результат программы можно понять, что они верны, следовательно, программа может быть применена в сфере ее использования.
Список использованных источников
1) Рудаков, А.В. Технология разработки программных продуктов: учебное пособие / А.В. Рудаков. - М.: ACADEMA, 2005. - 207 с.
2) Макарова, Н.В. Информатика: учебник / Н.В. Макарова. - М.: Финансы и статистика, 2004. - 767с.
3) Гофман, В.Э. Delphi: Руководство программиста / В.Э. Гофман. - СПб.: БХВ-Петербург, 2005. - 1152с.
4) Семагин И.Г. Основы программирования / И.Г. Семагин. - М.: Академия, 2004. - 385 c.
5) Культин, Н.Б. Основы программирования в Delphi 7 / Н.Б. Культин. - СПб.: БХВ - Петербург, 2003. - 608 с.
6) Агальцов, В.П. Базы данных / В.П. Агальцов. - М.: Мир 2002. - 752 с.
7) Хомоненко, А.Д. Delphi 7 в подлиннике / А.Д. Хомоненко, В.Э. Гофман. ? М.: Просвещение, 2004. - 1724 с.
8) Корняков, В.Н. Программирование документов и приложений MS Office в Delphi: учебное пособие / В. Н. Корняков. - СПб.: БХВ-Петербург, 2005. - 496с.
9) Хомоненко, А.Д. Работа с базами данных в Delphi / А.Д. Хомоненко, В. Э. Гофман. - СПб.: БХВ-Петербург, 2005. - 640 с.
10) Фленов, М.Е. Библия Delphi / М.Е. Фленов. - СПб.: БХВ-Петербург, 2008. - 800 с.
Приложение
Входные и выходные документы
К входным данным относятся:
1) афиша;
2) история театра;
3) театр сегодня;
4) координаты;
5) партнеры;
6) база данных bd.mdb.
Рисунок 32 - Афиша
Рисунок 33 - История театра
Рисунок 34 - Театр сегодня
Рисунок 35 - Координаты
Рисунок 36 - Партнеры
Рисунок 37 - База данных «bd.mdb» таблица «Афиша»
Рисунок 38 - База данных «bd.mdb» таблица «Репертуар»
Рисунок 33 - База данных «bd.mdb» таблица «Труппа»
Текст программы
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls,
StdCtrls, Mask, Buttons, comobj, RpRave, RpDefine, RpCon, RpConDS, XPMan,
ImgList, jpeg, RpBase, RpSystem, PrnDbgeh, GridsEh, DBGridEh, VidGrab,
MPlayer, ShellCtrls, ExtDlgs, OleCtrls, SHDocVw;
type
Theade = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet3: TTabSheet;
XPManifest1: TXPManifest;
Timer1: TTimer;
ts1: TTabSheet;
image2: TImage;
label32: TLabel;
label33: TLabel;
label34: TLabel;
label35: TLabel;
label36: TLabel;
label37: TLabel;
ts2: TTabSheet;
image3: TImage;
label38: TLabel;
Edit1: TEdit;
label39: TLabel;
cbb1: TComboBox;
Button8: TButton;
il1: TImageList;
image4: TImage;
label2: TLabel;
label3: TLabel;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
ADOTable1: TADOTable;
ComboBox1: TComboBox;
dbnvgr1: TDBNavigator;
label6: TLabel;
label7: TLabel;
label8: TLabel;
label9: TLabel;
label10: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
Button1: TButton;
Button2: TButton;
DBGridEh1: TDBGridEh;
PrintDBGridEh1: TPrintDBGridEh;
ts5: TTabSheet;
OpenDialog1: TOpenDialog;
Timer2: TTimer;
ProgressBar1: TProgressBar;
MediaPlayer1: TMediaPlayer;
Panel1: TPanel;
image6: TImage;
ListBox1: TListBox;
btn1: TBitBtn;
btn2: TBitBtn;
btn3: TBitBtn;
btn4: TBitBtn;
ts6: TTabSheet;
image7: TImage;
btn5: TBitBtn;
Button3: TButton;
grp1: TGroupBox;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
label4: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button4: TButton;
Button5: TButton;
ADOQuery1: TADOQuery;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure label32Click(Sender: TObject);
procedure label32MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label32MouseLeave(Sender: TObject);
procedure label33Click(Sender: TObject);
procedure label33MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label33MouseLeave(Sender: TObject);
procedure label34Click(Sender: TObject);
procedure label34MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label34MouseLeave(Sender: TObject);
procedure label35Click(Sender: TObject);
procedure label35MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label35MouseLeave(Sender: TObject);
procedure label36Click(Sender: TObject);
procedure label36MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label36MouseLeave(Sender: TObject);
procedure label37Click(Sender: TObject);
procedure label37MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure label37MouseLeave(Sender: TObject);
procedure label4Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RadioButton1Enter(Sender: TObject);
procedure RadioButton2Enter(Sender: TObject);
procedure RadioButton3Enter(Sender: TObject);
procedure RadioButton4Enter(Sender: TObject);
procedure RadioButton5Enter(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button2Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure ProgressBar1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ProgressBar1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ProgressBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ListBox1DblClick(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure image7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure image7MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure btn5Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioButton6Click(Sender: TObject);
procedure RadioButton7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Edit2Click(Sender: TObject);
procedure Edit3Click(Sender: TObject);
procedure Edit4Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
heade: Theade;
endex:integer;
st:string;
koll,i:integer;
k: LongInt=0;
changeposition: Boolean=false;
img:array of TImage;
sr:TSearchRec;
f,q:integer;
implementation
uses Unit1, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11;
{$R *.dfm}
procedure Theade.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var Push:word;
begin
Push := MessageBox(handle,PChar('Вы уверены, что хотите выйти?'), PChar('Dramteatr | Выход из программы'), 52);
if Push =IDYES then canclose:=true else canclose:=false;
end;
procedure Theade.Timer1Timer(Sender: TObject);
begin
heade.Caption:='Dramteatr Дата: '+DateToStr(date)+ Время: '+timetostr(time);
end;
procedure Theade.label32Click(Sender: TObject);
begin
historyT.show;
historyT.Left:=(Screen.Width-historyT.Width) div 2;
historyT.Top:=(Screen.Height-historyT.Height) div 2;
end;
procedure Theade.label32MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label32.Font.Color:=clActiveBorder;
end;
procedure Theade.label32MouseLeave(Sender: TObject);
begin
label32.Font.Color:=clBlack;
end;
procedure Theade.label33Click(Sender: TObject);
begin
Ttoday.show;
Ttoday.Left:=(Screen.Width-Ttoday.Width) div 2;
Ttoday.Top:=(Screen.Height-Ttoday.Height) div 2;
end;
procedure Theade.label33MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label33.Font.Color:=clActiveBorder;
end;
procedure Theade.label33MouseLeave(Sender: TObject);
begin
label33.Font.Color:=clBlack;
end;
procedure Theade.label34Click(Sender: TObject);
begin
troupe.show;
troupe.Left:=(Screen.Width-troupe.Width) div 2;
troupe.Top:=(Screen.Height-troupe.Height) div 2;
end;
procedure Theade.label34MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label34.Font.Color:=clActiveBorder;
end;
procedure Theade.label34MouseLeave(Sender: TObject);
begin
label34.Font.Color:=clBlack;
end;
procedure Theade.label35Click(Sender: TObject);
begin
repertory.show;
repertory.Left:=(Screen.Width-repertory.Width) div 2;
repertory.Top:=(Screen.Height-repertory.Height) div 2;
end;
procedure Theade.label35MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label35.Font.Color:=clActiveBorder;
end;
procedure Theade.label35MouseLeave(Sender: TObject);
begin
label35.Font.Color:=clBlack;
end;
procedure Theade.label36Click(Sender: TObject);
begin
coordinates.show;
coordinates.Left:=(Screen.Width-coordinates.Width) div 2;
coordinates.Top:=(Screen.Height-coordinates.Height) div 2;
end;
procedure Theade.label36MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label36.Font.Color:=clActiveBorder;
end;
procedure Theade.label36MouseLeave(Sender: TObject);
begin
label36.Font.Color:=clBlack;
end;
procedure Theade.label37Click(Sender: TObject);
begin
partners.show;
partners.Left:=(Screen.Width-partners.Width) div 2;
partners.Top:=(Screen.Height-partners.Height) div 2;
end;
procedure Theade.label37MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label37.Font.Color:=clActiveBorder;
end;
procedure Theade.label37MouseLeave(Sender: TObject);
begin
label37.Font.Color:=clBlack;
end;
procedure Theade.label4Click(Sender: TObject);
begin
ts1.Show;
end;
procedure Theade.Button8Click(Sender: TObject);
begin
card.show;
card.Left:=(Screen.Width-card.Width) div 2;
card.Top:=(Screen.Height-card.Height) div 2;
end;
procedure Theade.FormCreate(Sender: TObject);
begin
heade.Left:=(Screen.Width-heade.Width) div 2;
heade.Top:=(Screen.Height-heade.Height) div 2;
q:=0;
f:=FindFirst('G:\Фотогаллерея\*.jpg',faAnyFile,sr);
while f=0 do begin
SetLength(img,q+1);
img[q]:=TImage.Create(ts6);
img[q].Picture.LoadFromFile('G:\Фотогаллерея\'+sr.Name);
img[q].Width:=100;
img[q].Height:=100;
img[q].Proportional:=true;
img[q].top:=ClientHeight-120;
img[q].OnMouseMove:=Image7MouseMove;
img[q].OnMouseUp:=image7MouseUp;
if q=0 then
img[q].Left:=5
else
img[q].Left:=img[q-1].Left+110;
img[q].Parent:=ts6;
f:=FindNext(sr);
inc(q);
end;
FindClose(sr);
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Афиша');
ADOQuery1.Active:=True;
end;
procedure Theade.RadioButton1Enter(Sender: TObject);
begin
combobox1.Items.clear;
for i:=1 to 12 do
combobox1.Items.add(inttostr(i));
end;
procedure Theade.RadioButton2Enter(Sender: TObject);
begin
combobox1.Items.clear;
for i:=1 to 4 do
combobox1.Items.add(inttostr(i));
end;
procedure Theade.RadioButton3Enter(Sender: TObject);
begin
combobox1.Items.clear;
for i:=1 to 2 do
combobox1.Items.add(inttostr(i));
end;
procedure Theade.RadioButton4Enter(Sender: TObject);
begin
combobox1.Items.clear;
for i:=1 to 2 do
combobox1.Items.add(inttostr(i));
end;
procedure Theade.RadioButton5Enter(Sender: TObject);
begin
combobox1.Items.clear;
for i:=1 to 2 do
combobox1.Items.add(inttostr(i));
end;
procedure Theade.Button1Click(Sender: TObject);
begin
PrintDBGridEh1.SetSubstitutes(['#[Today]',DateToStr(Date)]);
PrintDBGridEh1.Preview;
end;
procedure Theade.Edit1KeyPress(Sender: TObject; var Key: Char);
var i,hk:byte; f,d:string;
begin
f:=edit1.text;
d:=edit1.text;
hk:=0;
if key=',' then
for i:=1 to length(edit1.Text) do
if d[i]=',' then hk:=i;
delete(f,1,hk);
if hk>0 then delete(d,hk+1,3);
if (pos(f,d)<>0)and(hk>0) then
begin
edit1.text:=d; key:=#0;
Edit1.SelStart:=length(d);
MessageDlg('Билет на выбранное место продан!', mtWarning, [mbOK], 0);
end;
if not(Key in ['0'..'9', ',', ' ', #13, #8]) then
MessageDlg('Ошибка! Введите цифры!', mtWarning, [mbOK], 0);
if not(Key in ['0'..'9', ',', ' ', #13, #8]) then Key := #0;
end;
procedure Theade.Button2Click(Sender: TObject);
begin
If(length(edit1.text)=0) or(length(cbb1.text)=0)
or(length(combobox1.text)=0)
and (RadioButton1.checked=false or RadioButton2.Checked=false
or RadioButton3.Checked=false or RadioButton4.Checked=false
or RadioButton5.Checked=false)
then MessageDlg('Ошибка! Заполните все поля!', mtWarning, [mbOK], 0);
If (length(edit1.text)<>0) and (length(cbb1.text)<>0)
and (length (combobox1.text)<>0)
and RadioButton1.Checked or RadioButton2.Checked or RadioButton3.Checked
or RadioButton4.Checked or RadioButton5.Checked
then Button8.Enabled:=True;
end;
procedure Theade.Timer2Timer(Sender: TObject);
begin
if changeposition=False then
ProgressBar1.Position:=MediaPlayer1.Position;
end;
procedure Theade.ProgressBar1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if k<>0 then
begin
changeposition:=True;
end;
end;
procedure Theade.ProgressBar1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if changeposition then
MediaPlayer1.Position:=k*x;
MediaPlayer1.Play;
changeposition:=False;
end;
procedure Theade.ProgressBar1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if changeposition then
begin
if (x<=0) and (x>=ProgressBar1.Width) then
ProgressBar1.Position:=x*k;
end;
end;
procedure Theade.ListBox1DblClick(Sender: TObject);
begin
with Sender as TListBox do
begin
Mediaplayer1.FileName:=Items[ItemIndex];
Mediaplayer1.Open;
Mediaplayer1.Play;
end;
end;
procedure Theade.btn1Click(Sender: TObject);
begin
image6.Visible:=true;
if OpenDialog1.Execute then
begin
listbox1.Items.AddStrings(opendialog1.files);
MediaPlayer1.FileName:=OpenDialog1.FileName;
MediaPlayer1.Open;
Timer2.Enabled:=True;
ProgressBar1.max:=MediaPlayer1.Length;
k:= MediaPlayer1.Length div ProgressBar1.Width;
end;
end;
procedure Theade.btn2Click(Sender: TObject);
var
ii : integer;
begin
with ListBox1 do
begin
for ii := -1 + Items.Count downto 0 do
if Selected[ii] then Items.Delete(ii) ;
end;
end;
procedure Theade.btn3Click(Sender: TObject);
begin
listbox1.Items.Add(' ');
listbox1.Items.Add('___________NewPlayList____________');
end;
procedure Theade.btn4Click(Sender: TObject);
begin
ListBox1.Clear;
end;
procedure Theade.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Cursor:=crDefault;
end;
procedure Theade.image7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Cursor:=crHandPoint;
end;
procedure Theade.image7MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image7.Picture:=(sender as TImage).Picture;
end;
procedure Theade.btn5Click(Sender: TObject);
begin
WinExec('hh.exe DThelp.chm',SW_SHOW);
end;
procedure Theade.Button3Click(Sender: TObject);
begin
updates.show;
updates.Left:=(Screen.Width-updates.Width) div 2;
updates.Top:=(Screen.Height-updates.Height) div 2;
end;
procedure Theade.RadioButton6Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM афиша order by Data');
ADOQuery1.Active:=True;
end;
procedure Theade.RadioButton7Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM афиша order by Data desc');
ADOQuery1.Active:=True;
end;
procedure Theade.Button5Click(Sender: TObject);
begin
Edit2.Text:='<Nasvanie_spektaklya>';
Edit3.Text:='<Rejisser>';
Edit4.Text:='<Janr>';
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Афиша');
ADOQuery1.Active:=True;
RadioButton6.Checked:=False;
RadioButton7.Checked:=False;
end;
procedure Theade.Edit2Click(Sender: TObject);
begin
Edit2.Text:='';
Edit3.Text:='<Rejisser>';
Edit4.Text:='<Janr>';
end;
procedure Theade.Edit3Click(Sender: TObject);
begin
Edit2.Text:='<Nasvanie_spektaklya>';
Edit3.Text:='';
Edit4.Text:='<Janr>';
end;
procedure Theade.Edit4Click(Sender: TObject);
begin
Edit2.Text:='<Nasvanie_spektaklya>';
Edit3.Text:='<Rejisser>';
Edit4.Text:='';
end;
procedure Theade.Button4Click(Sender: TObject);
var ks:string;
begin
if Edit2.text<>'<Nazvanie_spektaklya>' then
begin
ks:=edit2.text+'%';
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Афиша WHERE Nazvanie_spektaklya like '+ QuotedStr(ks));
ADOQuery1.Active:=True;
end;
if Edit3.text<>'<Rejisser>' then
begin
ks:=edit3.text+'%';
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Афиша WHERE Rejisser like '+ QuotedStr(ks));
ADOQuery1.Active:=True;
end;
if Edit4.text<>'<Janr>' then
begin
ks:=edit4.text+'%';
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Афиша WHERE Janr like '+ QuotedStr(ks));
ADOQuery1.Active:=True;
end;
end;
end.
unit log;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls,
StdCtrls, Mask, Buttons, comobj, RpRave, RpDefine, RpCon, RpConDS, XPMan,
jpeg;
type
Tlog = class(TForm)
Button1: TButton;
Button2: TButton;
XPManifest1: TXPManifest;
Image1: TImage;
Label1: TLabel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
log: Tlog;
implementation
uses main;
{$R *.dfm}
procedure Tlog.Button1Click(Sender: TObject);
var a:string;
begin
a:='72305';
if Edit1.text=a then
heade.Show else
Application.MessageBox('Неверный пароль доступа!','Ошибка!',MB_ICONERROR);
end;
procedure Tlog.Button2Click(Sender: TObject);
begin
close;
heade.Close;
end;
procedure Tlog.FormCreate(Sender: TObject);
begin
log.Left:=(Screen.Width-log.Width) div 2;
log.Top:=(Screen.Height-log.Height) div 2;
end;
end.
unit historyT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls;
type
ThistoryT = class(TForm)
redt1: TRichEdit;
image2: TImage;
image3: TImage;
image4: TImage;
label2: TLabel;
label3: TLabel;
label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
historyT: ThistoryT;
implementation
uses main;
{$R *.dfm}
procedure ThistoryT.Button1Click(Sender: TObject);
Подобные документы
Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.
курсовая работа [880,1 K], добавлен 21.04.2015Особенности создания программы "Файловый менеджер" в среде объектно-ориентированного программирования Delphi. Назначение и основные функции программы, формулировка задачи. Описание программы, использованные компоненты, интерфейс и порядок применения.
контрольная работа [1,3 M], добавлен 19.06.2012Принципы разработки алгоритмов и программ на основе процедурного подхода и на основе объектно-ориентированного подхода. Реализация программы Borland Pascal 7.0, ее интерфейс. Разработка простой программы в среде визуального программирования Delphi.
отчет по практике [934,7 K], добавлен 25.03.2012Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.
курсовая работа [560,1 K], добавлен 18.07.2012Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.
курсовая работа [40,8 K], добавлен 15.07.2009Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.
реферат [21,0 K], добавлен 13.01.2015Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Разработка прикладной программы для операций создания и уничтожения объектов в системе визуального объектно-ориентированного программирования C++Builder. Алгоритм работы программы, набор функций и операторов, компонент и модулей, кнопки событий.
дипломная работа [672,5 K], добавлен 16.08.2012История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.
курсовая работа [970,5 K], добавлен 15.05.2014Методы грамматического разбора. Разработка структуры учебного транслятора на базовом языке программирования Object Pascal в среде объектно-ориентированного визуального программирования Borland DELPHI 6.0 с использованием операционной системы Windows XP.
курсовая работа [493,8 K], добавлен 12.05.2013