курсовые,контрольные,дипломы,рефераты
Государственное образовательное учреждение
среднего профессионального образования
«Курганский технологический колледж»
Зав. отд. Шульгина Н.С. __________________
“____ “_________2007 г. “___”________2007 г.
БАЗА ДАННЫХ «ПРИЕМНАЯ КОМИССИЯ»
КТК.230105.464.5234
Студент Качесов Андрей Андреевич
Руководитель преподаватель Колотовкина Елена Юрьевна
Консультант по экономической части методист
Метелица Виктория Викторовна
Нормоконтролер преподаватель Колотовкина Елена Юрьевна
Рецензент зам директора по УОР Сенькин Вадим Владимирович
Курган,
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1 ОБЩАЯ ЧАСТЬ
1.1. Назначение и область применения
1.2. Технические характеристики
2.2.1 Постановка задачи
2.2.2 Описание алгоритма
2.2.3 Описание и обоснование выбора метода организации входных и выходных данных
2.2.4 Описание и обоснования выбора состава технических и программных средств
2 СПЕЦИАЛЬНАЯ ЧАСТЬ
2.1. Описание программы и её применение
2.2.2 Описание логики
2.2.3 Программа и методика испытания
2.1. Инструкция по эксплуатации и применению
3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ
4 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
ЗАКЛЮЧЕНИЕ
ИСТОЧНИКИ, ИСПОЛЬЗОВАННЫЕ ПРИ РАЗРАБОТКЕ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
Компьютеры в 21 веке используются для решения различных задач, в том числе:
- вычислительных задач;
- формирования статистических данных;
- автоматизации производства и т.д.
Системы управления базами данных (СУБД) – это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных.
После ввода записей в базу данных программа СУБД может использоваться для практических целей. При этом в распоряжении пользователя находится весь набор функциональных возможностей, обеспечиваемых командами, которые предоставляет СУБД.
Цель дипломного проекта – создание базы данных, которая частично автоматизирует обработку информации, для Негосударственного образовательного учреждения «Межотраслевой региональный центр повышения квалификации и переподготовки кадров».
Из указанной цели вытекают следующие задачи:
- разработка пользовательского интерфейса;
- автоматизация составления договора;
- создание такой БД, чтобы её можно было использовать для других целей;
- организация отчётов.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
3 |
ВВЕДЕНИЕ |
Разраб. |
Качесов А.А. |
Провер. |
Колотовкина Е.Ю |
Реценз. |
Сенькин В.В. |
Н. Контр. |
Колотовкина Е.Ю |
Утверд. |
Шульгина Н.С. |
База данных "Приемная комиссия" |
Лит. |
Листов |
88 |
КТК.464 |
1 ОБЩАЯ ЧАСТЬ
1.1 Назначение и область применения
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
4 |
КТК.230105.464.5234.ПЗ |
Процесс автоматизации представляет собой совокупность методических, технических и программных средств, позволяющих организовать работу пользователей в некоторой предметной области. Основные преимущества автоматизации проявляются там, где приходится выполнять повторяющиеся задачи, предусматривающие запрограммированные решения, в данном случае составление договора, с определенным набором реквизитов.
Задача данного программного продукта – автоматизация рабочего места сотрудника НОУ «МРЦПК» по приему новых слушателей.
Автоматизация включает в себя:
- ведение списка слушателей;
- ведение списка специальностей;
- создание отчетов по слушателям и специальностям;
- создание автоматически заполняемого договора;
- формирование списка посещаемости;
- формирование списка слушателей зачисленных в определенную группу;
- формирование списка по выбранной специальности.
1.2 Технические характеристики
1.2.1 Постановка задачи
Автоматизация рабочего места сотрудника по приему новых слушателей заключается в создании приложения, позволяющего автоматически составлять договоры слушателей курсов. Для достижения этих целей необходимо решить следующие задачи:
- разработать структуру базы данных;
- реализовать формирование отчетной документации для составления договоров, списков групп слушателей;
- разработать интуитивно понятный пользовательский интерфейс.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
5 |
КТК.230105.464.5234.ПЗ |
1.2.2 Описание алгоритма
Алгоритм – это последовательность действий, приводящих к решению поставленной задачи. При работе с данной программой пользователь выполняет следующие действия для формирования договора слушателя курса:
- заполняет необходимые данные для формирования отчета, такие как ФИО заказчика и слушателя и т.д.
- выбирается специальность, на которую направляется слушатель.
- если есть возможность, то можно выбрать скидку на предоставляемые специальности.
- выбирается период в котором будет обучаться слушатель.
Для формирования списка группы слушателей выполняются следующие действия:
- выбирается специальность, по которой формируется список.
- выбирается период, за который следует отбирать слушателей
- на основе выбранных данных формируется список, из которого исключать любого слушателя.
- после выбора необходимого количества слушателей, возможно, сформировать ведомость посещаемости и обычный список группы.
1.2.3 Описание и обоснование выбора метода организации входных и выходных данных
Разработанная база данных может обрабатывать входные и выходные данные.
К входным данным относятся информация, которая хранится в базе данных, эти данные могут, изменяются по мере использования программы. Выходными данными, то есть результатом функционирования программы является составление отчетов, экспортируемых в MS Word.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
6 |
КТК.230105.464.5234.ПЗ |
1.2.4 Описание и обоснования выбора состава технических и программных средств
Для разработки программно продукта был использован язык программирования Delphi.
Интерфейс приложения был определен с помощью стандартных VCL компонентов, поставляемых в составе Borland Delphi 7 Enterprise и дополнительной библиотеки компонентов RX Library 2.75, в частности использовался компонент TAppEvents, в место стандартного TApplicationEvents.
Библиотека визуальных компонентов (Visual Component Library - VCL) Delphi широкий выбор предопределенных типов компонентов, из которых пользователь может строить свою прикладную программу.
Возможности и функции программы целиком и полностью зависят от написанных процедур.
Интегрированная Среда Разработки (Integrated Development Environment - IDE) - это среда, в которой есть все необходимое для проектирования, запуска и тестирования приложений и где все нацелено на облегчение процесса создания программ. IDE интегрирует в себе редактор кодов, отладчик, инструментальные панели, редактор изображений, инструментарий баз данных — все, с чем приходится работать.
Наряду с традиционными инструментами доступа к данным Borland Database Engine и ODBC в приложениях Delphi можно применять технологию Microsoft ActiveX Data Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.
Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных и, конечно, установленная ADO.
В Палитре компонентов Delphi есть страница ADO, содержащая набор компонентов, позволяющих создавать полноценные приложения БД, обращающиеся к данным через ADO. И для выполнения своего дипломного проекта я выбрал именно этот способ соединения хранилища базы данных с моей программой.
Технология Microsoft ActiveX Data Objects обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.
Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов (рис. 1.1). Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
7 |
КТК.230105.464.5234.ПЗ |
Рисунок 1.1 - Схема доступа к данным через ADO
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
8 |
КТК.230105.464.5234.ПЗ |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КТК.230105.464.5234.ПЗ |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
9 |
КТК.230105.464.5234.ПЗ |
2.1. Описание программы и её применение
2.2.2 Описание логики
Рисунок 2.1 - Схема данных
На рисунке 2.1 изображена схема данных в моей базе данных. Из данной схемы видно, что таблицы «Специальности» и «Слушатели» связаны между собой в отношении один ко многим.
На рисунке 2.2 изображенном ниже можно увидеть логику построения договора, путем экспорта в Microsoft Word.
Начало |
Загрузка имени файла бланка договора из таблицы «Специальности» |
Имя поля пусто или заданный файл не найден |
Бланк договора выбирается по умолчанию |
Файл бланка договора берется из БД |
Заданный файл не найден |
Сообщение «Файл бланка договора не найден» |
Конец |
Вставка данных в документ |
Вставка данных невозможна |
Сообщение «Невозможно добавить данные» |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
10 |
КТК.230105.464.5234.ПЗ |
В данной программе автоматически строка с числом переводилась в сумму прописью, данная функция выложена в Приложении А.
2.2.3 Программа и методика испытания
Для запуска программы запустите исполняемый файл с именем DataBase.exe из директорию, в которую вы установили программу, или запустите ярлык «БД – Приемная комиссия» с рабочего стола. После запуска про
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
11 |
КТК.230105.464.5234.ПЗ |
Рисунок 2.3 – Загрузка программы
После достижения индикатора 100% произойдет запуск программы и появится главное окно программы (Рис. 2.4). Из данного окна можно осуществлять управление программой.
Рисунок 2.4 – Главное окно программы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
КТК.230105.464.5234.ПЗ |
Тестирование программы проводилось как во время разработки и отладки приложения, так и после завершения работы над созданием программного продукта. Во время испытаний в программу вводились как ошибочные и верные значения, так и в комбинации с ошибочными и верными значениями. За время тестирования, в случаях ввода ошибочных значений, программа выводила информационные сообщения, для исправления или источника ошибки, а также предлагает способы устранения ошибки. Вся работа программы отлавливается блоком исключительных ситуаций и выводит соответствующие сообщения. Такие ошибки возможные в случае конфликта с операционной системой или другими приложениями. Во время тестирования ни одна такая ошибка, ни была замечена.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
12 |
КТК.230105.464.5234.ПЗ |
2.1. Инструкция по эксплуатации и применению
Для установки программы запустите файл Setup.exe. После запуска появится следующее окно:
Рисунок 2.5 – Начало установки программы
После чего следует нажать на кнопку «Далее >» и вы перейдете к следующему шагу в установке. Если вы не хотите продолжать установку можете в любой момент отменить её нажав на кнопку «Отмена». Далее следует прочитать и принять лицензионное соглашение (Рис. 2.6), предусмотренное для большинства современных FREEWARE программ.
Рисунок 2.6 – Лицензионное соглашение
Для того чтобы перейти к следующему шагу, нужно принять условия соглашения, и тогда станет доступна кнопка «Далее >»
Далее следует файл с README (Рис 2.7) из которого можно узнать возможности программы, системные требования и т.д.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
13 |
КТК.230105.464.5234.ПЗ |
Рисунок 2.7 – Важная информация из файла README
Далее появится следующее окно (Рис. 2.8), в котором можно выбрать путь для установки программы.
Рисунок 2.8 – Окно для выбора директории установки программы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
14 |
КТК.230105.464.5234.ПЗ |
В следующем окне (Рис. 2.9) можно выбрать, как будет называться папка в меню «Пуск».
Рисунок 2.9 – Окно создания ярлыка в меню «Пуск»
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
15 |
КТК.230105.464.5234.ПЗ |
Далее есть возможность выбрать создавать ли ярлык на рабочем столе (Рис. 2.10)
Рисунок 2.10 – Окно выбора создания ярлыка на Рабочем столе
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
16 |
КТК.230105.464.5234.ПЗ |
В следующем окне (Рис. 2.11) появится сводная информация о параметрах установки и прочем. Для подтверждения нажмите кнопку «Установить».
Рисунок 2.11 – Подтверждение установки программы
Сразу после подтверждения начнется установка программы по заданным ранее параметрам. Ход выполнения установки отображается в виде прогресса и пояснения выполняемых действий (Рис. 2.12).
Рисунок 2.12 – Ход установки программы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
17 |
КТК.230105.464.5234.ПЗ |
В конце установки появится следующее окно (Рис. 2.13), на котором можно выбрать что следует сделать после завершения установки программы: например можно запустить установленную программу или посмотреть файл README.
Рисунок 2.13 – Завершение установки
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
18 |
КТК.230105.464.5234.ПЗ |
Если после установки программы вы не стали запускать программу, то для запуска программы запустите исполняемый файл с именем DataBase.exe из директорию в которую вы установили программу, или запустите ярлык «БД – Приемная комиссия» с рабочего стола или же эквивалентный ему в меню «Пуск». После запуска программы появляется окно процесса загрузки программы, из данного окна (Рис. 2.3) можно видеть, сколько осталось до конца загрузки.
После достижения индикатора 100% произойдет запуск программы и появится главное окно программы (Рис. 2.4). Из данного окна можно осуществлять управление программой.
Данное окно содержит следующие элементы:
- Главное меню, из которого доступно полное управление программой;
Рисунок 2.14 – Главное меню
- Панель быстрого доступа, с помощью нее осуществляется вызов часто используемых команд меню;
Рисунок 2.15 – Панель быстрого доступа
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
19 |
КТК.230105.464.5234.ПЗ |
Почти для каждой кнопки из панели быстрого доступа возможно эквивалентное сочетание клавиш, для быстрого вызова.
- Строка состояния, данная строка отображается расширенные подсказки, для основных меню, кнопок и прочих элементов управления. Также на ней отображается ход процесса создание отчетов экспортируемых в Word. Так в статусной строке можно обнаружить отображение текущей даты и времени (данные берутся из системного времени установленного в вашей операционной системе).
Рисунок 2.16 – Строка состояния
Основная цель при создании программы – распечатка договора согласно заданного бланка договора. Для того чтобы начать оформление нового слушателя необходимо вызвать меню Файл/Создать/Договор. У вас появится следующее окно (Рис. 2.17):
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
Рисунок 2.17 – Окно свойств создания нового договора
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
20 |
КТК.230105.464.5234.ПЗ |
Далее будет расписано, в какое поле что вводится:
1 – вводится номер договора, любое целое число.
2 – дата создания договора, можно вписать вручную, а также при нажатии на кнопку рядом с полем появляется встроенный календарь из которого можно выбрать любую дату. По умолчанию при создании договора появляется системная дата.
3, 4, 5 – вводятся Фамилия, Имя и Отчество заказчика, соответственно.
6 – вводится дата рождения заказчика.
7, 8 – вводятся паспортные данные серия и номер, соответственно. Серия паспорта состоит из четырех цифр разделенных между собой пробелом, но в данном случае они вводятся подряд. Номер паспорта состоит из 6 шести цифр.
9 – вводятся данные о том кем выдан паспорт.
10 – дата выдачи паспорта. Выбор можно осуществлять аналогично, как и в любом другом поле с выбором даты.
11 – прописка заказчика, эти данные берутся из паспорта.
12 – ФИО слушателя, данной поле не обязательно должно совпадать с ФИО заказчика.
13 – контактный телефон. Телефон по которому всегда можно связаться с заказчиком.
14 – специальность выбирается из выпадающего списка и количество специальностей полностью зависит, от того сколько их имеется в базе данных.
15 – дата выплаты суммы, указывается дата до которой заказчик обязан полностью оплатить сумму оплаты за обучение.
16 – скидка на обучение. Скидка на обучение предоставляется не на все специальности, если поле с выбором специальности не доступно значит, скидка на данную специальность не предоставляется.
17, 18 – дата начала и конца обучения. Данные поля заполняются для того чтобы сформировать список группы.
19 – в данное поле выводится информация о том какая выбрана специальность (её полное наименование), стоимость и продолжительность обучения.
20 – кнопка «Просмотр», позволяет экспортировать данные в Microsoft Word, для возможной печати. Процесс формировании договора можно наблюдать в строке состояния главного окна программы (Рис. 2.18)
Рисунок 2.18 - Процесс формировании договора
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
21 |
КТК.230105.464.5234.ПЗ |
21 – кнопка «ОК» позволяет сохранить сделанные изменения либо в случае добавления новой записи – добавить её в базу данных.
22 – кнопка «Отмена» позволяет отменить сделанные изменения, в случаях редактирования записи. В случае добавления новой записи данная кнопка отменяет создание записи.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Рисунок 2.19 – Окно свойств новой специальности
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
22 |
КТК.230105.464.5234.ПЗ |
Далее будет расписано, в какое поле что вводится:
1 - № п/п вводится для порядка формирования списка.
2 – наименование, необходимо для четкого определения наименования специальности, возможно с шифром.
3 – полное наименование, эти данные вставляются при оформлении договора и формировании группы.
4 – плата за месяц, или определенный период, в зависимости от того какой используется бланк договора.
5 – плата за все обучение, плата за все обучение недоступно пока вы не введете плату за месяц.
6 – плата за месяц, или определенный период, в случае, когда имеется скидка, данное поле может быть пустым, если на данную специальность скидка не предоставляется.
7 – плата за все обучение, плата за все обучение недоступно пока вы не введете плату за месяц.
8 – продолжительность обучения, данное значение может измеряться в любой единицы измерения.
9 – общее количество часов.
10 – файл бланка договора, в данном поле указывается полный путь до бланка с договором, если поле пусто, то в качестве бланка используется файл по умолчанию.
11 – кнопка «С» очищает значение 10 поля.
12 – кнопка «Обзор» позволяет выбрать файл бланка договора с помощью стандартного диалога выбора файла (Рис. 2.20).
Рисунок 2.20 – Выбор файла бланка договора
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
23 |
КТК.230105.464.5234.ПЗ |
13 – кнопка «ОК» позволяет сохранить все изменения в случае редактирование существующей записи или добавить введенные данные в БД, в случае добавления новой записи.
14 – кнопка «Отмена» позволяет отменить все сделанные изменения в случае редактирования существующей записи или отменить создание записи в случае добавления новой записи.
Для просмотра списка заключенных договоров необходимо выполнить команду Списки/Договора, после чего должно появиться следующее окно (Рис. 2.21):
Рисунок 2.21 – Список слушателей
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
24 |
КТК.230105.464.5234.ПЗ |
Из данного окна возможны любые манипуляции с записями, такие как добавление, редактирование, удаление, поиск и сортировка, также все эти команды доступны в меню «Правка» главного окна. Для того чтобы добавить новую запись достаточно нажать клавишу Ins, нажать кнопку «Новый слушатель» (Рис. 2.22)
Рисунок 2.22 – Кнопка новый договор
также можно выбрать команду Правка/Новый договор…, во всех случаях произойдут одни и те же действия, вызовется окно создания договора (добавления нового слушателя). Для редактирования записи можно воспользоваться клавишей Enter, нажать на кнопку «Редактировать данные» (Рис. 2.23)
Рисунок 2.23 – Кнопка редактирования данных
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
25 |
КТК.230105.464.5234.ПЗ |
также можно выбрать команду Правка/Редактирование договора…, во всех случаях произойдут одни и те же действия, вызовется окно редактирования договора. Для удаления записи можно воспользоваться клавишей Delete, или же нажать на кнопку «Удалить договор» (Рис. 2.24)
Рисунок 2.24 – Кнопка удалить договор
также можно выбрать команду Правка/Удалить договор, во всех случаях произойдут одни и те же действия, вызовется запрос на удаление записи. Также возможно формирование списка всех договоров, без фильтрации. Для этого нужно нажать клавишу F5 или кнопку «Экспорт списка в MS Word» (Рис 2.25)
Рисунок 2.25 – Кнопка экспорта списка в MS Word
также можно выбрать команду Правка/ Экспорт списка в MS Word, во всех случаях произойдут одни и те же действия, начнется формирование списка для экспорта. Процесс создания списка можно наблюдать в строке состояния (Рис. 2.26)
Рисунок 2.26 – Прогресс экспорта списка договоров в MS Word
В данном окне также возможен поиск данных, окно поиска представлено ниже (Рис 2.27)
Рисунок 2.27 – Окно поиска данных
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
26 |
КТК.230105.464.5234.ПЗ |
Поиск можно осуществлять по следующим критериям:
- по номеру договора
- по дате оформления договора
- по фамилии заказчика
- по ФИО слушателя
для поиска нужных данных необходимо заполнить поле ввода, затем выбрать нужный критерий поиска и нажать на кнопку «Найти».
Для просмотра списка специальностей необходимо выполнить команду Списки/Специальности, после чего должно появиться следующее окно (Рис. 2.28):
Рисунок 2.28 – Список специальностей
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
27 |
КТК.230105.464.5234.ПЗ |
Из данного окна возможны любые манипуляции с записями, такие как добавление, редактирование, удаление, также все эти команды доступны в меню «Правка» главного окна. Для того чтобы добавить новую запись достаточно нажать клавишу Ins, нажать кнопку «Новая специальность» (Рис. 2.29)
Рисунок 2.29 – Кнопка новая специальность
также можно выбрать команду Правка/Новая специальность…, во всех случаях произойдут одни и те же действия, вызовется окно создания новой специальности. Для редактирования записи можно воспользоваться клавишей Enter, нажать на кнопку «Редактировать данные» (Рис. 2.30)
Рисунок 2.30 – Кнопка редактирования данных
также можно выбрать команду Правка/Редактирование специальности…, во всех случаях произойдут одни и те же действия, вызовется окно редактирования договора. Для удаления записи можно воспользоваться клавишей Delete, или же нажать на кнопку «Удалить специальность» (Рис. 2.31)
Рисунок 2.31 – Кнопка удалить специальность
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
28 |
КТК.230105.464.5234.ПЗ |
также можно выбрать команду Правка/Удалить специальность, во всех случаях произойдут одни и те же действия, вызовется запрос на удаление записи. Также возможно формирование прайс-листа. Для этого нужно нажать клавишу F5 или кнопку «Экспорт списка в MS Word» (Рис 2.32)
Рисунок 2.32 – Кнопка экспорта списка в MS Word
также можно выбрать команду Правка/ Экспорт списка в MS Word, во всех случаях произойдут одни и те же действия, начнется формирование списка для экспорта. Процесс создания списка можно наблюдать в строке состояния (Рис. 2.33)
Рисунок 2.33 - Процесс создания прайс-листа
Также в программе возможно формирование списка группы и списка посещаемости для отобранной группы. Для того чтобы сформировать группу, необходимо выполнить команду Сервис/Сформировать список группы. После чего появляется следующее окно (Рис. 2.34):
Рисунок 2.34 – Формирование списка группы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
29 |
КТК.230105.464.5234.ПЗ |
Для формирования договора, необходимо определить существенные реквизиты со стороны исполнителя договора, для того чтобы заполнить реквизиты предприятия, необходимо выполнить команду Сервис/Реквизиты. После чего появится следующее окно (Рис. 2.35):
Рисунок 2.35 – Окно реквизитов предприятия – исполнителя
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
30 |
КТК.230105.464.5234.ПЗ |
В программе предусмотрена настройка, под свое удобство или функциональность. Вызова окна настроек программы выполните команду Сервис/Параметры, после выполнения данной команды появится следующее окно (Рис. 2.36):
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
31 |
КТК.230105.464.5234.ПЗ |
Для выхода из программы предусмотрено команда Файл/Выход или же стандартный способ выхода из приложения. Перед выходом из программы программа проверяет каталог Doc в директории программы на наличие файлов с расширением *.doc, и если таковые имеются то запрашивается запрос на удаление данных файлов, если нет то просто происходит запрос на выход из программы.
3. ЭКОНОМИЧЕСКАЯ ЧАСТЬ
3.1 Технико-экономическое обоснование проекта
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
32 |
КТК.230105.464.5234.ПЗ |
Экономический эффект от внедрения вычислительной и организационной техники подразделяют на прямой и косвенный эффект.
Под прямой экономической эффективностью понимают экономию материальных, трудовых ресурсов и денежных средств, получаемую в результате сокращения численности управленческого персонала, фонда заработной платы, расхода основных и вспомогательных материалов вследствие автоматизации конкретных видов планово-учетных и аналитических работ.
Не исключено, что внедрение ИТ на первом этапе не приведет к уменьшению числа работников. В этом случае учитывают косвенную эффективность, проявляющуюся в конечных результатах деятельности. Ее локальными критериями могут быть:
- сокращение сроков составления сводок;
- повышение качества планово-учетных и аналитических работ;
- сокращение документооборота;
- повышение культуры и производительности труда и т.д.
Основным же показателем является повышения качества, которое, как и прямой экономический эффект, ведет к экономии живого и овеществленного труда, оба вида рассмотренной эффективности взаимосвязаны.
Таблица 3.1 – Основные показатели сравнительного анализа вариантов
Показатели |
Единица измерения |
Варианты |
Результаты сравнения: Повышение (+) Понижение (-) |
|
Базовый |
Проектируемый |
|||
Уровень материальных затрат до внедрения проектных мероприятий |
Руб./год |
2000 |
1200 |
800 |
Срок решения поставленной задачи (трудоемкость) |
Час |
2 |
0,5 |
1,5 |
Рисунок 3.2 - Календарный график работы над проектом
Дн. 110 100 90 80 70 60 50 40 30 20 10 0 |
1 2 3 4 5 6 Стадии |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
33 |
КТК.230105.464.5234.ПЗ |
Стадии:
1 – подготовительный этап;
2 – техническое задание;
3 – основной этап;
4 – тестирование;
5 – документирование;
6 – сдача темы.
3.2. Затраты на создание программного продукта
Для оценки экономической эффективности разрабатываемого программного продукта необходимо определить затраты на его создание, т.е. себестоимость, используя формулу:
С=Зкап + Зтек, (3.1)
3.2.1 Капитальные затраты
Так как проект осуществляется на основе существующей в организации материальной базы, то принимаем сумму первоначальных вложений равной нулю.
- Расходы на дополнительные дисковые устройства;
- Расходы на приобретение периферических устройств;
- Прочие расходы по оборудованию, и другие.
3.2.2 Текущие затраты
Текущие затраты на разработку программного продукта определим по формуле:
Зтек=Зтек общ+Зпр; (3.2)
где Зтек – текущие затраты,
Зтек об – текущие затраты общие,
Зпр – прочие затраты.
Общие текущие затраты рассчитываются по формуле:
Зтек общ=Ззп+Зао+Зэл; (3.3)
где Ззп – зарплата на оплату труда,
Зао – амортизационные отчисления,
Зэл – затраты на электроэнергию,
Таким образом, общие текущие затраты на разработку проекта составили:
Ззп=Зосн+Здоп+Зотч; (3.3)
где Зосн – основной фонд оплаты труда,
Здоп – дополнительный фонд оплаты труда,
Зотч – отчисления заработной платы.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
34 |
КТК.230105.464.5234.ПЗ |
Таблица 3.3 – Основная заработная плата разработчиков программного продукта.
№ п/п |
Наименование этапа |
Исполнители |
Трудоемкость, чел./дн.1 |
Трудоемкость, чел./мес.2 |
Оклад, руб. |
Затраты по заработной плате, руб. |
1 |
Подготовительный |
программист |
5 |
0,227 |
241,00 |
54,71 |
2 |
Техническое задание |
программист |
10 |
0,455 |
241,00 |
109,66 |
3 |
Основной |
программист |
60 |
2,727 |
241,00 |
657,21 |
4 |
Тестирование |
программист |
5 |
0,455 |
241,00 |
109,66 |
5 |
Документирование |
программист |
15 |
0,682 |
241,00 |
164,36 |
6 |
Сдача темы |
программист |
5 |
0,227 |
241,00 |
54,71 |
ИТОГО: |
=SUM(ABOVE) 1150,31 |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
35 |
КТК.230105.464.5234.ПЗ |
1 – см рис. 1.
2 – из расчета 22 рабочих дня в месяц.
Зосн рук=10×54,72=547,20 р.
Зосн=1150,31+547,20=1697,51 р.
Принимаем дополнительный фонд оплаты труда равным 20% от основного фонда оплаты труда.
Здоп=1697,51×0,2=339,50 р.
1697,51+339,50=2037,01 р.
Отчисления на заработную плату:
ЕСН=26%
Зотч=2037,01×0,26=529,62 р.
Итого:
Ззп=2037,01+529,62=2566,63 р.
Амортизационные отчисления
Первоначальная стоимость ПК равна 18000 рублей. Норма амортизации 10% в год.
Аг=18000,00×0,1=1800,00 р.
Ад=1800,00/365=4,93 р.
Аобщ=4,93×55=271,15 р.
Затраты на электроэнергию
В соответствии с Санитарно эпидемиологическими правилами и нормами, программист должен работать за компьютером не более 6 часов за 1 рабочую смену, от сюда общее время работы оборудования:
Tобщ=80×6=480 ч.
Расход электропотребления одного компьютера
Рэл=480×150=72000=72 КВт.
Стоимость 1 КВт для юридических лиц 1,75 р.
Зэл=72×1,75=126 р.
На искусственное освещение израсходовано 40 Вт/ч.
Эи осв=480×40=19200=19,20 КВт.
Зосн=19,20×1,75=33,60 р.
Зэл=126+33,60=159,60 р.
Общие текущие затраты составляют:
Зтек общ=2566,63 +271,15+159,60 =2997,38 р.
Прочие затраты составляют 5% от Зтек общ:
2997,38×0,05=149,87 р.
Текущие затраты:
Зтек=2997,38+149,869=3147,25 р.
Затраты на создание программного продукта составляет:
З=0+3147,25=3147,25 р.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
36 |
КТК.230105.464.5234.ПЗ |
В нашей ситуации программный заменяет ручной труд, следовательно, набор полезных результатов в принципе не меняется. В качестве оценки результатов применения программного продукта в год берется разница (экономия) издержек, возникающая в результате использования программного продукта. Экономия от замены ручной обработки информации на автоматизированную,
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
37 |
КТК.230105.464.5234.ПЗ |
Эзп=Зр-За (3.5)
где, Зр – затраты на ручную обработку информации;
За – затраты на автоматизированную обработку информации.
Затраты на ручную обработку информации определяются по формуле:
Зр=(Ои×Ц×Гд)/Нв (3.6)
где, Ои – объем информации обрабатываемой в ручную, Мб;
Ц – стоимость одного часа работы, р./ч.;
Гд – коэффициент, учитывающий дополнительные затраты времени на логические операции при ручной обработке информации;
Нв – норма выработки, Мб./ч.
В данном случае:
Он = 2 Мб. (общий размер обрабатываемых данных, вводимых для регистрации за год с последующим подсчетом статистики);
Ц = 6000/22/8=34,10 р./ч.;
Гд = 2,5 (установлен экспериментально);
Нв = 0,005 Мб./ч.
Следовательно затраты на ручную обработку информации будут равны:
Зр=(2×34,10×2,5)/0,005=34100 р./год.
Затраты на автоматизированную обработку информации рассчитываются по формуле:
За=tа×Цм×tо×(Цм+Цо) (3.7)
где, tа – время автоматической обработки;
Цм – стоимость одного часа машинного времени;
tо – время работы оператора;
Цо – стоимость одного часа работы оператора.
Для данного программного продукта tа=325 часа.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
38 |
КТК.230105.464.5234.ПЗ |
Цм=4 р.
Для ввода данных оператором в систему, понадобится 1000 случаев за год × 30 минут оформления одного договора. tо =500 часов.
Цо=6000/22/8=34,10 р./ч.
Затраты на автоматизированную обработку:
За=325*4+500*(4+34,10)= 20350 руб.
Таким образом, годовая экономия от замены ручной обработки информации на автоматизированную составит:
Эз=34100–20350=13750 р./год.
Срок окупаемости вложений
Со=С/Эз (3.8)
где, Со – срок окупаемости;
С – себестоимость программного продукта;
Эз – экономия от замены ручного труда на автоматизированную обработку
Со=3147,25/13750=0,22 года ≈ 80 дня.
Расчетный коэффициент эффективности:
Ер=1/Со (3.9)
Ер=1/0,22=4,5
Экономический эффект от использования программного продукта за год определяется по формуле:
Эг=Эз–С*Ен (3.10)
где, Эг – годовой экономический эффект;
Эз – экономия от замены ручной обработки на автоматизированную;
С – себестоимость программного продукта;
Ен – нормативный коэффициент эффективности.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
39 |
КТК.230105.464.5234.ПЗ |
Эг=13750–3147,25*0,2=13120,55 руб.
3.4 Заключение
Окупаемость программного продукта составит – 80 дней. Расчетный коэффициент вложений больше нормативного коэффициента вложений (4,5>0,2).
Годовой экономический эффект = 13120,5 руб.
Проведенный анализ показывает, что внедрение разработанного программного продукта – целесообразно.
4. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
4.1 Требования к охране труда и организации рабочего места пользователя разрабатываемой АС
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
41 |
КТК.230105.464.5234.ПЗ |
В конце девятнадцатого и в двадцатом веках учеными математики, физики и химии были сделаны открытия, которые коренным образом изменили жизнеобеспечение мирового сообщества.
Компьютеризацией мирового сообщества, которая привела к созданию единого информационного пространства.
Вместе с тем использование вычислительных машин, комплексов, систем и сетей привело к расширению гаммы травмирующих и вредных факторов, последствие которых на здоровье человечества трудно предугадать.
Работа программиста на ПК связана с выполнением работы сидя и на клавиатуре, в связи с этим организация труда приобретает первостепенное значение.
Пользователи ПК в течение рабочего дня воспринимают большой объём информации, что способствует утомлению и снижению работоспособности.
Снижению психофизиологических и нервно-эмоциональных нагрузок способствует правильная организация рабочего места (РМ)
Одним из важных эргономических показателей трудового процесса являются антропометрические показатели, определяющие размеры тела человека и их соответствие размерам, форме рабочего места органов управления, которые необходимо учитывать при конструировании.
При организации рабочего места пользователя следует учитывать данные антропометрии, то есть движения должны быть сконцентрированы так, чтобы группы мышц были нагружена равномерно, и исключены лишние, непроизвольные движения.
При организации рабочего места следует учитывать удобства положения дисплея, клавиатуры, системного блока, а также зоны досягаемости рук, которые установлены на основании антропометрических данных человеческого тела и дают возможность рационально разместить как по горизонтали, так и по вертикали монитор, клавиатуру, системный блок, устройства и т. п.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
41 |
КТК.230105.464.5234.ПЗ |
Клавиатура должна быть
выполнена следующим образом: ход клавиш не более
Комфортабельным рабочим местом пользователя должно быть такое, которое можно приспособить не менее чем для двух позиций, при этом положение кресла, монитор, системный блок и клавиатура должны каждый раз соответствовать выполняемой работе и привычкам. Для работы на ВЭВМ больше всего подходит вертикальное и слегка наклонное положение.
Режимы труда и отдыха при профессиональной работе ПЭВМ должны организовываться в зависимости от вида и категории трудовой деятельности.
Трудовая деятельность пользователей по напряженности работ подразделяется на три категории:
- группы А – по суммарному числу считываемых знаков за рабочую смену;
- группа Б – по суммарному числу считываемых или вводимых знаков за рабочую смену;
- группа В – по суммарному времени непосредственной работы с ПК за рабочую смену.
Для видов и категорий трудовой деятельности устанавливаются количество знаков за смену или суммарное время непосредственной работы на ПК.
4.2 Анализ потенциально опасных и вредных производственных факторов
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
42 |
КТК.230105.464.5234.ПЗ |
Эксплуатация современного оборудования (ПК) и технологического процесса на этом оборудовании (разработка, отладка и реализация программного продукта на ПК) сопровождаются возникновением травмирующих и вредных производственных факторов.
Травмирующий фактор – негативное воздействие на человека, которое приводит к травме или летальному исходу.
Вредный фактор – негативное воздействие на человека, которое приводит к ухудшению самочувствия или заболеванию.
При работе ПК, разработке, отладке и реализации программного продукта на пользователя постоянно или периодически действуют следующие травмирующие и вредные факторы:
- Длительное пребывание в одном и том же положении и повторении одних и тех же действий;
- Нерациональная организация рабочего места;
- Умственное перенапряжение, обусловленное характером решаемых задач;
- Большой объём перерабатываемой информации;
- Монотонность труда;
- Нервно-психические нагрузки;
- Отсутствие или недостаток естественного света;
- Повышенная пульсация светового потока (мерцание изображения);
- Широкий спектр излучения дисплея, который включает рентгеновскую, ультрафиолетовую, и инфракрасную области, а также широкий диапазон электромагнитных излучений других частот;
- Повышенный уровень ионизирующего излучения (мягкое рентгеновское, гамма-излучения);
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
43 |
КТК.230105.464.5234.ПЗ |
- Загрязнение воздуха вредными веществами, пылью, микроорганизмами;
- Несоответствие параметров микроклимата норме;
- Повышенный уровень шума на рабочем месте;
- Опасность возникновения пожара.
Травмирующие и вредные факторы, оказывая воздействие, приводят к отрицательным последствиям в состоянии здоровья пользователя.
Эргономика
Эргономика – научная дисциплина, комплексно изучающая человека (группу людей) в конкретных условиях его (их) деятельности, связанной с использованием машин (технических средств). Человек, машина и среда рассматриваются в эргономике как сложное, функционирующее целое, в котором ведущая роль принадлежит человеку. Эргономика является одновременно и научной, и проектировочной дисциплиной, так как в ее задачу входит разработка методов учета человеческих факторов при модернизации
действующей и создании новой техники и технологии, а также соответствующих условий труда (деятельности).
Интерес к системам «человек – машина» возник в середине XX века. Он обусловлен тем, что в качестве объектов технического проектирования и конструирования стали всё чаще выступать различного рода сложные системы управления производством, транспортом, связью, космическими полётами и т.п. Эффективность функционирования этих систем, во многом определяется деятельность, включаемого в них в качестве ведущего звена – человека. Сочетание способностей человека и возможностей машины существенно повышает эффективность управления. Несмотря на совместное выполнение функций управления человеком и машиной, каждая из двух составляющих этой сложной
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
44 |
КТК.230105.464.5234.ПЗ |
Предметом эргономики является конкретная деятельность человека (группы людей), использующего машины, а объектом исследования – система «человек - машина – среда».
Эргономика рассматривает технический и человеческий аспекты в неразрывной связи. Эргономика может, вероятно, существовать и добиваться определённых успехов на стыке психологии, физиологии, гигиены труда и анатомии, однако подлинный прогресс и практическая ценность её определяются уровнем синтеза в ней человеческого и технического аспектов.
Различают две стадии (этапа) в развитии и соответственно два вида эргономики – коррективную и проективную (превентивную), которые соответственно связывают с задачами модернизации существующих машин и систем и с проектированием новых.
Коррективная эргономика играет немаловажную роль, объединяя для решения важных и актуальных проблем специалистов различных областей знания. В коррективной эргономике предпринимаются попытки свести воедино, пусть зачастую и механически, факты, добытые различными науками о труде. Коррективная эргономика оказывает определённое положительное влияние на практику проектирования, способствует накоплению отдельных данных о труде.
Формирование проективной эргономики предполагает не только накопление данных о человеческих факторах, но и развитие специальных исследований типичных видов и форм человеческой деятельности, создание методов её анализа и формализации, выявление факторов, определяющих её эффективность. В свою очередь, эти задачи побуждают анализировать факторы, влияющие на протекание различных видов деятельности, составлять эргономическую топологию видов деятельности, разрабатывать собственные, специфические, исследовательские методы проективной эргономики.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
45 |
КТК.230105.464.5234.ПЗ |
Эргономика играет всё возрастающую роль и в решении комплексной проблемы реабилитации лиц, в той или иной мере утративших работоспособность. Такая реабилитация представляет систему государственных, социально – экономических, медицинских, педагогических, , психологических и других мероприятий, направленных на возвращение больных и инвалидов в общество и к общественно полезному труду.
Таким образом, деятельность человека представляет собой начало и завершение эргономического исследования, эргономической оценки, эргономического проектирования. В эргономике формируются новые концептуальные схемы деятельности и новые методы её анализа, что, в свою очередь, стимулирует разработку общей теории трудовой деятельности.
Эргономика решает задачи рациональной организации деятельности людей в «среде человек - машина», целесообразного распределения функций между человеком и машиной, определение критериев оптимизации «среды человек - машина» с учётом возможностей и особенностей работающего человека (группы людей), разрабатывает типологии таких систем.
Проектирование конкретных видов человеческой деятельности как в сравнительно простых, так и в сложнейших человека – машинных комплексах требует проведения самых разнообразных исследований. Специальные издания в области эргономики насыщены экспериментальными антропометрическими, физиологическими и психологическим исследованиями познавательной и исполнительной деятельности. Более того, эргономика наложила свой отпечаток на проблематику, теорию и методы исследования в упомянутых областях знания. Получаемые в науках о человеке результаты выполняют сейчас не только функцию иллюстрации и доказательства той или иной теории или гипотезы.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
46 |
КТК.230105.464.5234.ПЗ |
ЗАКЛЮЧЕНИЕ
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
47 |
КТК.230105.464.5234.ПЗ |
По завершению дипломного проекта удалось достигнуть всех поставленных целей и задач. В итоге программа прибрела некоторые дополнительные возможности, такие как настройка внешнего вида и выбора используемой базы данных, а также другие не менее значимые функции и возможности.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
48 |
КТК.230105.464.5234.ПЗ |
1. Озеров В. Delphi. Советы программистов. – СПб.: Символ – Плюс. 2002. – 912 с.: ил.;
2. Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. – СПб.: Питер, 2004. – 459 с.: ил.;
3. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. — М.: Мир, 1999. - 360 с., ил.;
4. Гринзоу Лу. Философия программирования для Windows XP / Пер. с англ. — СПб.: Символ-Плюс, 2002. — 640 с., ил.;
5. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. — М.: Мир, 2003. — 386 с., ил.;
6. Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. — М.: Радио и связь, 2004. — 168 с., ил.;
7.
Новиков
Ю., Новиков Д., Черепанов А., Чернов В.
Компьютеры, сети, Интернет. Энциклопедия. Спб.: Питер,
8. Фокс Дж. Программное обеспечение и его разработка / Пер. с англ. — М.: Мир, 2000. - 368 с., ил.;
9. Язык компьютера. Пер. с англ, под ред. и с предисл. В. М. Курочкина. — М.: Мир, 2001. - 240 с., ил.;
10. И.Г.Гетия Безопасность при работе на ПЭВМ Москва НПЦ «Профессионал - Ф» 2005 год, 127 страниц.
11. Гофман В.Э., Хомоненко А. Д. Работа с базами данных В Delphi. 2-е изд. – спб.: БХВ – Петербург, 2002. 624 с.:ил
12. Безопасность жизнедеятельности: Учебник / По ред. Проф. Э. А. Арустамова – 6-е изд., перераб. И доп – М.: Издательско – торговая корпорация «Дашков и К», 2003, -496 с.
13. В.П. Зинченко, В.М. Мухинов.
Основы эргономики. М., изд-во Моск. ун-та,
14.
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
49 |
КТК.230105.464.5234.ПЗ |
15. http://delphiworld.narod.ru/
16. http://www.delphimaster.ru
Поз. |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
50 |
СПЕЦИФИКАЦИЯ |
Разраб. |
Качесов А. А. |
Провер. |
Колотовкина Е.Ю |
Реценз. |
Сенькин В.В. |
Н. Контр. |
Колотовкина Е.Ю |
Утверд. |
Шульгина Н.С. |
База данных «Приемная комиссия» |
Лит. |
Листов |
88 |
КТК.464 |
Наименование |
Примечание |
Кол. |
Рисунок 1.1 – Схема данных через ADO |
1 |
1. |
Стр. 8 |
Рисунок 2.1 – Схема данных |
2 |
1 |
Стр. 9 |
Схема 2.2 – Алгоритм формирования договора |
3 |
1 |
Стр. 10 |
Рисунок 2.3 – Загрузка программы |
4 |
1 |
Стр. 11 |
Рисунок 2.4 – Главное окно программы |
5 |
1 |
Стр. 11 |
Рисунок 2.5 – Начало установки программы |
6 |
1 |
Стр. 12 |
Рисунок 2.6 – Лицензионное соглашение |
7 |
1 |
Стр. 13 |
Рисунок 2.7 – Важная информация из файла README |
8 |
1 |
Стр. 14 |
Рисунок 2.8 – Окно для выбора директории установки программы |
9 |
1 |
Стр. 14 |
Рисунок 2.9 – Окно создания ярлыка в меню Пуск |
10 |
1 |
Стр. 15 |
Рисунок 2.10 – Окно выбора создания ярлыка на Рабочем столе |
11 |
1 |
Стр. 16 |
Рисунок 2.11 – Подтверждение установки программы |
12 |
1 |
Стр. 16 |
Рисунок 2.12 – Ход установки программы |
13 |
1 |
Стр. 17 |
Рисунок 2.13 – Завершение установки |
14 |
1 |
Стр. 18 |
Рисунок 2.14 – Главное меню |
15 |
1 |
Стр. 18 |
Рисунок 2.15 – Панель быстрого доступа |
16 |
1 |
Стр. 19 |
Рисунок 2.16 – Строка состояния |
17 |
1 |
Стр. 19 |
Рисунок 2.17 – Окно свойств создания договора |
18 |
1 |
Стр. 20 |
Рисунок 2.18 – Процесс формирования договора |
19 |
1 |
Стр. 21 |
Рисунок 2.19 – Окно свойств новой специальности |
20 |
1 |
Стр. 22 |
Рисунок 2.20 – Выбор файла бланка договора |
21 |
1 |
Стр. 23 |
Рисунок 2.21 – Список слушателей |
22 |
1 |
Стр. 24 |
Рисунок 2.22 – Кнопка новый договор |
23 |
1 |
Стр. 24 |
Рисунок 2.23 – Кнопка редактирования данных |
24 |
1 |
Стр. 25 |
Рисунок 2.24 – Кнопка удаления договора |
25 |
1 |
Стр. 25 |
Рисунок 2.25 – Кнопка экспорта в MS Word |
26 |
1 |
Стр. 25 |
Рисунок 2.26 – Прогресс экспорта списка в MS Word |
27 |
1 |
Стр. 25 |
Рисунок 2.27 – Окно поиска данных |
28 |
1 |
Стр. 26 |
Рисунок 2.28 – Список специальностей |
29 |
1 |
Стр. 27 |
Поз. |
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
51 |
СПЕЦИФИКАЦИЯ |
Разраб. |
Качесов А. А. |
Провер. |
Колотовкина Е.Ю |
Реценз. |
Сенькин В.В. |
Н. Контр. |
Колотовкина Е.Ю |
Утверд. |
Шульгина Н.С. |
База данных «Приемная комиссия» |
Лит. |
Листов |
88 |
КТК.464 |
Наименование |
Примечание |
Кол. |
Рисунок 2.29 – Кнопка новая специальность |
1 |
1. |
Стр. 27 |
Рисунок 2.30 – Кнопка редактировать данные |
2 |
1 |
Стр. 27 |
Схема 2.31 – Кнопка удалить специальность |
3 |
1 |
Стр. 28 |
Рисунок 2.32 – Кнопка экспорта списка в MS Word |
4 |
1 |
Стр. 28 |
Рисунок 2.33 – Процесс создание прайс-листа |
5 |
1 |
Стр. 28 |
Рисунок 2.34 – Формирование списка группы |
6 |
1 |
Стр. 29 |
Рисунок 2.35 – Окно реквизитов предприятия-исполнителя |
7 |
1 |
Стр. 30 |
Рисунок 2.36 – Окно параметров программы |
8 |
1 |
Стр. 31 |
Таблица 3.1 – Основные показатели сравнительного анализа вариантов |
9 |
1 |
Стр. 32 |
Рисунок 3.2 – Календарный график работы над проектом |
10 |
1 |
Стр. 33 |
Таблица 3.3 – Основная заработная плата разработчиков прграммного проодукта |
11 |
1 |
Стр. 35 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
Приложение А
//Загрузка программы
program DataBase;
uses
Forms,
UMain in 'UMain.pas' {MainForm},
UListSlush in 'UListSlush.pas' {ListSlushForm},
USlush in 'USlush.pas' {EditSlushForm},
UDataMod in 'UDataMod.pas' {DataModule1: TDataModule},
URecvizit in 'URecvizit.pas' {SetingForm},
USplash in 'USplash.pas' {SplashForm},
UAbout in 'UAbout.pas' {AboutForm},
USpecials in 'USpecials.pas' {ListSpecialsForm},
UEditSpecials in 'UEditSpecials.pas' {EditSpecialForm},
UFind in 'UFind.pas' {FindForm},
ULogin in 'ULogin.pas' {LoginForm},
UAboutKMRCPK in 'UAboutKMRCPK.pas' {AboutKMRCPKForm},
UCreateGroup in 'UCreateGroup.pas' {ListGroupForm};
{$R *.res}
{$R Bitmap.RES}
{$R xp_manifest.RES}
begin
Application.Initialize;
with TSplashForm.Create(nil) do
try
LoadingProgressBar.Max:=130;
Show;
Update;
Application.Title := 'ASF: Приемная комиссия';
Application.CreateForm(TMainForm, MainForm);
LoadingProgressBar.Position:=10;
InfoLabel.Caption:='Создание MainForm. Загрузка... 10%';
MainForm.Delay(50);
Application.CreateForm(TEditSpecialForm, EditSpecialForm);
LoadingProgressBar.Position:=20;
InfoLabel.Caption:='Создание EditSpecialForm. Загрузка... 20%';
MainForm.Delay(50);
Application.CreateForm(TAboutForm, AboutForm);
LoadingProgressBar.Position:=30;
InfoLabel.Caption:='Создание AboutForm. Загрузка... 30%';
MainForm.Delay(50);
Application.CreateForm(TEditSlushForm, EditSlushForm);
LoadingProgressBar.Position:=40;
InfoLabel.Caption:='Создание EditSlushForm. Загрузка... 40%';
MainForm.Delay(50);
Application.CreateForm(TDataModule1, DataModule1);
LoadingProgressBar.Position:=50;
InfoLabel.Caption:='Создание DataModule1. Загрузка... 50%';
MainForm.Delay(50);
Application.CreateForm(TSetingForm, SetingForm);
LoadingProgressBar.Position:=60;
InfoLabel.Caption:='Создание формы RekvizitForm. Загрузка... 60%';
MainForm.Delay(50);
Application.CreateForm(TFindForm, FindForm);
LoadingProgressBar.Position:=70;
InfoLabel.Caption:='Создание FindForm. Загрузка... 70%';
MainForm.Delay(50);
Application.CreateForm(TAboutKMRCPKForm, AboutKMRCPKForm);
LoadingProgressBar.Position:=50;
InfoLabel.Caption:='Создание ListGroupForm. Загрузка... 80%';
MainForm.Delay(50);
Application.CreateForm(TListGroupForm, ListGroupForm);
InfoLabel.Caption:='Создание AboutKMRCPKForm. Загрузка... 90%';
MainForm.Delay(50);
MainForm.ErrorBase;
LoadingProgressBar.Position:=90;
InfoLabel.Caption:='Проверка базы данных. Загрузка... 95%';
MainForm.Delay(50);
MainForm.WindowState:=wsMaximized;
LoadingProgressBar.Position:=100;
InfoLabel.Caption:='Расположение окна, загрузка настроек. Загрузка... 100%';
MainForm.Delay(50);
finally
Free;
end;
Application.Run;
end.
Приложение Б
//Перевод числа в строку (прописью)
function TMainForm.CurrencyToStr(Value: double): string;
const Hundreds: array [0..9] of string=('',' сто',' двести',' триста',' четыреста',' пятьсот',' шестьсот',' семьсот',' восемьсот',' девятьсот');
Tens: array [0..9] of string=('','',' двадцать',' тридцать',' сорок',' пятьдесят',' шестьдесят',' семьдесят',' восемьдесят',' девяносто');
Ones: array [0..19] of string=('','','',' три',' четыре',' пять',' шесть',' семь',' восемь',' девять',' десять',' одиннадцать',' двенадцать',' тринадцать',' четырнадцать',' пятнадцать',' шестнадцать',' семнадцать',' восемнадцать',' девятнадцать');
Razryad: array [0..6] of string=('',' тысяч',' миллион',' миллиард',' триллион',' квадриллион',' квинтиллион');
var s: string; i: integer; val: int64;
function shortNum(s: string; raz: integer): string;
begin
Result:=hundreds[StrToInt(s[1])]; if StrToInt(s)=0 then Exit;
if s[2]<>'1' then
begin
Result:=Result+tens[StrToInt(s[2])];
case StrToInt(s[3]) of
1: if raz=1 then Result:=Result+' одна' else Result:=Result+' один';
2: if raz=1 then Result:=Result+' две' else Result:=Result+' два';
else Result:=Result+ones[StrToInt(s[3])];
end;
Result:=Result+razryad[raz];
case StrToInt(s[3]) of
0,5,6,7,8,9: if raz>1 then Result:=Result+'ов';
1: if raz=1 then Result:=Result+'а';
2,3,4: if raz=1 then Result:=Result+'и' else if raz>1 then Result:=Result+'а';
end; end else
begin
Result:=Result+ones[StrToInt(Copy(s,2,2))];
Result:=Result+razryad[raz];
if raz>1 then Result:=Result+'ов';
end;
end;
begin
val:=Trunc(value);
if val=0 then
begin
Result:='ноль';
Exit;
end;
s:=IntToStr(val);
Result:='';
i:=0;
while Length(s)>0 do
begin
Result:=shortNum(Copy('00'+s,Length('00'+s)-2,3),i)+Result;
if Length(s)>3 then s:=Copy(s,1,Length(s)-3) else s:='';
inc(i);
end;
s:=IntToStr(Trunc((value-val)*100+0.5));
if s='0' then s:='00';
Result:=Result+' руб '+s+' коп';
if Copy(Result,0,1)=' ' then Delete(Result,0,2);
if Copy(Result,0,1)=' ' then Delete(Result,0,1);
if Copy(Result,Length(Result)-1,1)=' ' then Delete(Result,Length(Result)-1,1);
end;
Приложение В
procedure TEditSlushForm.CreateReport;
var FileName, S1, S2, S3: OLEVariant;
i, n: LongInt;
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
FileDogovor, NameBookmakers: OLEVariant;
Temp: Variant;
begin
FileDogovor:=DataModule1.SpecialsTable.Fields.Fields[9].Text;
if (FileDogovor='') or (FileExists(FileDogovor)) then FileDogovor:=Path+'DataGeneralBlank.dot';
//Путь до файла с бланком
FileName:=FileDogovor;
if FileExists(FileName)=false then Application.MessageBox('Файл с бланком договора не найден. Возможно файл был переименован либо удален.'#13'Обратитесь к администратору для устранения ошибки.','Критическая ошибка',mb_Ok+mb_IconError) else
begin
MainForm.Label1.Caption:='0% ';
MainForm.ProgressBar1.Visible:=true;
MainForm.ProgressBar1.Max:=100;
MainForm.ProgressBar1.Position:=0;
try
WA.Connect;
WA.WindowState:=wdWindowStateMaximize;
WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+1;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
try
NameBookmakers:='Num';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DogovorDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Date';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DateDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Zakazchik';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(FamDBEdit.Text+' '+NameDBEdit.Text+' '+SurNameDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='License';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[9].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Director';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[11].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Slushatel';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(FioDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Programm';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[2].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Hour';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[8].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Month';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[7].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
if SaleDBCheckBox.Checked=false then
begin
try
NameBookmakers:='Summ';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
Temp:=DataModule1.SpecialsTable.Fields.Fields[4].Text;
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[4].Text+' ('+MainForm.CurrencyToStr(Temp)+')');
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Plata';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
Temp:=DataModule1.SpecialsTable.Fields.Fields[3].Text;
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[3].Text+' ('+MainForm.CurrencyToStr(Temp)+')');
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
end else
begin
try
NameBookmakers:='Summ';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
Temp:=DataModule1.SpecialsTable.Fields.Fields[6].Text;
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[6].Text+' ('+MainForm.CurrencyToStr(Temp)+')');
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Plata';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
Temp:=DataModule1.SpecialsTable.Fields.Fields[5].Text;
WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[5].Text+' ('+MainForm.CurrencyToStr(Temp)+')');
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
end;
try
NameBookmakers:='DateVuplatu';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DateVuplatuDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='NameFirm';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[1].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[2].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Adress';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[3].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Tel';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[4].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Bank';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[5].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='RSChet';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[6].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='KSChet';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[7].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Bik';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[8].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='License2';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[9].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Doljnost';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[12].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='FIODir';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DataModule1.RekvizitTable.Fields.Fields[10].Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='FIOZakazchik';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(FamDBEdit.Text+' '+NameDBEdit.Text+' '+SurNameDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='DateRojd';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(DateRDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='Pasport';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(SeriaDBEdit.Text+' № '+NumDBEdit.Text+' выдан '+VudanDBEdit.Text+' от '+DateVudachDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='AdressZakazchik';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(PropiskaDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='TelZakazchik';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(TelDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='FIOZakazchikNiz';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
WA.Selection.TypeText(Copy(NameDBEdit.Text,0,1)+'. '+Copy(SurNameDBEdit.Text,0,1)+'. '+FamDBEdit.Text);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
try
NameBookmakers:='START';
WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
end;
//Сохранение документа во временной папки
S1:=Path+'DocДоговор №'+DogovorDBEdit.Text+'.doc';
try
WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+3;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
Application.MessageBox('Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?','Критическая ошибка',mb_Ok+mb_IconError);
WA.Disconnect;
WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
WA.Visible:=true;
WA.Activate;
WA.Disconnect;
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+6;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
except
Application.MessageBox('Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.','Критическая ошибка',mb_ok+mb_IconError);
end;
end;
MainForm.ProgressBar1.Position:=100;
MainForm.Label1.Caption:=IntToStr(MainForm.ProgressBar1.Position)+'% ';
MainForm.ProgressBar1.Visible:=false;
end;
Приложение Г
//Процедура поиска слушателей по заданным критериям для формирования списка группы
procedure TListGroupForm.RunButtonClick(Sender: TObject);
var SelectIndex, i: integer;
OneD, TwoD: string;
begin
with DataModule1.GroupQuery do
begin
DateSeparator:='/';
ShortDateFormat:='mm/dd/yyyy';
OneD:=DateToStr(StartDateDTP.Date);
TwoD:=DateToStr(FinishDateDTP.Date);
try
if SpecialsLB.Items.Strings[SpecialsLB.ItemIndex]<>'' then
begin
DataModule1.SpecialsTable.Active:=true;
DataModule1.SpecialsTable.Locate('ПолноеНаименование',SpecialsLB.Items.Strings[SpecialsLB.ItemIndex],[loCaseInsensitive, loPartialKey]);
end;
SelectIndex:=DataModule1.SpecialsTable.Fields.Fields[0].AsInteger;
except
end;
SpecialsEdit.Text:=SpecialsLB.Items.Strings[SpecialsLB.ItemIndex];
Active:=false;
SQL.Clear;
SQL.Add('SELECT ФИО, ДатаНачалаОбучения, ДатаОкончанияОбучения');
SQL.Add('FROM Слушатели');
SQL.Add('WHERE (Специальность='+IntToStr(SelectIndex)+') AND (ДатаНачалаОбучения>=#'+OneD+'#) AND (ДатаОкончанияОбучения<=#'+TwoD+'#)');
try
Active:=true;
except
Application.MessageBox('Невозможно сформировать список. Задайте другие параметры!','Информация',mb_Ok+mb_IconInformation);
end;
DateSeparator:='.';
ShortDateFormat:='mm/dd/yyyy';
if DataModule1.GroupQuery.RecordCount>0 then
begin
ListCLB.Clear;
DataModule1.GroupQuery.First;
while not DataModule1.GroupQuery.Eof do
begin
ListCLB.Items.Add(DataModule1.GroupQuery.Fields.Fields[0].Text);
DataModule1.GroupQuery.Next;
end;
for i:=0 to ListCLB.Count do
try
ListCLB.State[i]:=cbChecked;
except
end;
Report1Button.Enabled:=true;
Report2Button.Enabled:=true;
end else
begin
ListCLB.Clear;
Report1Button.Enabled:=false;
Report2Button.Enabled:=true;
Application.MessageBox('Невозможно сформировать список. По заданным критериям слушатели не найдены!','Информация',mb_Ok+mb_IconInformation);
end;
end;
end;
Приложение Д
//Формирование простого списка группы
procedure TListGroupForm.CreateSimpleReport;
var FileName, S1, S2, S3: OLEVariant;
i, n, g, j: LongInt;
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
NameBookmakers: OLEVariant;
k: real;
begin
//Путь до файла с бланком
FileName:=Path+'DataListGroup.dot';
if FileExists(FileName)=false then Application.MessageBox('Файл "DataListGroup.dot" не найден. Возможно файл был переименован либо удален.'#13'Обратитесь к администратору для устранения ошибки.','Критическая ошибка',mb_Ok+mb_IconError) else
begin
try
//Настройка соединения с Word
MainForm.WA.Connect;
//Настройка параметров документа
MainForm.WA.WindowState:=wdWindowStateMaximize;
MainForm.WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
try
NameBookmakers:='Group';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(NumEdit.Text);
except
end;
try
NameBookmakers:='Programm';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(SpecialsEdit.Text);
except
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
n:=ListCLB.Items.Count;
k:=0;
S2:=wdCell;
S3:=1;
j:=0;
for i:=0 to n-1 do
begin
if ListCLB.State[i]=cbChecked then
begin
//№ п/п
j:=j+1;
MainForm.WA.Selection.TypeText(IntToStr(j));
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//ФИО
MainForm.WA.Selection.TypeText(ListCLB.Items.Strings[i]);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
end;
end;
//Удаление последней строки
//если таблица заканчивается
MainForm.WA.Selection.Rows.Delete;
except
Application.MessageBox('Не найдена закладка для СТАРТА! Прочитайте руководство пользователя для устранения ошибки!','Информация',mb_ok+mb_IconInformation);
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
except
end;
//Сохранение документа во временной папки
S1:=Path+'DocСписок группы №'+NumEdit.Text+'.doc';
try
MainForm.WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
except
Application.MessageBox('Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?','Информация',mb_Ok+mb_IconInformation);
MainForm.WA.Disconnect;
MainForm.WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
//Видимость документа
MainForm.WA.Visible:=true;
//Активизация соединения
MainForm.WA.Activate;
//Разрыв соединения с MS Word(Quit, Preview, Print)
MainForm.WA.Disconnect;
except
Application.MessageBox('Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.','Информация',mb_ok+mb_IconInformation);
end;
end;
end;
Приложение Е
//Формирование списка группы для ведомости посещаемости
procedure TListGroupForm.CreateUspReport;
var FileName, S1, S2, S3: OLEVariant;
i, n, g, j: LongInt;
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
NameBookmakers: OLEVariant;
k: real;
begin
//Путь до файла с бланком
FileName:=Path+'DataVedom.dot';
if FileExists(FileName)=false then Application.MessageBox('Файл "DataVedom.dot" не найден. Возможно файл был переименован либо удален.'#13'Обратитесь к администратору для устранения ошибки.','Критическая ошибка',mb_Ok+mb_IconError) else
begin
try
//Настройка соединения с Word
MainForm.WA.Connect;
//Настройка параметров документа
MainForm.WA.WindowState:=wdWindowStateMaximize;
MainForm.WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
try
NameBookmakers:='Group';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(NumEdit.Text);
except
end;
try
NameBookmakers:='Date1';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(DateToStr(StartDateDTP.Date));
except
end;
try
NameBookmakers:='Date2';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(DateToStr(FinishDateDTP.Date));
except
end;
try
NameBookmakers:='Programm';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(SpecialsEdit.Text);
except
end;
try
NameBookmakers:='Prepod';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
if PrepodEdit.Text<>'' then MainForm.WA.Selection.TypeText(PrepodEdit.Text)
else MainForm.WA.Selection.TypeText('_____________________________________________________________');
except
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
n:=ListCLB.Items.Count;
k:=0;
S2:=wdCell;
S3:=1;
j:=0;
for i:=0 to n-1 do
begin
if ListCLB.State[i]=cbChecked then
begin
//№ п/п
j:=j+1;
MainForm.WA.Selection.TypeText(IntToStr(j));
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//ФИО
MainForm.WA.Selection.TypeText(ListCLB.Items.Strings[i]);
for g:=0 to 31 do
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
end;
end;
//Удаление последней строки
//если таблица заканчивается
MainForm.WA.Selection.Rows.Delete;
except
Application.MessageBox('Не найдена закладка для СТАРТА! Прочитайте руководство пользователя для устранения ошибки!','Информация',mb_ok+mb_IconInformation);
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
except
end;
//Сохранение документа во временной папки
S1:=Path+'DocВедомость для группы №'+NumEdit.Text+'.doc';
try
MainForm.WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
except
Application.MessageBox('Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?','Информация',mb_Ok+mb_IconInformation);
MainForm.WA.Disconnect;
MainForm.WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
//Видимость документа
MainForm.WA.Visible:=true;
//Активизация соединения
MainForm.WA.Activate;
//Разрыв соединения с MS Word(Quit, Preview, Print)
MainForm.WA.Disconnect;
except
Application.MessageBox('Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.','Информация',mb_ok+mb_IconInformation);
end;
end;
end;
Приложение Ж
//Формирования отчета по списку слушателей
procedure TListSlushForm.CreateReport;
var FileName, S1, S2, S3: OLEVariant;
i, n: LongInt;
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
NameBookmakers: OLEVariant;
k: real;
begin
DataModule1.DogovorsTable.DisableControls;
//Путь до файла с бланком
FileName:=Path+'DataList.dot';
if FileExists(FileName)=false then Application.MessageBox('Файл "DataList.dot" не найден. Возможно файл был переименован либо удален.'#13'Обратитесь к администратору для устранения ошибки.','Критическая ошибка',mb_Ok+mb_IconError) else
begin
try
//Настройка соединения с Word
MainForm.WA.Connect;
//Настройка параметров документа
MainForm.WA.WindowState:=wdWindowStateMaximize;
MainForm.WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
try
NameBookmakers:='DATE';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(DateToStr(Now));
except
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
n:=DataModule1.DogovorsTable.RecordCount;
MainForm.ProgressBar1.Visible:=true;
MainForm.ProgressBar1.Max:=n;
MainForm.ProgressBar1.Position:=0;
k:=0;
MainForm.Label1.Caption:=FloatToStr(k)+'% ';
DataModule1.DogovorsTable.First;
S2:=wdCell;
S3:=1;
while not DataModule1.DogovorsTable.Eof do
for i:=0 to n-1 do
begin
//№ договора
MainForm.WA.Selection.TypeText(DataModule1.DogovorsTable.Fields.Fields[0].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//ФИО заказчика
MainForm.WA.Selection.TypeText(DataModule1.DogovorsTable.Fields.Fields[3].Text+' '+DataModule1.DogovorsTable.Fields.Fields[4].Text+' '+DataModule1.DogovorsTable.Fields.Fields[5].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Курс
MainForm.WA.Selection.TypeText(DataModule1.DogovorsTable.Fields.Fields[16].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Переход к следующей записи
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+1;
k:=k+(100/n);
MainForm.Label1.Caption:=FloatToStrF(k,ffFixed,0,0)+'% ';
DataModule1.DogovorsTable.Next;
//Удаление последней строки
//если таблица заканчивается
if DataModule1.DogovorsTable.Eof then MainForm.WA.Selection.Rows.Delete;
end;
MainForm.Label1.Caption:='100% ';
except
Application.MessageBox('Не найдена закладка для СТАРТА! Прочитайте руководство пользователя для устранения ошибки!','Критическая ошибка',mb_ok+mb_IconError);
end;
try
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
except
end;
//Сохранение документа во временной папки
S1:=Path+'DocСписок.doc';
try
MainForm.WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
except
Application.MessageBox('Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?','Критическая ошибка',mb_Ok+mb_IconError);
MainForm.WA.Disconnect;
MainForm.WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
//Видимость документа
MainForm.WA.Visible:=true;
//Активизация соединения
MainForm.WA.Activate;
//Разрыв соединения с MS Word(Quit, Preview, Print)
MainForm.WA.Disconnect;
except
Application.MessageBox('Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.','Критическая ошибка',mb_ok+mb_IconError);
end;
end;
MainForm.ProgressBar1.Visible:=false;
DataModule1.DogovorsTable.EnableControls;
end;
Приложение З
//Формирование Прайс-листа
procedure TListSpecialsForm.CreateReport;
var FileName, S1, S2, S3: OLEVariant;
i, n: LongInt;
NotError: boolean;//Проверка на ошибки перед созданием отчета
Whatr: OLEVariant;
Which: OLEVariant;
Count: OLEVariant;
NameBookmakers: OLEVariant;
k: real;
begin
DataModule1.SpecialsTable.DisableControls;
//Путь до файла с бланком
FileName:=Path+'DataPriceList.dot';
if FileExists(FileName)=false then Application.MessageBox('Файл "DataPriceList.dot" не найден. Возможно файл был переименован либо удален.'#13'Обратитесь к администратору для устранения ошибки.','Критическая ошибка',mb_Ok+mb_IconError) else
begin
try
//Настройка соединения с Word
MainForm.WA.Connect;
//Настройка параметров документа
MainForm.WA.WindowState:=wdWindowStateMaximize;
MainForm.WA.Documents.OpenOld(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
MainForm.WA.ActiveWindow.ActivePane.View.Zoom.Percentage:=100;
Whatr:=wdGoToBookmark;
Which:=unAssigned;
Count:=unAssigned;
NameBookmakers:='DATE';
try
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
MainForm.WA.Selection.TypeText(DateToStr(Now));
except
end;
NameBookmakers:='START';
try
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
except
end;
n:=DataModule1.SpecialsTable.RecordCount;
MainForm.ProgressBar1.Visible:=true;
MainForm.ProgressBar1.Max:=n;
MainForm.ProgressBar1.Position:=0;
k:=0;
MainForm.Label1.Caption:=FloatToStr(k)+'% ';
DataModule1.SpecialsTable.First;
S2:=wdCell;
S3:=1;
while not DataModule1.SpecialsTable.Eof do
for i:=0 to n-1 do
begin
//№ п/п
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[0].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Наименование
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[2].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Срок обучения
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[7].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Цена за месяц
MainForm.WA.Selection.TypeText(DataModule1.SpecialsTable.Fields.Fields[3].Text);
MainForm.WA.Selection.MoveRight(S2,S3,EmptyParam);
//Переход к следующей записи
MainForm.ProgressBar1.Position:=MainForm.ProgressBar1.Position+1;
k:=k+(100/n);
MainForm.Label1.Caption:=FloatToStrF(k,ffFixed,0,0)+'% ';
DataModule1.SpecialsTable.Next;
//Удаление последней строки
//если таблица заканчивается
if DataModule1.SpecialsTable.Eof then MainForm.WA.Selection.Rows.Delete;
end;
MainForm.Label1.Caption:='100% ';
NameBookmakers:='START';
MainForm.WA.Selection.GoTo_(Whatr, Which, Count, NameBookmakers);
//Сохранение документа во временной папки
S1:=Path+'DocПрайс-лист на '+DateToStr(Now)+'.doc';
try
MainForm.WA.ActiveDocument.SaveAs(S1, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
except
Application.MessageBox('Не удалось сохранить документ во временную папку! Все документы MS Word будут закрыты. Попытаться снова создать документ?','Критическая ошибка',mb_Ok+mb_IconError);
MainForm.WA.Disconnect;
MainForm.WA.Quit(EmptyParam,EmptyParam,EmptyParam);
end;
//Видимость документа
MainForm.WA.Visible:=true;
//Активизация соединения
MainForm.WA.Activate;
//Разрыв соединения с MS Word(Quit, Preview, Print)
MainForm.WA.Disconnect;
except
Application.MessageBox('Связь с MS Word завершилась неудачей! Закройте все документы MS Word и попробуйте снова.','Критическая ошибка',mb_ok+mb_IconError);
end;
end;
MainForm.ProgressBar1.Visible:=false;
DataModule1.SpecialsTable.EnableControls;
end;
Федеральное агентство по образованию Государственное образовательное учреждение среднего профессионального образования «Курганский технологический колледж» К защите допускается
Анализ текстов на заимствование методом построения семантических моделей
Разработка макета интернет магазина DVD дисков
Технология извлечения знаний из нейронных сетей: апробация, проектирование ПО, использование в психолингвистике
Информационные технологии при анализе бизнеса
Автомобильный стробоскоп
Разработка базы данных Сервисный центр (по материалам Краснодарского филиала ОАО Кубанская энергосбытовая компания)
Информационная система для библиотеки университета
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.