Эскиз и спецификация типовых объектов управления графического интерфейса - Курсовая работа

бесплатно 0
4.5 137
Разработка программы по оформлению заказов на билеты Оренбургского государственного областного драматического театра им. Горького. Использование объектно-ориентированного программирования и реализация проекта в среде визуального программирования Delphi 7.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
К основным характеристикам функциональных задач относят: цель и назначение задачи, ее место и связь с другими задачами: разработанная программа будет производить работу с клиентами, а именно будет обеспечивать доступ к информации об услугах, оказываемых учреждением ГУК «Оренбургский государственный областной драматический театр им. условия решения задачи с использованием средств вычислительной техники: программа разработана в среде программирования Delphi 7 на компьютере имеющим следующие технические данные: имя ОС - Microsoft Windows 7; В данной программе используются следующие функции: хранение информации о спектаклях, редактирование этой информации при изменении репертуара (при формировании новых услуг или мероприятий); В программе должна быть предусмотрена справка, которая подробно описывает принципы работы программы. Для того чтобы осуществить оформление билета необходимо зайти во вкладку «Печать» и ввести данные, если не совершено никаких ошибок ввода, программа занесет данные, иначе выдаст сообщение об ошибке.Результатом данного курсового проекта является создание рабочей программы по оформлению заказов билетов ГУК «Оренбургский государственный областной драматический театр им. Во время создания курсового проекта были подробно изучены компоненты Delphi, которые необходимы для разработки программы «Dramteatr».

Введение
программирование 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) Image - компонент визуальный. Он отображает графическое изображение на форме, воспринимает форматы 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) Radiobutton - это тип кнопки, которая используется в группе и служит для выбора одного из предлагаемых вариантов;

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) Error (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 k0 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=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:="";

Edit3.Text:="";

Edit4.Text:="";

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:="";

Edit4.Text:="";

end;

procedure Theade.Edit3Click(Sender: TOBJECT);

begin

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Theade.Edit4Click(Sender: TOBJECT);

begin

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Theade.Button4Click(Sender: TOBJECT);

var ks:string;

begin if Edit2.text"" 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"" 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"" 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);

begin

HISTORYT.Close;

end;

end. unit partners;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, STDCTRLS, COMCTRLS, jpeg, EXTCTRLS;

type

Tpartners = class(TFORM)

RICHEDIT1: TRICHEDIT;

Button1: TBUTTON;

image3: TIMAGE;

procedure Button1Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var partners: Tpartners;

implementation uses main;

{$R *.dfm} procedure Tpartners.Button1Click(Sender: TOBJECT);

begin partners.Close;

end;

end. unit repertory;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGRIDS, ADODB, jpeg, EXTCTRLS, STDCTRLS, DBCTRLS, GRIDSEH, DBGRIDEH;

type

Trepertory = class(TFORM)

Button1: TBUTTON;

dbnvgr1: TDBNAVIGATOR;

image2: TIMAGE;

DBGRIDEH1: TDBGRIDEH;

DATASOURCE1: TDATASOURCE;

ADOCONNECTION1: TADOCONNECTION;

ADOQUERY1: TADOQUERY;

grp1: TGROUPBOX;

RADIOBUTTON1: TRADIOBUTTON;

RADIOBUTTON2: TRADIOBUTTON;

grp2: TGROUPBOX;

RADIOBUTTON3: TRADIOBUTTON;

RADIOBUTTON4: TRADIOBUTTON;

label2: TLABEL;

Button2: TBUTTON;

Edit1: TEDIT;

Edit2: TEDIT;

Edit3: TEDIT;

Edit4: TEDIT;

Button3: TBUTTON;

procedure Button1Click(Sender: TOBJECT);

procedure FORMCREATE(Sender: TOBJECT);

procedure RADIOBUTTON1Click(Sender: TOBJECT);

procedure RADIOBUTTON2Click(Sender: TOBJECT);

procedure RADIOBUTTON3Click(Sender: TOBJECT);

procedure RADIOBUTTON4Click(Sender: TOBJECT);

procedure Button2Click(Sender: TOBJECT);

procedure Edit1Click(Sender: TOBJECT);

procedure Edit2Click(Sender: TOBJECT);

procedure Edit3Click(Sender: TOBJECT);

procedure Edit4Click(Sender: TOBJECT);

procedure Button3Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var repertory: Trepertory;

implementation uses main;

{$R *.dfm} procedure Trepertory.Button1Click(Sender: TOBJECT);

begin repertory.Close;

end;

procedure Trepertory.FORMCREATE(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM репертуар ");

ADOQUERY1.Active:=True;

end;

procedure Trepertory.RADIOBUTTON1Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM репертуар order by Data_premyeri");

ADOQUERY1.Active:=True;

end;

procedure Trepertory.RADIOBUTTON2Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM репертуар order by Data_premyeri desc");

ADOQUERY1.Active:=True;

end;

procedure Trepertory.RADIOBUTTON3Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM репертуар order by Nazvanie_spektaklya");

ADOQUERY1.Active:=True;

end;

procedure Trepertory.RADIOBUTTON4Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM репертуар order by Nazvanie_spektaklya desc");

ADOQUERY1.Active:=True;

end;

procedure Trepertory.Button2Click(Sender: TOBJECT);

var god,ks:string; nach,kon:tdate;

begin if Edit1.Text"" then begin god:=edit1.text;

delete(god,1,length(god)-4);

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM Репертуар WHERE data_premyeri between :nach and :kon");

ADOQUERY1.Parameters.Parambyname("nach").value:=strtodate("01.01." god);

ADOQUERY1.Parameters.PARAMBYNAME("kon").value:=strtodate("31.12." god);

Adoquery1.open;

ADOQUERY1.Active:=True;

end;

if Edit2.text"" 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"" 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"" 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;

procedure Trepertory.Edit1Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Trepertory.Edit2Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Trepertory.Edit3Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Trepertory.Edit4Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

end;

procedure Trepertory.Button3Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

Edit3.Text:="";

Edit4.Text:="";

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM Репертуар");

ADOQUERY1.Active:=True;

RADIOBUTTON1.Checked:=False;

RADIOBUTTON2.Checked:=False;

RADIOBUTTON3.Checked:=False;

RADIOBUTTON4.Checked:=False;

end;

end. unit troupe;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGRIDS, ADODB, jpeg, EXTCTRLS, STDCTRLS, DBCTRLS, GRIDSEH, DBGRIDEH;

type

Ttroupe = class(TFORM)

ADOCONNECTION1: TADOCONNECTION;

DATASOURCE1: TDATASOURCE;

Button1: TBUTTON;

dbnvgr1: TDBNAVIGATOR;

image2: TIMAGE;

DBGRIDEH1: TDBGRIDEH;

ADOQUERY1: TADOQUERY;

grp1: TGROUPBOX;

RADIOBUTTON1: TRADIOBUTTON;

RADIOBUTTON2: TRADIOBUTTON;

label2: TLABEL;

Edit1: TEDIT;

Button2: TBUTTON;

Edit2: TEDIT;

Button3: TBUTTON;

procedure Button1Click(Sender: TOBJECT);

procedure Button2Click(Sender: TOBJECT);

procedure FORMCREATE(Sender: TOBJECT);

procedure RADIOBUTTON1Click(Sender: TOBJECT);

procedure RADIOBUTTON2Click(Sender: TOBJECT);

procedure Edit1Click(Sender: TOBJECT);

procedure Edit2Click(Sender: TOBJECT);

procedure Button3Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var troupe: Ttroupe;

implementation uses main;

{$R *.dfm} procedure Ttroupe.Button1Click(Sender: TOBJECT);

begin troupe.Close;

end;

procedure Ttroupe.Button2Click(Sender: TOBJECT);

var ks:string;

begin if Edit1.text"" then begin ks:=edit1.text "%";

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM Труппа WHERE Status like " QUOTEDSTR(ks));

ADOQUERY1.Active:=True;

end;

if Edit2.text"" then begin ks:=edit2.text "%";

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM Труппа WHERE FIO like " QUOTEDSTR(ks));

ADOQUERY1.Active:=True;

end;

end;

procedure Ttroupe.FORMCREATE(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM труппа ");

ADOQUERY1.Active:=True;

end;

procedure Ttroupe.RADIOBUTTON1Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM труппа order by FIO");

ADOQUERY1.Active:=True;

end;

procedure Ttroupe.RADIOBUTTON2Click(Sender: TOBJECT);

begin

ADOQUERY1.Active:=false;

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM труппа order by FIO desc");

ADOQUERY1.Active:=True;

end;

procedure Ttroupe.Edit1Click(Sender: TOBJECT);

begin

Edit1.Text:="";

Edit2.Text:="";

end;

procedure Ttroupe.Edit2Click(Sender: TOBJECT);

begin

Edit2.Text:="";

Edit1.Text:="";

end;

procedure Ttroupe.Button3Click(Sender: TOBJECT);

begin

Edit2.Text:="";

Edit1.Text:="";

ADOQUERY1.SQL.Clear;

ADOQUERY1.SQL.Add("SELECT * FROM труппа");

ADOQUERY1.Active:=True;

RADIOBUTTON1.Checked:=False;

RADIOBUTTON2.Checked:=False;

end;

end. unit Ttoday;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, STDCTRLS, jpeg, EXTCTRLS, COMCTRLS;

type

TTTODAY = 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

Ttoday: TTTODAY;

implementation uses main;

{$R *.dfm} procedure TTTODAY.Button1Click(Sender: TOBJECT);

begin

Ttoday.Close;

end;

end. unit updates;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, EXTCTRLS, jpeg, STDCTRLS;

type

Tupdates = class(TFORM) image2: TIMAGE;

Panel1: TPANEL;

Button1: TBUTTON;

procedure Button1Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var updates: Tupdates;

implementation

{$R *.dfm} procedure Tupdates.Button1Click(Sender: TOBJECT);

begin updates.Close;

end;

end. unit coordinates;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, EXTCTRLS, STDCTRLS;

type

Tcoordinates = class(TFORM) label3: TLABEL;

image3: TIMAGE;

Button1: TBUTTON;

PRINTDIALOG1: TPRINTDIALOG;

Button2: TBUTTON;

image2: TIMAGE;

procedure Button1Click(Sender: TOBJECT);

procedure Button2Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var coordinates: Tcoordinates;

implementation uses main;

{$R *.dfm} procedure Tcoordinates.Button1Click(Sender: TOBJECT);

begin

PRINTDIALOG1.Execute;

end;

procedure Tcoordinates.Button2Click(Sender: TOBJECT);

begin coordinates.Close;

end;

end. unit card;

interface uses

Windows, Messages, SYSUTILS, Variants, Classes, Graphics, Controls, Forms, Dialogs, STDCTRLS, jpeg, EXTCTRLS, OLECTNRS, COMOBJ;

type

Tcard = class(TFORM)

Button1: TBUTTON;

Button2: TBUTTON;

PRINTDIALOG1: TPRINTDIALOG;

image2: TIMAGE;

image3: TIMAGE;

label2: TLABEL;

label3: TLABEL;

label4: TLABEL;

label5: TLABEL;

label6: TLABEL;

procedure Button1Click(Sender: TOBJECT);

procedure Button2Click(Sender: TOBJECT);

procedure FORMACTIVATE(Sender: TOBJECT);

procedure image3Click(Sender: TOBJECT);

private

{ Private declarations } public

{ Public declarations } end;

var card: Tcard;

implementation uses main;

{$R *.dfm} procedure Tcard.Button1Click(Sender: TOBJECT);

begin card.Close;

heade.Button8.Enabled:=False;

heade.Edit1.Text:="";

heade.COMBOBOX1.Text:="Ряд";

heade.cbb1.Text:="";

heade.RADIOBUTTON1.Checked:=false;

heade.RADIOBUTTON2.Checked:=false;

heade.RADIOBUTTON3.Checked:=false;

heade.RADIOBUTTON4.Checked:=false;

heade.RADIOBUTTON5.Checked:=false;

label2.caption:="Выбранные места: ";

label3.caption:=heade.radiobutton2.caption;

label3.caption:=heade.radiobutton3.caption;

label3.caption:=heade.radiobutton4.caption;

label3.caption:=heade.radiobutton5.caption;

label4.Caption:="Ряд: ";

label5.Caption:="Дата и название спектакля: ";

label6.Caption:="Цена: ";

end;

procedure Tcard.Button2Click(Sender: TOBJECT);

begin

PRINTDIALOG1.Execute;

end;

procedure Tcard.FORMACTIVATE(Sender: TOBJECT);

var c:integer; k,i:byte;

begin label2.caption:=label2.caption heade.edit1.text;

if heade.radiobutton1.checked=true then begin label3.caption:=heade.radiobutton1.caption;

c:=400;

end;

if heade.radiobutton2.checked=true then begin label3.caption:=heade.radiobutton2.caption;

c:=300;

end;

if heade.radiobutton3.checked=true then begin label3.caption:=heade.radiobutton3.caption;

c:=200;

end;

if heade.radiobutton4.checked=true then begin label3.caption:=heade.radiobutton4.caption;

c:=100;

end;

if heade.radiobutton5.checked=true then begin label3.caption:=heade.radiobutton5.caption;

c:=500;

end;

k:=1;

for i:=1 to length(heade.edit1.text) do if (heade.edit1.text[i]=",")or(heade.edit1.text[i]=".") then k:=k 1;

label4.Caption:=label4.Caption heade.combobox1.text;

label5.Caption:=label5.caption heade.cbb1.Text;

label6.Caption:=label6.caption inttostr(c*k) " руб.";

end;

procedure Tcard.image3Click(Sender: TOBJECT);

var

WORDAPP, doc:Variant;

begin

WORDAPP:= CREATEOLEOBJECT("Word.Application");

doc:=WORDAPP.documents.Open((EXTRACTFILEPATH(application.exename)) "Отчет о билетах.rtf");

WORDAPP.ACTIVEDOCUMENT.SAVEAS((EXTRACTFILEPATH(application.exename)) "Отчет о билетах.rtf");

Wordapp.Visible:=true;

WORDAPP.ACTIVEDOCUMENT.range.insertafter ("[Билет продан: " datetostr(Date) " / "

timetostr(GETTIME) "]" #10);

WORDAPP.ACTIVEDOCUMENT.range.insertafter(Label5.Caption #10);

WORDAPP.ACTIVEDOCUMENT.range.insertafter(Label2.Caption #10);

WORDAPP.ACTIVEDOCUMENT.range.insertafter(Label3.Caption #10);

WORDAPP.ACTIVEDOCUMENT.range.insertafter(Label4.Caption #10);

WORDAPP.ACTIVEDOCUMENT.range.insertafter(Label6.Caption #10#13);

end;

end.

Размещено на .ru

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?