Разработка программного приложения "Автоматизация учёта клиентов отдела вневедомственной охраны"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ДИПЛОМНЫЙ ПРОЕКТ НА ТЕМУ:

Автоматизация учета клиентов отдела вневедомственной охраны

Содержание

Введение

1. Постановка задачи

2. Формализация

3. Описание среды программирования

3.1. Требования к техническому обеспечению

3.2. Требования к программному обеспечению

4. Методика разработки проекта

4.1. Алгоритмизация задачи

4.1.1. Описание алгоритма

4.1.2. Структурная схема

4.2. Программирование

4.3. Аномалии и защитное программирование

4.4. Тестирование и отладка

5. Анализ результатов решения

6. Инструкция пользователю

7. Экономическая часть

Заключение

Литература

Приложение

Введение

На обслуживание отдела вневедомственной охраны при ОВД по Боровскому району поставлены многие предприятия Боровского района. Процесс принятия объекта под охрану сопровождается оформлением документации: заявления, договора и технические акты и т. д.

После подписания договора сотрудники отдела вневедомственной охраны рассчитывают время, сроки и охранные комплектующие (датчики оповещения и т. п.), устанавливают их на объектах.

Заполнение договоров, актов и заявок занимает большую часть рабочего времени, т.к. на сегодняшний день этот процесс не автоматизирован. Архивное хранение и стандартный поиск вручную информации о клиентах и необходимой документации является трудоемким и не всегда эффективным способом.

Разработка программного приложения автоматизирует и упростит работу по учёту клиентов ОВО при ОВД по Боровскому району.

1. Постановка задачи

Цель дипломного проекта разработка программного приложения «Автоматизация учёта клиентов отдела вневедомственной охраны», которое позволит автоматизировать процесс ввода, хранения, поиска и редактирования сведений, выводить на экран и принтер информацию о клиентах, охраняемых объектах и заключённых договорах.

С помощью этого программного приложения служащий ОВО производит:

· расчет времени охраны объектов, подключенных на пульт централизованного наблюдения, на каждый день недели.

· расчёт стоимости услуг вневедомственной охраны.

· анализ информации о договорах и охраняемых объектах.

2. Формализация

Для построения необходимо провести формализацию задачи, являющуюся необходимым этапом разработки задачи и заключающуюся в построении структуры таблиц для хранения информации, схемы их взаимосвязей и описания алгоритмов обработки.

Взаимосвязь показана в схеме данных:

Как правило, разработка проекта реализации задачи выполняется в несколько этапов и начинается с анализа той информации, которая является выходной (формы и отчеты для Excel). Только после выяснения структуры и состава этой информации, формулировки запросов для получения отчетов можно сделать вывод о структуре и составе таблиц данных. Необходимым этапом формализации задачи является нормализация базы данных.

Нормализация БД — это процесс устранения избыточности, дублирования данных. Как следствие, значительно сокращается вероятность появления противоречивых данных, облегчается администрирование базы и обновление информации в ней, сокращается объем дискового пространства.

В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе.

Метод нормализации основан на достаточно сложной теории реляционных моделей данных.

При разработке структуры БД могут возникнуть проблемы, связанные:

· С избыточностью данных

· С аномалиями

Под избыточностью данных понимают дублирование данных, содержащихся в БД. При этом различают простое (не избыточное) дублирование и избыточное дублирование данных.

Избыточность данных при выполнении операций с ними может приводить к различным аномалиям — нарушению целостности БД. Выделяют:

· Аномалии удаления возникающие при удалении данных из дефектной схемы.

· Аномалии обновления (модификации) возникают при изменении данных дефектной схемы.

· Аномалии ввода проявляются при вводе данных в дефектную таблицу.

Процесс проектирования БД с использованием метода нормальных форм является пошаговым и заключается в последовательном переводе по определенным правилам отношений из первой нормальной формы в нормальные формы более высокого порядка. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, устраняет соответствующие аномалии при выполнении операций над отношениями БД и сохраняет свойства предшествующих нормальных форм.

Выделяют следующую последовательность нормальных форм:

ь Первая нормальная форма

ь Вторая нормальная форма

ь Третья нормальная форма

ь Нормальная форма Бойса-Кодда

ь Четвертая нормальная форма

ь Пятая нормальная форма

Первая нормальная форма (1NF)

Таблица находится в первой нормальной форме, если каждый её атрибут атомен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

Вторая нормальная форма (2NF)

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF). программный приложение информация таблица

Третья нормальная форма (3NF)

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A > B и B > C, где A — набор ключевых атрибутов (ключ), B и С — различные множества неключевых атрибутов.

При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.

Нормальная форма Бойса -- Кодда (BCNF)

Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса -- Кодда).

Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.

Четвёртая нормальная форма (4NF)

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

Пятая нормальная форма (5NF)

Основная статья: Пятая нормальная форма

Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. Пятая нормальная форма в большей степени является теоретическим исследованием и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции -- соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.

3. Описание среды программирования

Программный продукт «Автоматизация учёта клиентов отдела вневедомственной охраны» разработан в Borland Delphi 7.0. Программа на Delphi работает во взаимосвязи, Microsoft Word 2003 и Microsoft Excel 2003. Таблицы, с которыми связана программа на Delphi, разработаны в Access 2003, которая входит в состав Microsoft Office 2003.

Практический минимум, предъявляемым Access 2003 к персональному компьютеру, является Pentium 300 MHz, 32 Мб оперативной памяти при работе под Windows 98 или 32 Мб при работе под Windows NT Workstation, 2 Мб видео карта. При стандартной установке набора приложений: Word, Excel, Outlook, Power Point, Access, FrontPage требуется примерно 350 Мб на жестком диске. Рекомендуется монитор SVGA, возможно использование VGA.

Microsoft Access — это функционально полная реляционная СУБД. В ней предусмотрены все необходимые инструментальные средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Что касается легкости использования, то Microsoft Access совершил здесь настоящий переворот, и многие для создания своих собственных баз данных и приложений обращаются именно к нему.

Microsoft Access предоставляет максимальную свободу в задании типа ваших данных (текст, числовые данные, даты, время, денежные значения, рисунки, звук, документы, электронные таблицы). Для уверенности, что в базе данных хранятся только корректные значения, можно задать условия на значения различной степени сложности.

Microsoft Access может работать с большим числом самых разнообразных форматов данных, включая файловые структуры других СУБД. Вы можете осуществлять импорт и экспорт данных из файлов текстовых редакторов или электронных таблиц. С помощью Access вы можете непосредственно — обрабатывать файлы Рагаdох, dВАSE III, dВАSЕ IV, FохРго и др. Можно также импортировать данные из этих файлов в таблицу Access.

В Microsoft Access для обработки данных ваших таблиц используется мощный язык SQL (Structured Query Language — Структурированный язык запросов). Используя, вы можете выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Чтобы заставить Microsoft Access решать ваши задачи, вам совершенно не требуется знать язык SQL.

Среди большого разнообразия продуктов для разработки приложений Delphi занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с разным стажем, привычками, профессиональными интересами. С помощью Delphi написано колоссальное количество приложений, десятки фирм и тысячи программистов-одиночек разрабатывают для Delphi дополнительные компоненты. С помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила. Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

Достоинства Borland Delphi:

1. В качестве языка программирования в среде Borland Delphi используется Pascal, который зарекомендовал себя как надежный структурированный язык.

2. 1. Borland Delphi динамично развивающаяся среда программирования.

3. В Borland Delphi встроена очень мощная поддержка Баз Данных различных форматов.

3.1 Требования к техническому обеспечению

Минимальные требования:

· процессор Pentium 2;

· операционная система Windows 98;

· свободное место на жестком диске 50 Мб для программы.

Рекомендуемые требования:

· любой процессор Intel/AMD;

· операционная система Windows XP;

· ОЗУ 128 Мб;

· свободное место на жестком диске 50 Мб.

Для ввода данных необходимо наличие:

· клавиатуры;

· компьютерной мыши.

3.2 Требования к программному обеспечению

Программное обеспечение пользователя должно быть:

ь Операционная система Windows XP и выше;

ь Наличие Microsoft Access 2003;

MC Office 2003;

ь Дистрибутив программы.

4. Методика разработки программы

4. 1 Алгоритмизация задачи

4.1.1 Описание алгоритма

Программное обеспечение «Автоматизация учёта клиентов отдела вневедомственной охраны «разработано на Borland Delphi 7.0 c использованием СУБД Microsoft Access.

Алгоритмизация решения задачи дипломного проекта разбита на несколько этапов. Каждый этап представляет собой постановку и решение отдельных задач.

Для работы форм и отчетов программы были созданы таблицы:

Таблица 1. Договора.

Имя поля

Тип данных

Код договора

Счетчик

№ Договора

Текстовый

Тип договора

Текстовый

Месячная оплата

Денежный

Дата заключения

Дата/время

Дата начала охраны

Дата/время

Дата завершения

Дата/время

Перезаключение

Текстовый

Таблица 2. Клиенты

Имя поля

Тип данных

Код организации

Счетчик

Название организации

Текстовый

ФИО директора

Текстовый

Должность Заказчика

Текстовый

№ доверенности

Текстовый

Паспорт № и дата выдачи

Текстовый

Адрес

Текстовый

Телефон дом

Текстовый

Телефон раб

Текстовый

ИНН

Числовой

БИК

Числовой

Почтовый адрес

Текстовый

Р/С

Числовой

К/С

Числовой

Факс

Числовой

Код договора

Числовой

Код заявления

Числовой

Код объекта

Числовой

Таблица 3. Объекты

Имя поля

Тип данных

Код объекта

Счетчик

Класс объекта

Текстовый

Объект

Текстовый

Адрес объекта

Текстовый

К1

Текстовый

К2

Текстовый

К2

Текстовый

Таблица 3. Заявления

Имя поля

Тип данных

Код заявления

Счетчик

Тип заявления

Текстовый

Дата заявки

Дата/время

Таблица 5. Пользователи

Имя поля

Тип данных

Код пользователя

Счетчик

Логин

Текстовый

Пароль

Текстовый

Доступ

Логический

Программа имеет следующие формы:

· Форма, которая является главной данного проекта. При помощи кнопок, которые расположены на этой форме, можно легко и быстро открыть интересующую вас информацию.

· Работа с договорами — эта форма содержит данные о договорах, в ней можно отредактировать эти данные, распечатать договор, распечатать расчет времени охраны.

· Форма «Заявления» форма содержит данные о заявлениях в ней можно отредактировать эти данные, распечатать заявление.

· Форма «Объекты» является основной для получения информации о охраняемых объектах и расчёта стоимости услуг вневедомственной охраны.

4.1.2 Структурная схема

4.2 Программирование

В соответствии со структурной схемой, приведенной выше в пункте 4.1.2. «Структурная схема», в представленной программе разработаны тексты программы на Borland Delphi 7.0. Тексты, соответствующие программе, приведены в пункте V. «Приложение»

4.3 Аномалии и защитное программирование

Описание аномалии

Реакции на аномалию

Способ защиты

1. Ввод в поле числовых значений

Невозможность ввода нецифровых значений.

Защищено разработчиком с помощью Delphi

2. При не внесении в поле поиска данных

Вывод сообщения об ошибке

Защищено разработчиком с помощью Delphi

3. Ввод неверного логина или пароля

Вывод сообщения об ошибке

Защищено разработчиком с помощью Delphi

4. 4 Тестирование и отладка

Тестирование — процесс многократного выполнения программы с целью выявления ошибок. Отладка — исправление ошибок, найденных с помощью тестирования. При тестировании должны использоваться следующие принципы:

1) необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы, чтобы можно было быстро выяснить наличие или отсутствие ошибки в ней;

2) следует по возможности избегать тестирования программы ее автором, т.к. кроме уже указанной объективной сложности тестирования для программистов здесь присутствует и тот фактор, что обнаружение недостатков в своей деятельности противоречит человеческой психологии (однако отладка программы эффективнее всего выполняется именно автором программы);

3) по тем же соображениям организация — разработчик программного обеспечения не должен «единолично» его тестировать (должны существовать организации, специализирующиеся на тестировании программных средств);

4) должны являться правилом доскональное изучение результатов каждого теста, чтобы не пропустить малозаметную на поверхностный взгляд ошибку в программе;

5) необходимо тщательно подбирать тест не только для правильных (предусмотренных) входных данных, но и для неправильных (непредусмотренных);

6) при анализе результатов каждого теста необходимо проверить, не делает ли программа того, что она не должна делать;

7) следует сохранять использованные тесты (для повышения эффективности повторного тестирования программы после ее модификации или установки у заказчика);

8) тестирование не должно планироваться исходя из предположения, что в программе не будут обнаружены ошибки (в частности, следует выделять для тестирования достаточные временные и материальные ресурсы),

9) следует учитывать так называемый «принцип скопления ошибок»: вероятность наличия не обнаруженных ошибок в некоторой части программы прямо пропорциональна числу ошибок, уже обнаруженных в этой части;

10) следует всегда помнить, что тестирование — творческий процесс, а не относиться к нему как к рутинному занятию.

Тестирование данного ПП производилось с помощью детерминированного метода тестирования. Этот метод включает в себя структурное тестирование (тестирование ПП как «белого ящика», т. е. предполагает детальное изучение логики программы и подбор входных данных, которые обеспечат выполнение максимально возможного количества маршрутов, логических ветвлений, циклов), функциональное тестирование (тестирование ПП как «черного ящика», т. е. тестирование по «входу — выходу»), не вникая в логику программы.

5. Анализ результатов решения

В соответствии с пунктом 4.4 тестирование и отладка производились непосредственно во время разработки проекта. После завершения работы над программой было еще раз произведено полное тестирование.

Все найденные ошибки были успешно устранены.

Получившийся в результате программный продукт удовлетворяет всем предъявленным требованиям, полностью работоспособен, не требует принципиальных доработок, и готов к эксплуатации.

Достоинства программы заключаются в удобстве заполнения и корректировки БД, грамотной справке пользователю, что значительно облегчает работу в программе. Также существует качественный поиск данных по различным критериям.

6. Инструкция пользователю

Общие сведения о программе:

Программа служит для эффективной и быстрой работы с информацией об клиентах отдела вневедомственной охраны.

Так же программа позволяет производить хранение данных, осуществлять поиск по заданным критериям и получать отчеты по ним.

Запуск программы.

Запуск программы производится двойным нажатием левой клавиши мыши на «Ohrana. exe». После запуска программы на экране появится окно доступа куда пользователю необходимо ввести свой логин и пароль

Если данные введены верно то появляется главная форма программы, которая выглядит следующим образом:

Здесь представлены кнопки для выполнения различных операций. Из этого меню Вы можете: работать с заявками и с договорами. Так же Вы можете вывести на экран (а при необходимости и распечатать) различные отчеты: отчет расчета времени охраны объекта, заявки на установку охраны объекта.

Для начала работы с заявками, выберите на главной форме раздел «Заявления».

При заполнении полей этой формы данные сохраняются в БД «Охрана». Удалить заявку. Чтобы удалить заявку, нажмите на кнопку «Удалить» Распечатать заявку. Для печати заявки, нажмите на кнопку «Заявления» или «Заявления снять», при этом на экран выводится заявка в виде документа Microsoft Word.

Для начала работы с договорами, выберите на главной форме пункт «Договора».

На форме находятся три вкладки «Организация», «Реквизиты», «Договор»

После заполнения необходимых данных есть возможность открыть и распечатать договор ПЦО, КТС, Пожарная. Все договора выводятся в виде документа Microsoft Word.

При помощи меню Расчёт времени можно перейти на формы для расчёта времени охраны № 1.

На этой форме необходимо заполнить количество дней охраны, а затем выставить время охраны. После заполнения нажать на кнопку «Расчёт».

Появляется документ Microsoft Excel в котором при помощи формул производится расчёт времени охраны объекта.

Также при помощи меню Расчёт времени можно перейти на формы для расчёта времени охраны № 2 которая используется для более детального расчёта.

Примечание!!! — таблица сама рассчитает норму часов охраны, необходимо только заполнить графы.

— при заполнении таблицы вводить 0 часов, а не 24 часа;

Для расчёта времени охраны необходимо нажать Файл-Расчёт № 2

Появляется документ Microsoft Excel в котором при помощи формул производится расчёт времени охраны объекта.

Для того чтобы начать работу с объектами, выберите на главной форме пункт «Объекты», при этом появится форма:

На этой форме заполняются и отображаются сведения об охраняемых объектах.

Классификация объектов.

1. В зависимости от значимости и концентрации материальных, художественных, исторических, культурных и культовых ценностей, размещенных на объекте, последствий от возможных преступных посягательств на них, все объекты, их помещения и территории подразделяются на две группы (категории): А и Б. Каждая из них дополнительно подразделяется на две подгруппы: А1 и А2, Б1 и Б2.

Объекты подгрупп А1 и А2 — это объекты особо важные, повышенной опасности и жизнеобеспечения, противоправные действия (кража, грабеж, разбой, терроризм и другие) на которых, в соответствии с уголовным законодательством Российской Федерации могут привести к крупному, особо крупному экономическому или социальному ущербу государству, обществу, предприятию, экологии или иному владельцу имущества.

Объекты подгрупп Б1 и Б2 — это объекты, хищения на которых в соответствии с уголовным законодательством Российской Федерации могут привести к ущербу в размере до 500 минимальных размеров оплаты труда и свыше 500 соответственно.

2. Объекты подгруппы А2 (специальные помещения объектов особо важных и повышенной опасности):

хранилища и кладовые денежных валютных средств, ценных бумаг;

хранилища ювелирных изделий, драгоценных металлов и камней;

хранилища секретной документации, изделий;

специальные хранилища взрывчатых, наркотических, ядовитых, бактериологических, токсичных и психотропных веществ и препаратов;

специальные фондохранилища музеев и библиотек.

3. Объекты подгруппы А1:

объекты особо важные, повышенной опасности и жизнеобеспечения, включенные в Перечень объектов, подлежащих государственной охране согласно Постановлению Правительства Российской Федерации от 14 августа 1992 года № 587;

объекты, включенные органами власти субъектов Российской Федерации или местного самоуправления в перечни объектов особо важных, повышенной опасности и жизнеобеспечения;

объекты по производству, хранению и реализации наркотических веществ, сильнодействующих ядов и химикатов, токсичных и психотропных веществ и препаратов (базы аптекоуправления, аптеки, склады медрезерва, научные, медицинские и другие учреждения, заведения, в практике которых используются эти вещества);

ювелирные магазины, базы, склады и другие объекты, использующие в своей деятельности ювелирные изделия, драгоценные металлы и камни;

объекты и помещения для хранения оружия и боеприпасов, радиоизотопных веществ и препаратов, предметов старины, искусства и культуры;

объекты кредитно-финансовой системы (банки, операционные кассы вне кассового узла, дополнительные офисы, пункты обмена валюты, банкоматы);

кассы предприятий, организаций, учреждений, головные кассы крупных торговых предприятий;

сейфовые комнаты, предназначенные для хранения денежных средств, ювелирных изделий, драгоценных металлов и камней;

другие аналогичные объекты и имущественные комплексы.

4. Объекты подгруппы Б2:

объекты с хранением или размещением товаров, предметов повседневного спроса, продуктов питания, компьютерной техники, оргтехники, видео- и аудиотехники, кино- и фотоаппаратуры, натуральных и искусственных мехов, кожи, автомобилей и запасных частей к ним, алкогольной продукции с содержанием этилового спирта свыше 13% объема готовой продукции и другого аналогичного имущества.

5. Объекты подгруппы Б1:

объекты с хранением или размещением изделий технологического, санитарно-гигиенического и хозяйственного назначения, нормативно-технической документации, инвентаря и другого имущества;

объекты мелкооптовой и розничной торговли (павильоны, палатки, ларьки, киоски и другие аналогичные объекты).

6. Объекты, не вошедшие в перечни, квалифицируются по ближайшему аналогу с учетом возможного риска и ущерба вследствие преступного посягательства на них.

После заполнения полей формы с учётом положенных скидок производится расчёт стоимости оплаты за час охраны, за месяц охраны:

Для составления договоров необходимы реквизиты не только Клиента, но и Охраны и ФУП «Охрана» чтобы пользователь при изменении этих данных мог исправить их в программе предусмотрена форма «Исходные данные», которая открывается из меню главной формы Файл — Исходные данные. Она выглядит следующим образом:

Для редактирование сведений используемых при входе в программу используется форма «Пользователи», которая открывается из меню главной формы Файл — Пользователи.

7. Экономическая часть

Данное приложение предназначено для автоматизации учёта клиентов отдела вневедомственной охраны. Необходимо подсчитать экономический эффект от внедрения данного программного продукта, который в данном случае заключается в экономии рабочего времени сотрудника отдела.

Экономический эффект — это экономия времени сотрудника предприятия, которая может быть достигнута за счет:

Сокращение времени на формирование нужных документов;

Снижения временных затрат на обработку данных;

Снижение временных затрат на поиск необходимой информации.

Таблица затрат на разработку и внедрение.

Этап разработки

Содержание работы

Трудоемкость в часах

Постановка задачи

Пред проектное обследование.

Разработка, согласование и утверждение технико-экономического обоснования.

11

Технический проект

Уточнение структуры и формы представления входных и выходных данных. Разработка алгоритма решения задачи. Разработка структуры программы.

Разработка плана мероприятий по разработке и внедрению ПП. Согласование и утверждение технического проекта.

40

Рабочий проект

Описание программы на языке программирования

Разработка, согласование и утверждение порядка и методики испытаний, корректировка программы

90

Документация и внедрение.

Разработка программной документации

20

ИТОГО:

161 час

1. Коэффициент сложности задачи с характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина с лежит в пределах от 0,5 до 1,5). Для программного продукта, включающего в себя алгоритмы поиска информации сложность задачи берем 0,8 так как данный программный продукт не требует знания сложных языков программирования.

с= 0,8- коэффициент сложности программы.

2. Коэффициент коррекции программы p — увеличение объема работ за счет внесения изменений в алгоритм или программу по результатам уточнения постановок (P меняется от 0,1 до 0,5). С учетом того, что в данном случае заказчик, слабо представлял себе, что он хочет получить, что приводило к многочисленным доработкам, возьмем коэффициент p = 0,2 — коэффициент коррекции программы в ходе разработки.

3. Коэффициент увеличения затрат труда, вследствие недостаточного описания задачи, в зависимости от сложности задачи принимается от 1,2 до 1,5, в связи с тем, что данная задача, потребовала уточнения и больших доработок, берем b = 1,3.

b = 1,3 коэффициент увеличения затрат труда.

4. Коэффициент квалификации разработчика K определяется в зависимости от стажа работы и составляет:

для работающих до 2 лет — 0,8;

от 3 до 5 лет — 1,0;

от 5 до 8 лет — 1,2;

свыше 8 лет — 1,5.

Разработчик, которому было поручено это задание, имел опыт работы по специальности менее 1 года, поэтому берем k = 0,8. Оклад работника равен 10 000 рублей (З/П). Зная все необходимые для подсчетов коэффициенты оклад программиста на предприятии, рассчитаем з/п разработчика программного продукта:

З/Посн = оклад*c*k*(p+1)*b

З/Посн =10 000*0,8*0,8*1,2*1,3=9984.

Поскольку дополнительная заработная плата в виде премии работнику за это время не выплачивалась, то суммарные затраты предприятия на заработную плату составят:

З/Псум = З/Посн + З/Пдоп = 9984+ 0 =9984

Страховые отчисления (СО) берутся в размере 26% от основной и дополнительной заработной платы:

Со = З/Псум * 26%,

Со = 9984*26%= 2596 рублей

Суммарные затраты предприятия на заработную плату за время написания программного продукта, с учетом страховых отчислений (З/Побщ) составит:

З/Побщ = (9984+ 2596) / (8*22)*161 = 11 508 рублей.

Содержание и эксплуатация вычислительного комплекса:

Для расчёта показателей данного вида необходимо иметь значения следующих показателей:

1. Стоимость потреблённой электроэнергии.

2. Сумму амортизационных отчислений.

3. Техническое обслуживание затраты на ремонт.

Содержание и эксплуатация вычислительного комплекса:

Свт =См-ч * Число часов отладки,

где См-ч — стоимость машино-часа.

Число часов отладки составляет: 40+90+20 = 150 часов.

1. Стоимость машинного часа рассчитывается, как:

См-ч =Ст-ть электроэн (в год) + ам-ция оборуд (в год) +затраты на ремонт

Фвт

Фвт — действительный фонд времени работы вычислительного комплекса.

Стоимость электроэнергии в год: 4 руб. за 1квт. В час.

ПК потребляет в час 300 кВт.

За год отчисления за электроэнергию, потребляемую одной ЭВМ составляет:

8ч. * 22 дня * 12 мес. * 0,3 кВт. * 4 руб. = 2534 руб.

2. Амортизация зависит от срока эксплуатации компьютера, а т.к. срок эксплуатации компьютера 4 года (ПК был приобретен 20. 01. 06.), то амортизация не начисляется и не учитывается в дальнейших подсчетах.

3. Затраты на ремонт ЭВМ составляют 5% от стоимости ПК:

Стоимость ПК = 20 000 руб.

Стоимость ремонта ЭВМ = 20 000 * 5% = 1000 рублей в год

4. Действительный фонд времени работы вычислительного комплекса рассчитываем так:

Фвт = Фном — Фпроф,

где Фном — номинальный фонд времени работы вычислительного комплекса,

Фпроф — годовые затраты времени на профилактические работы (принимаются 5% от Фном).

ПК работает в среднем 2112 часов в год (Фном). Время ремонта ЭВМ в среднем занимает 5% времени работы ПК (Фпроф). Следовательно:

Фвт = 2112 -(2112*5%) = 2006

Стоимость машинного часа составляет:

см-ч = 2534+1000 = 1,7 руб.

2006

Содержание и эксплуатация вычислительного комплекса составляет:

150 ч. *1,7 руб. = 255 руб.- при написании программы.

Данный программный продукт был создан в среде, которая была ранее установлена на рабочем компьютере и ее покупка не нужна.

Затраты на обслуживание моего программного продукта не нужны.

Наименование статьи расходов

Затраты

Основная заработная плата

9984

Страховые отчисления

2596

Содержание и эксплуатация вычислительного

комплекса.

255

Программное обеспечение

0

Обслуживание программного продукта

0

ИТОГО:

12 805

Экономический эффект от реализации и внедрения программного продукта.

Экономический эффект — это прежде всего экономия денежных средств предприятия, которая может быть достигнута за счет: снижения временных затрат на ввод, поиск и печать информации.

Данное приложение написано специально для отдела вневедомственной охраны. Основной задачей дипломного проекта является автоматизация учета клиентов отдела вневедомственной охраны. Необходимо подсчитать экономию внедрения программного продукта.

Рассчитаем экономический эффект, информации и поиска после внедрения программного продукта.

Для ведения расчетов введем следующие обозначения:

Т1 — время, затрачиваемое сотрудником отдела на ввод данных до внедрения программного продукта.

Т2 — время, затрачиваемое сотрудником на ввод данных после внедрения программного продукта.

До внедрения программного продукта на то чтобы найти нужную информацию сотрудник пересматривает порядка 10 документов в среднем тратил около 15мин.:

Т1 = 15 мин. = 0,25 часа.

После внедрения программы время сократилось и составило 5 мин. :

Т2 = 5 мин. = 0,12 часа.

Нас интересует, сколько времени выигрывает предприятие, используя данное приложение. Это легко сделать, рассчитав

Т = Т1— Т2 = 0,25 — 0,12 = 0,13 часа

Теперь рассчитаем стоимость работы специалиста.

В месяц сотрудник работает (8 часов * 22 рабочих дня) = 176 часов.

Стоимость оклада этого специалиста составляет 20 000 рублей.

Стоимость 1 часа (P), рассчитывается следующим образом:

P = 20 000/176 = 113,7 рубля.

Также, учтем страховые отчисления, которые берем в размере 26%

Р фо = (20 000*26%) / 176 = 29,5

Р сумма = Р + Р фо = 113,7 + 29,5 = 143,2 руб. за час работы.

Эту сумму сотрудник зарабатывает за 1 час работы.

Расчет срока окупаемости

Перемножим выигранное время, количество операций, количество рабочих дней в месяце и на количество рабочих месяцев получаем годовую экономию времени.

Т год = (0,13 * 7) * 22 * 12 = 240,24 часов.

Годовая экономия средств =

Т год * Р сумма = 240,24 часов * 143,2 руб. = 34 402,4

Экономический эффект = из найденной суммы вычтем затраты:

34 402,4 — 12 805= 21 597 руб. /год

Теперь посчитаем, через какой промежуток времени окупится приложение:

«Автоматизация учёта клиентов отдела вневедомственной охраны»

Срок окупаемости = Затраты / годовая экономия

Срок окупаемости = 12 805/34402 = 0,4 года

При обобщении выше сказанного можно сделать вывод, что годовая экономия при внедрении программного продукта составит 34 402,4 рублей, Оперативный сотрудник отдела, тративший на ввод, поиск и печать информации 15 минут, после внедрения будет тратить 5 минут. Программный продукт окупится пять месяцев.

В результате разработку и внедрение данного программного продукта следует считать целесообразным и обоснованным с экономической точки зрения.

Заключение

В данном дипломном проекте реализована задача автоматизация учёта клиентов отдела вневедомственной охраны. Разработано программное приложение, которое позволяет осуществить программный учёт клиентов, договоров и охраняемых объектов, а так же выводить на печать необходимую для работы информацию.

Разработанная программа полностью соответствует п. 1. «Постановка задачи».

Произведённая экономическая оценка эффективности от внедрения программного продукта, свидетельствует об экономической рентабельности проекта.

Срок окупаемости составляет пять месяцев.

Литература

1. Microsoft Access. В. Фаронов

2. В. Фаронов — Программирование баз данных в Delphi7 2003г.

3. Боб Виллариал Программирование Access в примерах 2012 г.

4. С. Бобровский DELPHI 7 учебный курс 2008 г.

5. Проектирование и реализация баз данных Microsoft SQL Server 2009. Учебный курс MCA

6. Михаил Фленов- Библия DELPHI 2012 г.

Приложение

Form Bxod;

unit Bxod;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, StdCtrls;

type

TForm1 = class (TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

LoginEdit: TEdit;

PasswordEdit: TEdit;

Button3: TButton;

UserQuery: TADOQuery;

ADOConnection1: TADOConnection;

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Login: string;

Dostup: boolean;

implementation

uses Unit2, Unit3, Unit6;

{$R *. dfm}

procedure TForm1. Button1Click (Sender: TObject);

begin

If (LoginEdit. Text<>'') and (PasswordEdit. Text<>'') then //поля не пустые

begin

UserQuery. Active:=false;

UserQuery. Parameters. ParamByName ('log'). Value:=LoginEdit. Text;

UserQuery. Active:=true;

If UserQuery. RecordCount<>0 then

begin

If UserQuery. FieldByName ('Password1'). AsString=PasswordEdit. Text then begin

login: =LowerCase (LoginEdit. Text);

If UserQuery. FieldByName ('Dostup1'). AsString='True' then Dostup: =true //есть доступ

//then Form2. Show;

else Dostup: =false;

Glawn. Show //Close;

end

else MessageBox (handle, PChar ('Пароль неверный!'), PChar ('Внимание'), 16);

end;

end

else MessageBox (handle, PChar ('Введите имя пользователя и пароль'), PChar ('Внимание'), 48); //пустые поля

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

MessageBox (handle, PChar ('Введите Ваше имя пользователя и пароль !'), PChar ('Внимание'), 64);

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

Application. Terminate;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

//MiProgressBar. Show;

end;

end.

Form Glawn;

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, jpeg, ExtCtrls, XPMan;

type

TGlawn = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

XPManifest1: TXPManifest;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

Image1: TImage;

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure Image1Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N6Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Glawn: TGlawn;

implementation

uses Unit1, zayavlenie, Bxod, Unit5, Unit8, Unit9;

{$R *. dfm}

procedure TGlawn. N3Click (Sender: TObject);

begin

zayav. show;

end;

procedure TGlawn. N4Click (Sender: TObject);

begin

Obect. show;

end;

procedure TGlawn. N5Click (Sender: TObject);

begin

SourceData. show;

end;

procedure TGlawn. N7Click (Sender: TObject);

begin

users. show;

If Form1. LoginEdit. text='admin' then Glawn. N7. Visible:=true

else Glawn. n7. Visible:=false;

end;

procedure TGlawn. Image1Click (Sender: TObject);

begin

If Form1. LoginEdit. text='admin' then Glawn. N7. Visible:=true

else Glawn. n7. Visible:=false;

end;

procedure TGlawn. N2Click (Sender: TObject);

begin

Dogowor. show;

end;

procedure TGlawn. N6Click (Sender: TObject);

begin

Close ();

end;

end.

Form Zayav

unit zayavlenie;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, Mask, DBCtrls, ComCtrls, ExtCtrls, DB, ADODB;

type

Tzayav = class (TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

Label4: TLabel;

Label6: TLabel;

Label3: TLabel;

Label14: TLabel;

Label12: TLabel;

Label1: TLabel;

Button1: TButton;

N12: TMenuItem;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Button3: TButton;

Edit1: TEdit;

Edit4: TEdit;

ADOTable1: TADOTable;

DataSource2: TDataSource;

DBComboBox1: TDBComboBox;

Label2: TLabel;

DBNavigator1: TDBNavigator;

Edit2: TEdit;

Edit3: TEdit;

procedure N2Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N8Click (Sender: TObject);

procedure N10Click (Sender: TObject);

procedure N11Click (Sender: TObject);

procedure N13Click (Sender: TObject);

procedure N14Click (Sender: TObject);

procedure N12Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

zayav: Tzayav;

implementation

uses ComObj, Unit1;

{$R *. dfm}

procedure Tzayav. N2Click (Sender: TObject);

var

WordApp, Doc: variant;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Начальнику ОВО при' +#13 +#10+'ОВД по Боровскому району'+#13 +#10+ 'подполковнику милиции' + #13 +#10+' Лузгачеву С.И.' +#13 +#10);

WordApp. Selection. TypeText ('от ' +Edit1. Text +#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=15;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас принять под охрану объект ' +Edit2. Text);

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text);

WordApp. Selection. TypeText (' с ' +DateToStr (DateTimePicker2. Date) + ' года. Время охраны объекта ежедневно с ______ часов до ______ часов. '+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО '+#13 +#10+#13 +#10)

end;

procedure Tzayav. N6Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=13;

//WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Директору ФФГУП «Охрана"' +#13 +#10+'МВД РФ по Калужской области'+#13 +#10+ ' Шихирину Г. В.' + #13 +#10);

WordApp. Selection. TypeText ('от ' +Edit1. Text +#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас произвести монтаж тревожной сигнализации в помещении ' +Edit2. Text);

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text+#13 +#10+#13);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО ');

end;

procedure Tzayav. N3Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=13;

//WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Директору ФФГУП «Охрана"' +#13 +#10+'МВД РФ по Калужской области'+#13 +#10+ ' Шихирину Г. В.' + #13 +#10);

WordApp. Selection. TypeText ('от ' +Edit1. Text +#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас произвести монтаж _______________' +Edit2. Text + ' сигнализации в помещении' + Edit2. Text);

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text+#13 +#10+#13);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText (DateToStr (DateTimePicker1. Date)+' _____________'+#13 +#10);

WordApp. Selection. TypeText (' ФИО ');

end;

procedure Tzayav. N4Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Начальнику ОВО при' +#13 +#10+'ОВД по Боровскому району'+#13 +#10+ 'подполковнику милиции' + #13 +#10+' Лузгачеву С.И.' +#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=15;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас заключить договор на экстренный выезд наряда милиции при срабатывании тревожной кнопки в моем доме, расположенном по адресу: ' +Edit3. Text);

WordApp. Selection. TypeText (' с ' +DateToStr (DateTimePicker2. Date) + ' года. Время охраны объекта ежедневно с ______ часов до ______ часов. '+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО '+#13 +#10+#13 +#10)

end;

procedure Tzayav. N5Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Начальнику ОВО при' +#13 +#10+'ОВД по Боровскому району'+#13 +#10+ 'подполковнику милиции' + #13 +#10+' Лузгачеву С.И.' +#13 +#10);

//WordApp. Selection. TypeText ('от ' +DBEdit15. Text +#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=14;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=12;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText (' Прошу Вас провести обследование и выдать заключение на предмет оснащенности ' +Edit2. Text);

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text);

WordApp. Selection. TypeText (' средствами охранной сигнализации. '+#13 +#10+#13 +#10+#13 +#10);

//WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО '+#13 +#10+#13 +#10);

end;

procedure Tzayav. N7Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=13;

//WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Директору ФФГУП «Охрана"' +#13 +#10+'МВД РФ по Калужской области'+#13 +#10+ ' Шихирину Г. В.' + #13 +#10);

WordApp. Selection. TypeText ('от ' +Edit1. Text +#13 +#10);

WordApp. Selection. TypeText (Edit3. Text +#13 +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас заключить договор на обслуживание комплекса технических средств охраны объекта' +Edit2. Text + ' сигнализации в помещении');

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text);

WordApp. Selection. TypeText (' с ' +DateToStr (DateTimePicker2. Date) + ' года. '+#13 +#10+#13 +#10+#13);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

//WordApp. Selection. TypeText (DBEdit12. Text+' _____________'+#13 +#10);

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО '+#13 +#10+#13 +#10)

end;

procedure Tzayav. N8Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. Font. Size:=13;

//WordApp. Selection. Font. Bold:=true;

WordApp. Selection. TypeText ('Директору ФФГУП «Охрана"' +#13 +#10+'МВД РФ по Калужской области'+#13 +#10+ ' Шихирину Г. В.' + #13 +#10);

WordApp. Selection. TypeText ('от ' +Edit1. Text +#13 +#10+#13 +#10);

WordApp. Selection. TypeText ('' +#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=1;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. TypeText ('Заявление'+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=0;

WordApp. Selection. Font. Size:=13;

WordApp. Selection. Font. Bold:=false;

WordApp. Selection. TypeText ('Прошу Вас провести пусконаладочные работы комплекса технических средств охраны объекта ' +Edit2. Text);

WordApp. Selection. TypeText (' расположенный по адресу: ' + Edit3. Text+#13 +#10+#13);

WordApp. Selection. TypeText ('Оплату гарантирую. '+#13 +#10+#13 +#10+#13 +#10+#13 +#10);

WordApp. Selection. Paragraphs. Alignment:=2;

WordApp. Selection. TypeText ('_______________ _____________'+#13 +#10);

WordApp. Selection. TypeText ('подпись ФИО ');

end;

procedure Tzayav. N10Click (Sender: TObject);

var

WordApp, Doc: variant;

//Vrem: Word;

begin

try

wordapp:= CreateOleObject ('Word. Application');

except

Showmessage ('Word не установлен!');

exit;

end;

Wordapp. Visible:=true;

Doc: =Wordapp. Documents. Add;

//WordApp. Selection. TypeParagraph;

WordApp. Selection. Paragraphs. Alignment:=2;

ПоказатьСвернуть
Заполнить форму текущей работой