Разработка автоматизированной системы учета вкладов в банке

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 04.11.2014
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

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

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

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

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

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

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

1.1 Описание предметной области

Требуется разработать информационную систему для ведения учета вкладов в банке. Система должна предусматривать проверки данных клиентов, учет вкладов.

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

Перечень задач для реализации:

- спроектировать базу данных;

- создать формы для работы с базой;

- организовать пользовательское меню;

- создать поисковые системы;

- организовать сортировку данных;

- сформировать отчеты.

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

- полнота;

- достоверность;

- актуальность;

- эффективность;

- оперативность;

- удобный интерфейс.

Перечни документов, необходимых для открытия счета в банке.

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

1. Заявление на открытие счета в соответствующей валюте (на бланке банка).

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

3. Карточка с образцом подписи физического лица (удостоверенная нотариально или уполномоченным лицом банка).

Перечень документов, необходимых для открытия счета в Банке физическому лицу - нерезиденту:

1. Заявление на открытие счета в соответствующей валюте (на бланке банка).

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

3. Разрешение (лицензия) национального банка иностранного государства на открытие физическому лицу - нерезиденту счетов в банках РФ, если наличие такого разрешения требуется в соответствии с международными договорами с участием РФ (нотариально удостоверенная копия, на обозрение предъявляется также оригинал).

4. Карточка с образцом подписи физического лица - нерезидента (удостоверенная нотариально или уполномоченным лицом банка).

Иностранные документы принимаются только с подлинными отметками о консульской легализации либо заверении апостилем (для стран - участниц Гаагской Конвенции 1961 г.), если освобождение от этих процедур не предусмотрено международными соглашениями РФ, вместе с удостоверенным нотариально либо в консульском загранучреждении переводом на русский язык.

1.2 Функциональная модель предметной области

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

Функциональная модель в виде иерархии функций способствует пониманию поведения субъекта моделирования.

В соответствии с методологией структурного анализа в первую очередь строится контекстная диаграмма - самое общее описание главной функции системы в целом и ее взаимодействия с внешней средой. Контекстная диаграмма представлена на рисунке 1.2.1.

Рисунок 1.2.1 - Контекстная диаграмма «Автоматизация учета вкладов

в банке»

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

Рисунок 1.2.2 - Диаграмма декомпозиции «Автоматизация учета вкладов в банке»

1.3 Схема данных

Схема данных отображает путь данных при решении задачи и определяет этапы обработки, информационные потоки и применяемые носители данных. Схема данных представлена на рисунке 1.3.1.

Рисунок 1.3.1 - Схема данных

1.4 Описание входной информации

Входным документом для задачи «Автоматизация учета вкладов в банке» является заявление,паспорт от клиента. Описание входного документа показано в таблице 1.4.1.

Таблица 1.4.1 - Описание входных документов

Наименование документа (шифр)

Дата поступления документа

Откуда поступает документ

Заявление

При регистрационных действиях

Клиент

Паспорт

При регистрационных действиях

Клиент

1.5 Описание структуры базы данных

Описание структуры базы данных показано в таблице 1.5.1.

Таблица 1.5.1 - Описание структуры базы данных

Назначение (содержимое) таблицы

Физическое имя таблицы

Наименование полей

Шифр поля

Формат поля

Размер поля

1

2

3

4

5

6

Данные о клиенте

Klientu.db

Номер счета

N_cheta *

Строка

15

Ф.И.О

FIO

Строка

40

Дата рождения

DTR

Дата

8

Телефон

Telefon

Строка

11

Паспорт

Pasport

Строка

11

Номер договора

N_dogovora

Строка

2

Код вклада

Kod_vklada

Строка

4

Данные о сотруднике

Sotrudniki.db

Табельный номер

Tab_nomer *

Строка

2

Ф.И.О

FIO

Строка

30

Дата рождения

DTR

Дата

8

Должность

Dolshnost

Строка

10

Стаж

Stash

Строка

2

Телефон

Telefon

Строка

20

Данные о видах вклада

Vidu_vkladu.db

Код вклада

Kod_vklada *

Строка

4

Наименование вклада

Naim_vklada

Строка

30

% ставка

%_stavka

Строка

6

Статус счета

Status_cheta

Строка

16

Данные о вкладах

Vkladu.db

Номер

N *

Счетчик

6

Номер счета

N_cheta

Строка

15

Дата

Data

Дата

8

Приход

Prixod

Денежный

ххх

ххх

Расход

Rasxod

Денежный

ххх

ххх

Табельный номер сотрудника

Tab_N_sotr

Строка

2

Примечание

* - ключевое поле

1.6 Описание выходной информации

Выходными документами являются:

- отчет «Виды вкладов»;

- договор;

Описание выходных документов показано в таблице 1.6.1

Таблица 1.6.1 - Описание выходных документов

Наименование документа (шифр)

Периодичность выдачи документа

Кол-во экз.

Куда передаются

Отчет «Виды вкладов»

Ежегодно

1

Банк

Договор

При регистрационных действиях

1

Клиент

Выходные документы и отчеты получаются на основании входных данных.

Выходной документ «Договор» приведен в приложении Б.

1.7 Контрольный пример

Контрольный пример является ручным вариантом просчета решения задачи и служит для проверки правильности решения задач на ЭВМ.

Формы «Добавление нового клиента» и «Список клиентов» показаны на рисунках 1.7.1 - 1.7.2

Рисунок 1.7.1 - Форма «Добавление нового клиента»

Рисунок 1.7.2 - Форма «Список клиентов»

1.8 Общие требования к программному продукту

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

Создаваемый программный продукт позволяет:

- вести автоматизированный учет вкладов в банке;

- составлять отчетную ведомость.

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

- MS Windows XP/Vista/7;

- процессор 1 ГГц;

- 128 МБ ОЗУ;

- 20 МБ свободного пространства на диске;

- принтер;

- клавиатура;

- мышь.

Также на компьютере необходимо наличие таких программных продуктов как:

- Microsoft Word;

- Microsoft Excel.

автоматизированный учет вклад

2. Экспериментальный раздел

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

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

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

Интегрированная среда разработки Delphi с ее инструментами визуального редактирования, библиотекой компонент, механизмом баз данных и многим другим, идеально подходит для написания приложений Windows, используя свой диалект языка Object Pascal - Delphi Pascal, который является объектно-ориентированным.

В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от dBASE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.

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

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

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

Обоснованием выбора служат следующие факторы:

- быстрота разработки. От быстрой разработки зависит, прежде всего, цена программного продукта. Для увеличения скорости написания Windows-приложений необходимо использовать средства визуального программирования. Delphi как нельзя более подходит для выполнения данной задачи, так как назначение Delphi - быстрая разработка приложений (RAD - Rapid Application Development). Разработка приложений интерфейса пользователя с помощью Delphi - в основном процесс проектирования, с весьма небольшим количеством фактического программирования, что существенно сокращает время на создание удобного интерфейса, отвечающего стандартам разработки Windows-приложений. Delphi может компилировать 32-битные программы, обеспечивая высокую скорость выполнения;

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

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

Таким образом, среда программирования Delphi является оптимальным выбором для решения поставленной задачи, так как:

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

- обладает широкими средствами визуального построения интерфейса;

- обладает обширными средствами поддержки баз данных.

2.2 Описание программы

Программа «Автоматизация учета вкладов в банке» имеет модульную структуру и состоит из 14 модулей. Код программы приведен в приложении А. Список модулей, и их связь представлены в модульной схеме (рисунок 2.2.1).

Рисунок 2.2.1 - Модульная схема

Описание процедур:

mainDataModuleUnit (Открытие модуля данных):

- procedure TmainDataModule.N8Click(Sender: TObject);- переход на форму «О программе»;

- Procedure TmainDataModule.N9Click(Sender:TObject);- создание резервной копии;

- procedure TmainDataModule.N14Click(Sender: TObject);- выполнение восстановления данных;

- procedure TmainDataModule.N5Click(Sender: TObject);- вызов справочной системы;

- procedure TmainDataModule.N6Click(Sender: TObject);- вызов помощи;

- procedure TmainDataModule.N13Click(Sender: TObject);- переход на форму «Диаграмма по видам вкладов»;

- procedure TmainDataModule.N3Click(Sender: TObject);- переход на форму «Диаграмма по месяцам»

mainUnit (Главное меню):

- procedure TmainForm.SpeedButton2Click(Sender: TObject);- переход на форму «Счета»;

- procedure TmainForm.SpeedButton3Click(Sender: TObject); - переход на форму «Виды вкладов»;

- procedure TmainForm.SpeedButton1Click(Sender: TObject);- переход на форму «Сотрудники».

Unit1 (Счета):

- procedure TForm1.Button6Click(Sender: TObject);- переход на главную форму;

- procedure TForm1.Button4Click(Sender: TObject);- переход на форму «Список клиентов»;

- procedure TForm1.Button2Click(Sender: TObject);- поиск по номеру счета;

- procedure TForm1.Button1Click(Sender: TObject);- очистка таблицы;

- procedure TForm1.Button5Click(Sender: TObject);- добавление суммы;

- procedure TForm1.Button7Click(Sender: TObject);- удаление счета;

- procedure TForm1.Button8Click(Sender: TObject);- экспорт в Excel.

Unit2 (Виды вкладов):

- procedure TForm2.Button5Click(Sender: TObject);- переход на главную форму;

- procedure TForm2.Button1Click(Sender: TObject);- поиск по коду вклада и % ставке;

- procedure TForm2.Button3Click(Sender: TObject);- открытие отчета «Виды вкладов».

Unit3 (Сотрудники):

- procedure TForm3.Button4Click(Sender: TObject);- переход на главную форму;

- procedure TForm3.DBGrid1TitleClick(Column: TColumn);- сортировка;

- procedure TForm3.Button1Click(Sender: TObject);- сортировка по фамилии;

- procedure TForm3.Button2Click(Sender: TObject);- сортировка по дате рождения.

- procedure TForm3.Button3Click(Sender: TObject);- добавление нового сотрудника;

- procedure TForm3.Button5Click(Sender: TObject);- изменение данных сотрудника;

- procedure TForm3.Button6Click(Sender: TObject);- удаление сотрудника.

Unit5 (Вклады):

- procedure TForm5.BitBtn1Click(Sender: TObject);- сохранение данных.

Unit6 (Список клиентов):

- procedure TForm6.Button1Click(Sender: TObject); - добавление клиента;

- procedure TForm6.Button2Click(Sender: TObject);- изменение клиента;

- procedure TForm6.Button3Click(Sender: TObject);- удаление клиента;

- procedure TForm6.Button5Click(Sender: TObject);- переход на главную форму;

- procedure TForm6.Button4Click(Sender: TObject);- печать договора.

2.3 Протокол тестирования программного продукта

Тестирование программного продукта на некорректных данных:

- при входе в программу и вводе неправильного пароля выводится сообщение: «Неверный пароль;

- запрещается ввод и изменение данных представленных в табличном виде непосредственно в самой таблице, только через специальные формы

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

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

2.4 Руководство пользователя

Для правильной работы нельзя перемещать файл базы данных из основной папки и переименовывать все файлы, находящиеся в ней во избежание ошибок.

Запуск программы осуществляется приложением Project.exe. После запуска приложения открывается окно авторизации пользователя (рисунок 2.4.1).

Рисунок 2.4.1 - Окно авторизации

Выход из программы осуществляется нажатием кнопки «Выход». Для продолжения работы необходимо ввести логин и пароль. При введении неправильного логина или пароля система выдает ошибку (рисунок 2.4.2).

Рисунок 2.4.2 - Окно ошибки

После успешной авторизации появится форма «Банк» (рисунок 2.4.3).

Рисунок 2.4.3 - Форма «Банк»

Примеры открытых таблиц показаны на рисунках 2.4.4 - 2.4.6.

Рисунок 2.4.4 - Таблица «Сотрудники»

Рисунок 2.4.5 - Таблица «Счета»

Рисунок 2.4.6 - Таблица «Виды вкладов»

В каждой таблице осуществляется модификация данных. Чтобы добавить запись в таблицу нажмите на кнопку , после чего откроется форма «Добавление записи». Заполнив все поля, для сохранения нажмите на кнопку , для закрытия формы без сохранения - . Пример представлен на рисунке 2.4.7.

Рисунок 2.4.7 - Добавление записи в таблицу «Вклады»

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

Рисунок 2.4.8 - Удаление записи

Просмотр сформированного отчета осуществляется кнопкой (рисунок 2.4.9) в таблице «Виды вкладов». Пример представлен на рисунке 2.4.10.

Рисунок 2.4.9 - Пункт меню «Отчеты»

Рисунок 2.4.10 - Отчет «По видам вкладов»

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

Сортировка данных возможна в одной таблице.На форме для сортировки отметьте поле, по которому вы хотите сортировать записи. Пример показан на рисунке 2.4.11.

Рисунок 2.4.11 - Сортировка в таблице «Сотрудники»

Просмотр диаграмм осуществляется в главном меню,в форме «Банк». Примеры представлены на рисунках 2.4.12 - 2.4.13.

Рисунок 2.4.12 - Диаграмма по видам вкладов

Рисунок 2.4.13 - Диаграмма по месяцам

Экспорт данных в Excel возможен в одной таблице. Осуществляется нажатием кнопки на форме «Счета». Пример показан на рисунке 2.4.14.

Рисунок 2.4.14 - Экспорт в Excel таблицы «Счета»

Вызов справки осуществляется выбором пункта в форме главного меню. Пример вызова справки показан на рисунке 2.4.15.

Рисунок 2.4.15 - Справка

Просмотр образца договора осуществляется нажатием кнопки . Пример представлен на рисунке 2.4.16.

Рисунок 2.4.16 - Образец договора

Резервное копирование базы данных осуществляется выбором вкладки «Резервное копирование» в пункте меню «Сервис» (рисунок 2.4.17). После чего откроется окно сообщения «Резервное копирование» (рисунок 2.4.18). Затем нажа кнопку «ОК» происходит резервное копирование.

Восстановление базы данных осуществляется выбором вкладки «Восстановление базы данных» в пункте меню «Сервис» (рисунок 2.4.17). После чего откроется окно «Восстановление данных» (рисунок 2.4.19). Затем нажа кнопку «ОК» происходит восстановление данных.

Рисунок 2.4.17 - Пункт меню «Сервис»

Рисунок 2.4.18 - Резервное копирование

Рисунок 2.4.19 - Восстановление данных

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

3 Экономический раздел

3.1 Расчёт затрат на создание программного продукта

Расчет себестоимости машинного часа эксплуатации вычислительной и оргтехники (ВиОТ):

,(3.1)

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

Fп - годовой полезный фонд времени работы единицы оборудования;

Кг=0,95 - коэффициент готовности;

Зi -годовые затраты, связанные с эксплуатацией и обслуживанием ВиОТ.

,(3.2)

где FН =1944 - номинальный годовой фонд рабочего времени в часах в 2014 году;

р=(0,05…0,2) - коэффициент, учитывающий время, затраченное на ремонт, настройку, обслуживание ВиОТ.

Fп=1944*(1-0,05)=1846 (ч.).

Для расчета годовых затрат, необходимо определить балансовую стоимость условного комплекта СБАЛ:

Таблица 3.2 - Состав условного комплекта.

Наименование

Кол-во шт. (кi)

Цена руб. (Цi)

1

Системный блок

1

24650

2

Монитор ЖК

1

5600

3

Клавиатура

1

280

4

Мышь

1

180

5

Принтер

1

3690

Итого:

34400

(3.3)

где РД - дополнительные расходы на доставку, установку, первоначальную наладку и пр.

(3.4)

РД = 0,1*(24650*1+5600*1+280*1+180*1+3690*1) = 3440 (руб.).

СБАЛ = 24650*1+5600*1+280*1+180*1+3690*1+3440 = 37840 (руб.).

Затраты на материалы:

(3.5)

Зм=0,02*37840=756,8

Основная и дополнительная заработная плата персонала, обслуживающего ВиОТ. Предусмотрен 1 человек.

(3.6)

гдеОi =6000 - оклад i-го работника, обслуживающего ВиОТ,

Кд = 0,1 - коэффициент дополнительной заработной платы,

КР = 0,15 - районный коэффициент,

NобсПК= 20

4554 (руб.).

Начисления на заработную плату НЗ/П составляет 30,2%.

Таблица 3.3 - Состав ЕСН.

Статья

%

1

Пенсионный фонд

22

2

Фонд социального страхования

2,9

3

Федеральный фонд обязательного медицинского страхования

5,1

4

Страховой налог от несчастного случая на производстве для служащих

0,2

Итого:

30,2

(3.7)

НЗ/П = 0,302*4554 1375 (руб.).

Амортизационные отчисления ВиОТ.

, (3.8)

где = 0,2 - норма амортизационных начислений.

АООБОР = 37840 * 0,2 = 7568 (руб.).

Износ программных продуктов.

Условный комплект обладает следующими необходимыми программными продуктами:

Таблица 3.3 - Используемые программные средства

Наименование

Цена (руб.)

MS Windows XP

4127

Borland Delphi 7

68102

Итого

75895

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

, (3.9)

где = 0,65 - норма амортизационных начислений.

= 75895 руб. - суммарная стоимость программных продуктов.

АОПП = 75895 * 0,65 = 49331,7 (руб.).

Расходы на содержание и эксплуатацию оборудования.

Расходы на содержание и эксплуатацию оборудования состоят из:

- затрат на ремонт и специальное обслуживание

;(3.10)

- затрат на электрическую энергию

,(3.11)

где - суммарная мощность;

КГ - коэффициент готовности;

ЦкВт/ч - стоимость кВт/ч.

ЗРЕМ=0,03*37840=1135,2 (руб.)

ЗЭ=0,95*1,42

Расходы на содержание и эксплуатацию оборудования

(3.12)

ЗРЭ= 1135,2+1,349=1136,549(руб.)

Прочие расходы.

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

(3.13)

ЗПР=0,4*37840=15136 (руб.)

Суммарные годовые затраты.

(3.14)

Себестоимость машинного часа, из формулы (1), составляет:

(руб.).

3.2 Расчет цены предложения и минимального количества копий тиражирования

Расчёт цены предложения

ТО = 2 месяца - общее время работы над программным продуктом.

ТМ = 1,5 месяца - машинное время работы над программным продуктом.

Фонд оплаты труда за время работы над программным продуктом.

, (3.15)

где Кд = 0,15 - коэффициент дополнительной заработной платы.

КР = 0,15 - районный коэффициент.

О = 5000 руб. - оклад, работающего над продуктом.

ФОТ =5000*2*(1+0,15)*(1+0,15) = 13225 (руб.).

Начисления на ФОТ:

, (3.16)

НЗ/П = 13225 * 0,302 = 3993,95 (руб.).

Затраты, связанные с эксплуатацией и обслуживанием ВиОТ:

, (3.17)

где ЧРМ = 162 - число рабочих часов в месяце;

КИ = 0,9 - коэффициент использования оборудования.

N = 1 - количество условных комплектов.

ЗОВТ = 1,5*162*0,9*1*12 = 2624,4 (руб.).

Затраты на хозяйственные операции и нужды (ЗХН):

Таблица 3.4 - Затраты на хозяйственные нужды.

Наименование

Цена за единицу, (руб.)

Количество

Всего

Бумага

95

1

95

Ручка

5

1

5

Картридж принтера

300

1

300

Диск

30

1

30

Итого:

430

ЗХН = 430 руб.

Накладные расходы:

, (3.18)

РН = 0,45*13225 = 5951,25 (руб.).

Полные затраты на разработку программного продукта:

, (3.19)

ЗПОЛ = 19440 + 3314,3 + 2624,4 + 0 + 406 + 5060= 60506 (руб.).

Расчет установочной прибыли:

, (3.20)

где RУ = 20 % - установочная рентабельность.

ПРУ = 60506* 0,2 = 12101,26 (руб.).

Расчет величины налога на добавленную стоимость (НДС):

, (3.21)

НДС = (60506+12101) * 0,18 = 13069 (руб.).

Цена предложения разработанного программного продукта:

, (3.22)

ЦПР = 60506 + 12101 + 13069= 85676,93 (руб.).

Расчет минимального количества копий, необходимых для реализации, для получения установочной прибыли:

,(3.23)

где ЦСПР - цена на рынке одной копии программного продукта;

ЗТИРАЖ -затраты на тиражирование одной копии программного продукта.

,(3.24)

где СCD- цена диска - носителя;

Ттираж - время копирования.

Заключение

В процессе выполнения дипломного проекта были разработаны структура и алгоритм работы приложения «Автоматизация учета вкладов в банке». При этом были учтены особенности реализации других компонентов информационной системы.

Результатом работы стало создание программного обеспечения. Программа Project.exe написана на языке Object Pascal в среде программирования Delphi 7.0. с использованием СУБД Paradox 7, предназначена для работы в операционной системе MS Windows XP и отлажена на данных контрольного примера.

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

Были написаны руководство пользователя. Приложение было выполнено на данных контрольного примера.

Приложение А

unit PasswordDlgUnit;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, jpeg, ExtCtrls;

type

TPasswordDlg = class(TForm)

OKBtn: TButton;

Image1: TImage;

Edit1: TEdit;

Button1: TButton;

procedure OKBtnClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

PasswordDlg: TPasswordDlg;

implementation

uses mainUnit;

{$R *.dfm}

procedure TPasswordDlg.OKBtnClick(Sender: TObject);

begin

if edit1.Text='123' then

begin

mainForm.Show;

passwordDlg.Hide;

end

else

Application.MessageBox('Неверный пароль','Неверный пароль');

end;

procedure TPasswordDlg.Button1Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

unit mainUnit;

interface

uses

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

Dialogs, ComCtrls, Buttons, jpeg, ExtCtrls;

type

TmainForm = class(TForm)

Image1: TImage;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

mainForm: TmainForm;

implementation

uses Sotrudniki, Unit2, Unit3, Unit4, Unit9, Unit10;

{$R *.dfm}

procedure TmainForm.SpeedButton2Click(Sender: TObject);

begin

mainForm.Hide;

Form1.Show;

end;

procedure TmainForm.SpeedButton3Click(Sender: TObject);

begin

mainForm.Hide;

Form2.Show;

end;

procedure TmainForm.SpeedButton1Click(Sender: TObject);

begin

mainForm.Hide;

Form3.Show;

end;

procedure TmainForm.SpeedButton4Click(Sender: TObject);

begin

mainForm.Hide;

Form4.Show;

end;

procedure TmainForm.FormCreate(Sender: TObject);

begin

HelpFile := ExtractFilePath(Application.ExeName) + 'help\sber.chm';

end;

end.

unit Unit1;

interface

uses

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

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, ShellAPI, ComObj;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

Button6: TButton;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

ComboBox1: TComboBox;

Button3: TButton;

Button4: TButton;

Label3: TLabel;

Button5: TButton;

Button7: TButton;

Label4: TLabel;

Label5: TLabel;

Button8: TButton;

procedure Button6Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses mainDataModuleUnit, mainUnit, Unit5, Unit4, Unit11, Unit6;

{$R *.dfm}

procedure TForm1.Button6Click(Sender: TObject);

begin

Form1.Hide;

mainForm.Show;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

mainDataModule.Query1.SQL.Clear;

mainDataModule.Query1.SQL.Add('SELECT (SELECT SUM(Prixod) FROM Vkladu WHERE N_cheta = '''+form1.ComboBox1.Text + ''')-(SELECT SUM(Rasxod) FROM Vkladu WHERE N_cheta = '''+form1.ComboBox1.Text + ''') FROM Vkladu');

mainDataModule.Query1.Open;

label5.Caption:=mainDataModule.Query1.Fields[0].AsString + ' руб.';

mainDataModule.Query1.SQL.Clear;

mainDataModule.Query1.SQL.Add('SELECT * FROM Vkladu');

mainDataModule.Query1.SQL.Add('WHERE N_cheta = '''+form1.ComboBox1.Text + '''');

mainDataModule.Query1.Open;

Self.DBGrid1.DataSource:= mainDataModule.DataSource5;

Form5.Edit1.Text:=mainDataModule.Query1.Fields[1].AsString;

label3.Visible:=true;

button5.Visible:=true;

button7.Visible:=true;

label5.Visible:=true;

label4.Visible:=true;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Form6.Show;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

mainDataModule.Query2.Active:=False;

mainDataModule.Query2.SQL.Clear;

mainDataModule.Query2.SQL.Add('SELECT * FROM Klientu');

mainDataModule.Query2.SQL.Add('WHERE N_cheta = '''+ComboBox1.Text + '''');

mainDataModule.Query2.Open;

Self.DBGrid1.DataSource:= mainDataModule.DataSource6;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

ComboBox1.Items.Clear;

while not mainDataModule.Query2.Eof do

begin

ComboBox1.Items.Add(mainDataModule.Query2.Fields.FieldByName('N_cheta').AsString);

mainDataModule.Query2.Next;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

label3.Visible:=false;

button5.Visible:=false;

button7.Visible:=false;

label5.Visible:=false;

label4.Visible:=false;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

if messageDlg('Удалить запись?',

mtConfirmation, [mbYes,mbNo], 0)=mrYes then mainDataModule.Table5.Delete;

end;

procedure TForm1.Button8Click(Sender: TObject);

var i,j,index:byte;

ExcelApp, sheet:Variant;

begin

ExcelApp:=createOleObject('Excel.Application');

ExcelApp.Visible:=True;

ExcelApp.WorkBooks.Add(-4167);

ExcelApp.WorkBooks[1].WorkSheets[1].Name:='счета';

sheet:=ExcelApp.WorkBooks[1].WorkSheets['счета'];

index:=2;

form1.dbgrid1.DataSource.DataSet.First;

for i:=1 to form1.dbgrid1.DataSource.DataSet.RecordCount do begin

for j:=1 to form1.dbgrid1.FieldCount do

sheet.cells[index, j]:=form1.dbgrid1.Fields[j-1].AsString;

Inc(index);

form1.dbgrid1.DataSource.DataSet.Next;

end;

end;

end.

unit Unit2;

interface

uses

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

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, DB, DBTables,

RpRave, RpDefine, RpCon, RpConDS;

type

TForm2 = class(TForm)

DBGrid1: TDBGrid;

Button5: TButton;

RadioGroup1: TRadioGroup;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button5Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses mainUnit, mainDataModuleUnit, Unit6, Unit9;

{$R *.dfm}

procedure TForm2.Button5Click(Sender: TObject);

begin

Form2.Hide;

mainForm.Show;

end;

procedure TForm2.Button1Click(Sender: TObject);

var KeyFields: string;

KeyValues: variant;

Options: TLocateOptions;

begin

if not (CheckBox1.Checked or CheckBox2.Checked) then

begin

MessageDlg('Не заданы условия поиска!',mtInformation, [mbOK],0);

exit;

end;

if CheckBox1.Checked and CheckBox2.Checked then

begin

KeyFields:='Kod_vklada;%_stavka';

KeyValues:=VarArrayOf([Edit1.Text, Edit2.Text]);

end

else

begin

if CheckBox1.Checked then

begin

KeyFields:='Kod_vklada';

KeyValues:=Edit1.Text;

end;

if CheckBox2.Checked then

begin

KeyFields:='%_stavka';

KeyValues:=Edit2.Text;

end;

end;

Options:=[loCaseInsensitive, loPartialKey];

if not mainDataModule.Table4.Locate(KeyFields,KeyValues,Options) then

begin

Beep;

MessageDlg('Запись не найдена!',mtInformation, [mbOK],0);

exit;

end;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Form8.QuickRep1.Preview;

end;

end.

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, ExcelXP, ComObj,

TeEngine, Series, TeeProcs, Chart, DbChart;

type

TForm3 = class(TForm)

DBGrid1: TDBGrid;

Button4: TButton;

Button1: TButton;

Button2: TButton;

Label1: TLabel;

Button3: TButton;

Button5: TButton;

Button6: TButton;

procedure Button4Click(Sender: TObject);

procedure DBGrid1TitleClick(Column: TColumn);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses mainDataModuleUnit, Unit7, mainUnit, Unit12;

{$R *.dfm}

procedure TForm3.Button4Click(Sender: TObject);

begin

Form3.Hide;

mainForm.Show;

end;

procedure TForm3.DBGrid1TitleClick(Column: TColumn);

begin

mainDataModule.table2.IndexFieldNames:=Column.FieldName;

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

mainDataModule.Table2.IndexFieldNames:='FIO';

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

mainDataModule.Table2.IndexFieldNames:='Stash';

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Form12.ShowModal;

end;

procedure TForm3.Button5Click(Sender: TObject);

begin

Form12.ShowModal;

end;

procedure TForm3.Button6Click(Sender: TObject);

begin

if messageDlg('Удалить запись?',

mtConfirmation, [mbYes,mbNo], 0)=mrYes then mainDataModule.Table2.Delete;

end;

end.

unit Unit4;

interface

uses

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

Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, DbChart, Series;

type

TForm4 = class(TForm)

DBChart1: TDBChart;

Series2: TPieSeries;

Series1: TBarSeries;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses mainDataModuleUnit;

{$R *.dfm}

procedure TForm4.FormCreate(Sender: TObject);

begin

mainDataModule.Query4.Active:=true;

end;

end.

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls;

type

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

DateTimePicker1: TDateTimePicker;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses mainDataModuleUnit, mainUnit, Unit4, Sotrudniki;

{$R *.dfm}

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

if DateTimePicker1.Date < Date then

ShowMessage('Вы пытаетесь добавить задним числом!')

else

begin

if (Edit1.Text = '01360179') or (Edit1.Text = '02369899') or (Edit1.Text = '59207788') then

ShowMessage('Недопустимый номер счета!')

else

begin

with mainDataModule.Table5 do

begin

Insert;

FieldByName('N_cheta').AsString:=Edit1.Text;

FieldByName('Data').AsString:=DateToStr(DateTimePicker1.Date);

FieldByName('Prixod').AsString:=Edit2.Text;

FieldByName('Rasxod').AsString:=Edit3.Text;

FieldByName('Tab_N_sotr').AsString:='3';

Post;

Refresh;

end;

mainDataModule.Query1.Active:=false;

mainDataModule.Query1.Active:=true;

Form1.DBGrid1.Refresh;

Self.Close;

end;

end;

end;

procedure TForm5.BitBtn2Click(Sender: TObject);

begin

Self.Close;

end;

procedure TForm5.FormCreate(Sender: TObject);

begin

DateTimePicker1.Date:=Date;

end;

end.

unit Unit6;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables, shellapi, ComObj;

type

TForm6 = class(TForm)

Table1: TTable;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit11, mainUnit;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

Table1.Insert;

Form11.ShowModal;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

Form11.ShowModal;

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

if messageDlg('Удалить запись?',

mtConfirmation, [mbYes,mbNo], 0)=mrYes then Table1.Delete;

end;

procedure TForm6.Button4Click(Sender: TObject);

begin

Form6.Hide;

mainForm.show;

end;

procedure TForm6.Button5Click(Sender: TObject);

var

TempleateFileName: string;

WordApp, Document, ADocument: OleVariant;

i: Integer;

BookmarkName: string;

Range: OleVariant;

function CompareBm(ABmName: string; const AName: string): Boolean;

var

i: Integer;

begin

i := Pos('__', ABmName);

if i > 0 then

Delete(ABmName, i, Length(ABmName) - i + 1);

Result := SameText(ABmName, AName);

end;

begin

TempleateFileName := ExtractFilePath(Application.ExeName) + 'dogovor.dot';

try

// Если нет то запускаем

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

except

on E: Exception do

begin

ShowMessage('Не удалось запустить Word!'#13#10 + E.Message);

Exit;

end;

end;

try

Screen.Cursor := crHourGlass;

// Создание нового документа на основе шаблона

Document := WordApp.Documents.Add(Template := TempleateFileName, NewTemplate := False);

ADocument:=Document;

// Заменяем закладки на данные

for i := ADocument.Bookmarks.Count downto 1 do

begin

BookmarkName := ADocument.Bookmarks.Item(i).Name;

Range := ADocument.Bookmarks.Item(i).Range;

if CompareBm(BookmarkName, 'klientnum') then

Range.Text := Table1.FieldByName('N_dogovora').AsString

else

if CompareBm(BookmarkName, 'klientname1') then

begin

Range.Text := Table1.FieldByName('FIO').AsString;

end

else

if CompareBm(BookmarkName, 'klientname') then

Range.Text := Table1.FieldByName('FIO').AsString

else

if CompareBm(BookmarkName, 'passn') then

begin

Range.Text := Table1.FieldByName('Pasport').AsString;

end

else

if CompareBm(BookmarkName, 'bdate') then

begin

Range.Text := Table1.FieldByName('DTR').AsString;

end

else

if CompareBm(BookmarkName, 'number') then

begin

Range.Text := Table1.FieldByName('telefon').AsString;

end;

end;

// По умолчание окно Word скрыто, делаем его видимым с готовым отчетом

WordApp.Visible := True;

finally

// Необходимо для удаления экземпляра Word.

WordApp := Unassigned;

Screen.Cursor := crDefault;

end;

end;

end.

unit Unit7;

interface

uses

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

Dialogs, Series, TeEngine, ExtCtrls, TeeProcs, Chart, DbChart, BubbleCh;

type

TForm7 = class(TForm)

DBChart1: TDBChart;

Series1: TPieSeries;

Series2: TBarSeries;

Series3: TBubbleSeries;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses mainDataModuleUnit;

{$R *.dfm}

procedure TForm7.FormCreate(Sender: TObject);

begin

mainDataModule.Query3.Active:=true;

end;

end.

unit Unit9;

interface

uses

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

Dialogs, QRCtrls, QuickRpt, ExtCtrls;

type

TForm8 = class(TForm)

QuickRep1: TQuickRep;

ColumnHeaderBand1: TQRBand;

DetailBand1: TQRBand;

PageFooterBand1: TQRBand;

PageHeaderBand1: TQRBand;

TitleBand1: TQRBand;

QRSysData1: TQRSysData;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRSysData3: TQRSysData;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

uses mainDataModuleUnit;

{$R *.dfm}

end.

unit Unit11;

interface

uses

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

Dialogs, StdCtrls, Mask, DBCtrls, Buttons;

type

TForm11 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form11: TForm11;

implementation

{$R *.dfm}

end.

unit Unit12;

interface

uses

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

Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type

TForm12 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

procedure BitBtn1Click(Sender: TObject);

//procedure DBEdit1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form12: TForm12;

implementation

uses Unit3, mainDataModuleUnit;

{$R *.dfm}

procedure TForm12.BitBtn1Click(Sender: TObject);

begin

mainDataModule.Table2.Insert;

mainDataModule.Table2.FieldByName('Tab_nomer').AsString:=Edit1.Text;

mainDataModule.Table2.FieldByName('FIO').AsString:=Edit2.Text;

mainDataModule.Table2.FieldByName('DTR').AsString:=Edit3.Text;

mainDataModule.Table2.FieldByName('Dolshnost').AsString:=Edit4.Text;

mainDataModule.Table2.FieldByName('Stash').AsString:=Edit5.Text;

mainDataModule.Table2.FieldByName('Telefon').AsString:=Edit6.Text;

mainDataModule.Table2.Post;

end;

end.

unit AboutBoxUnit;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,

Buttons, ExtCtrls, jpeg;

type

TAboutBox = class(TForm)

Panel: TPanel;

ProgramIcon: TImage;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton;

procedure OKButtonClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutBox: TAboutBox;

implementation

{$R *.dfm}

procedure TAboutBox.OKButtonClick(Sender: TObject);

begin

AboutBox.Close;

end;

end.

unit mainDataModuleUnit;

продолжение приложения А

interface

uses

SysUtils, ShellAPI, Classes, Menus, DB, DBTables, Messages, Windows, Forms, ComObj, Dialogs;

type

TmainDataModule = class(TDataModule)

globalMenu: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

DataSource1: TDataSource;

N7: TMenuItem;

DataSource2: TDataSource;

Table1: TTable;

Table2: TTable;

DataSource3: TDataSource;

Table3: TTable;

DataSource4: TDataSource;

Table4: TTable;

N11: TMenuItem;

Table3N_cheta: TStringField;

Table3Data: TDateField;

Table3Prixod: TCurrencyField;

Table3Rasxod: TCurrencyField;

Query1: TQuery;

DataSource5: TDataSource;

Query2: TQuery;

DataSource6: TDataSource;

Table1N_cheta: TStringField;

Table1FIO: TStringField;

Table1DTR: TDateField;

Table1Telefon: TStringField;

Table1Pasport: TStringField;

Table1N_dogovora: TStringField;

Table1Kod_vklada: TStringField;

Table2Tab_nomer: TStringField;

Table2FIO: TStringField;

Table2DTR: TDateField;

Table2Dolshnost: TStringField;

Table2Stash: TStringField;

Table2Telefon: TStringField;

N13: TMenuItem;

DataSource7: TDataSource;

Query3: TQuery;

N14: TMenuItem;

DataSource8: TDataSource;

Table5: TTable;

N3: TMenuItem;

DataSource9: TDataSource;

Query4: TQuery;

Query5: TQuery;

Table4Kod_vklada: TStringField;

Table4Naim_vklada: TStringField;

Table4_stavka: TStringField;

Table4Status_cheta: TStringField;

Table5N: TAutoIncField;

Table5N_cheta: TStringField;

Table5Data: TDateField;

Table5Prixod: TCurrencyField;

Table5Rasxod: TCurrencyField;

Table5Tab_N_sotr: TStringField;

procedure N8Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

mainDataModule: TmainDataModule;

implementation

uses AboutBoxUnit, mainUnit, Unit3, Unit9, Unit10, Unit7, Unit4;

{$R *.dfm}

procedure TmainDataModule.N8Click(Sender: TObject);

begin

AboutBox.Show;

end;

procedure TmainDataModule.N11Click(Sender: TObject);

begin

Application.Terminate;

end;

procedure TmainDataModule.N12Click(Sender: TObject);

begin

Form10.QuickRep1.Preview;

end;

procedure TmainDataModule.N9Click(Sender: TObject);

var S:string;

i:integer;

begin

if MessageDlg('Произвести резервное копирование?',mtCustom, mbOKCancel, 0) = 1 then

begin

S:=ExtractFilePath(Application.ExeName);

WinExec(pansichar('xcopy /Y '+S+'DB '+S+'backup\'),SW_HIDE);

ShowMessage('Копирование закончено');

end;

end;

procedure TmainDataModule.N5Click(Sender: TObject);

begin

ShellExecute(Application.Handle, 'open', 'help\spravka.chm',nil, nil, SW_SHOW);

end;

procedure TmainDataModule.N6Click(Sender: TObject);

begin

ShellExecute(Application.Handle, 'open', 'help\sber.chm',nil, nil, SW_SHOW);

end;

procedure TmainDataModule.N13Click(Sender: TObject);

begin

Form7.Show;

end;

procedure TmainDataModule.N14Click(Sender: TObject);

var S:string;

i:integer;

begin

if MessageDlg('Произвести восстановление данных?',mtCustom, mbOKCancel, 0) = 1 then

begin

S:=ExtractFilePath(Application.ExeName);

WinExec(pansichar('xcopy /Y '+S+'backup '+S+'DB\'),SW_HIDE);

ShowMessage('Данные восстановлены');

end;

end;

procedure TmainDataModule.N3Click(Sender: TObject);

begin

Form4.Show;

end;

end.

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.