Разработка и патентная защита программного средства Автоматизированное рабочее место инженера п

ФЕДЕРАЛЬНОЕ АГЕНТСВО ПО ОБРАЗОВАНИЮ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ “БелГУ”

Факультет компьютерных наук и телекоммуникаций

Кафедра прикладной информатики

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

К КУРСОВОЙ РАБОТЕ

По дисциплине: “Разработка и стандартизация программных средств и информационных технологий”

На тему: “Разработка и патентная защита программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники””

080801. 140606. 1406084.ПЗКР

Студент: А. В. Леонов

Руководитель курсовой работы: И. И. Чижов

Оценка курсовой работы:__________________

Принял:_______________ Дата _____________

Белгород 2010

СОДЕРЖАНИЕ

ВВЕДЕНИЕ. 3

1 ОБЩИЕ ВОПРОСЫ СТАНДАРТИЗАЦИИ.. 4

2 ПРОГРАММНО-АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОГРАММНОГО СРЕДСТВА “АВТОМАТИЗИРОВАННОЕ РАБОЧЕЕ МЕСТО ИНЖЕНЕРА ПО СЕРВИСНОМУ ОБСЛУЖИВАНИЮ КОМПЬЮТЕРНОЙ ТЕХНИКИ”. 5

2.1 Назначение и основные возможности программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”.5

2.2 Создание бизнес логики. 9

2.3 Реализация программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”. 15

3 ПАТЕНТОВАНИЕ ПРОГРАММНОГО СРЕДСТВА “АВТОМАТИЗИРОВАННОЕ РАБОЧЕЕ МЕСТО ИНЖЕНЕРА ПО СЕРВИСНОМУ ОБСЛУЖИВАНИЮ КОМПЬЮТЕРНОЙ ТЕХНИКИ”. 24

3.1 Общая информация о Роспатенте. 24

3.2 Оформление документов на регистрацию программного средства. 25

ЗАКЛЮЧЕНИЕ. 31

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ.. 32

Приложение. 33

ВВЕДЕНИЕ

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

При разработке данного программного средства в курсовой работе была применена архитектура клиент-сервер со специализацией серверов. В простейшем случае типовое определение архитектуры клиент-сервер – приложение на клиенте, БД – на сервере – использует эту схему. Поэтому при создании информационных систем с клиент-серверной архитектурой необходимо использовать среду разработки, такую как Borland C++Builder 6. Возможность работы с серверами баз данных InterBase и Firebird, прозрачность подключения новых механизмов доступа к данным делает C++ Builder 6 наиболее естественным выбором для профессионалов индустрии информационных технологий.

К целям и задачам выполнения данной курсовой работы можно отнести:

-создание программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”;

-закрепление знаний об общих принципах патентования, а также о функциях и задачах Роспатента;

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

Курсовая работа содержит 39 страниц, 30 рисунков, 2 таблицы, и приложение.

1 ОБЩИЕ ВОПРОСЫ СТАНДАРТИЗАЦИИ

Стандарт IEEE 1074-1995 охватывает полный жизненный цикл ПС, в котором выделяются шесть крупных базовых процессов. Эти процессы детализируются 16 частными процессами. В после­дних имеется еще более мелкая детализация в совокупности на 65 процессов-работ. Содержание каждого частного процесса начи­нается с описания общих его функций и задач и перечня дей­ствий – работ при последующей детализации. Для каждого про­цесса в стандарте представлены входная и результирующая ин­формация о его выполнении и краткое описание сущности процесса. Внимание сосредоточено преимущественно на непос­редственном создании ПС и на процессах предварительного проектирования. В приложении представлены четыре варианта адап­тации максимального состава компонентов ЖЦ ПС к конкрет­ным особенностям типовых проектов.

Хотя основные процессы близки к описанным в стандарте ISO 12207, общая архитектура и детализация частных процессов и работ в данном стандарте значительно отличаются. Процессы непосредственного создания ПС и его поддержка в стандарте представлены наибольшим числом частных процессов (около 70%), начинающихся с разработки требований к ПС и завершающихся приемо-сдаточными испытаниями, проводимыми заказчиком или пользователем.

2 ПРОГРАММНО-АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОГРАММНОГО СРЕДСТВА “АВТОМАТИЗИРОВАННОЕ РАБОЧЕЕ МЕСТО ИНЖЕНЕРА ПО СЕРВИСНОМУ ОБСЛУЖИВАНИЮ КОМПЬЮТЕРНОЙ ТЕХНИКИ” 2.1 Назначение и основные возможности программного средства ” Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”.

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

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

Она основана на клиент-серверной технологии, разработана база данных, создано клиентское приложение.

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

Требования к функциональным характеристикам

1. Добавление данных о клиентах, заказах, инженерах, деталях.

2. Изменение данных о клиентах, заказах, инженерах, деталях.

3. Сортировка клиентов, заказов, деталей.

4. Удаление заказов, инженеров, клиентов, деталей

5. Поиск данных о клиентах, заказах, деталях.

6. Фильтрация о клиентах, заказах, деталях.

7. Просмотр сведений о клиентах, заказах, деталях, инженерах, видах расчета.

8. Формирование отчетао клиентах.

Структура базы данных

БД будет состоять из пяти таблиц: Клиенты, Заказы, Детали, Инженеры, Виды расчета.

На рисунке 1 изображена инфологическая модель БД “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”.

Рисунок 1 – Инфологическая модель БД

Разработано программное средство “Автоматизированное рабочее место инженера по обслуживанию компьютерной техники” с использованием клиент-серверной технологии.

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

На рисунке 2 изображена контекстная диаграмма работы “Автоматизированное рабочее место инженера по обслуживанию компьютерной техники”.

Рисунок 2 – Контекстная диаграмма работы программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники””

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

Рисунок 3 – Декомпозиция работы программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники””

Для разработки программного средства используются СУБД Firebird 2.5 и утилита IBExpert. Для создания клиентского приложения будет использован Borland C++Builder 6.0.

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

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

– AMD Turion ™ 64 Processor;

– ОЗУ 1,00ГБ;

– Видеоадаптер – Intel 89245G Express Chipset Family;

– Звуковой адаптер – Creative SB X-Fi Xtreme Audio.

2.2 Создание бизнес логики

База данных состоит из таблиц, хранящих информацию о следующих объектах – клиенты, заказы, инженеры, детали, виды расчета.

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

Первая таблица “Клиенты” содержит следующую информацию: номер клиента, ФИО клиента, адрес клиента, телефон клиента.

Во второй таблице “Заказы” хранится информация о номере заказа, Дате приема оборудования, номере клиента, номере инженера, номере детали, номере вида расчета, дате выдачи оборудования и стоимости ремонта.

Третья таблица “Детали” содержит сведения о номере детали, о наименовании детали, о технических характеристиках, о производителе.

В четвертой таблице “Инженеры” хранится информация о номере инженера, ФИО инженера, содержит телефон и адрес.

Для полей таблиц нужны различные типы данных. Задаем их согласно предполагаемым записям (см. таблицу 1, таблицу 2).

Таблица №1 – Создание доменов

Имя доменаТипДлинаNot NullОграничения
D_INDEXSmallint+>0
D_NAMEVarchar50
D_STOIMVarchar10
D_DATEDATE<TODAY
D_ADRESVarchar50
D_TELEPHONEVarchar15

Таблица 2 – Создание таблиц и определение их типов полей

Имя таблицыПолеТипДлинаNot NullPKИмя домена
ClientID_CLIENTSmallint++D_INDEX
FIO_CLVarchar50D_NAME
ADRESVarchar50D_ADRES
TELEPHONEVarchar15D_TELEPHONE
DetailID_DETAILSmallint++D_INDEX
NAME_DETAILVarchar50D_NAME
TECH_HARVarchar50D_NAME
PROIZVODVarchar50D_NAME
IngenerID_INGSmallint++D_INDEX
FIO_INGVarchar50+D_NAME
TELEPHONEVarchar15D_TELEPHONE
ADRESVarchar50D_ADRES
RaschetId_raschSmallint++D_INDEX
Nalich_RVarchar50D_NAME
Beznalich_RVarchar50D_NAME
ZakazId_zakSmallint++D_INDEX
DATE_PRDATED_DATE
ID_CLIENTSmallint+D_INDEX
ID_INGSmallint+D_INDEX
ID_DETSmallint+D_INDEX
ID_RASCHSmallint+D_INDEX
DATE_VDATED_DATE
STOIMOSTVARCHAR10D_STOIM

Создали таблицы с помощью запроса SQL. Это можно увидеть по рисунку 4, рисунку 5, рисунку 6, рисунку 7, рисунку 8.

Рисунок 4 – Создание таблицы “Клиенты”

Рисунок 5 – Создание таблицы “Детали “

Рисунок 6 – Создание таблицы “Инженер”

Рисунок 7 – Создание таблицы “Расчеты”

Рис. 8 – Создание таблицы “Заказы”

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

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

Рис. 9. Список генераторов

В результате было создано по 5 триггеров и генераторов:

Рис. 10. Генераторы и триггеры базы данных

Представление “Список клиентов” (CLIENT_INFO)

Рисунок 11 – Создание просмотра CLIENT_INFO

Рисунок 12 – Результат просмотра CLIENT_INFO

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

Примеры создания хранимых процедур:

Процедура “Добавить клиента” (ADD_CLIENT)

Рисунок 13 – Создание хранимой процедуры ADD_ CLIENT

Процедура “Удалить заказ” (DEL_ZAK)

Рисунок 14 – Создание хранимой процедуры DEL_ZAK

Рисунок 15 – Список созданных хранимых процедур

Было создано исключение. Исключения представляют собой именованное сообщение об ошибке.

Рисунок 16 – Список созданных исключений

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

Рисунок 17 – Исключение KEY_EX в хранимой процедуре. На примере процедуры ADD_ZAK.

2.3 Реализация программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”

C++Builder предоставляет разработчикам следующие компоненты для разроботки приложений:

– Компоненты управления данными Data Control, обеспечивающие отображение и редактирования записей на форме приложения.

– Компонентывкладки Standart (Button, Label, Edit, RadioButton, CheckBox, RadioGroup, Panel)

– Компоненты доступа к данным Data Access – адресуют фактические данные, хранящиеся в файле базы данных.

– Компоненты вкладки QReport (QuickRep, QRSubDetail, QRLabel, QRDBText, QRBand, QRSysData), создание отчетов

– КомпонентыInterbase (IBDatabase, IBTransaction, IBTable, IBStoredProc)

Наличие на форме большого количества невидимых компонентов в ряде случаев затрудняет проектирование пользовательского интерфейса. Кроме того, нередко бывает удобно отделить компоненты, отвечающие за доступ к данным и бизнес-логику информационной системы, от интерфейсных элементов, например, для обегчения ее дальнейшей модернизации. Для этой цели в C++ Builder имеется специальный тип, называемый модулем данных – TDataModule. На рис.18 представлен модуль данных разрабатываемого клиентского приложения.

Рисунок 18 – Компонент DataModule2

Рисунок 19 – Результат заполнения таблицы “Клиенты “

Рисунок 20 – Результат заполнения таблицы “Заказы”

Рисунок 21 – Результат заполнения таблицы “Детали”

Рисунок 22 – Результат заполнения таблицы “Инженеры”

Рисунок 23 – Результат заполнения таблицы “Виды расчета”

2.3 Реализация программного средства ” Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”

Рассмотрим подробнее реализацию программного средства “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”.

Рисунок 24 – Модульная структура программного обеспечения

Рисунок 25 – Просмотр содержимого таблицы “Клиенты”

Имя таблицы задается в свойствах компонента IBTable. В свойствах компонента DataSource указываем свойство DataSet->IBTable.

Чтобы данные отображались в компоненте DBGrid, в свойстве DataSource указывается DataModule2->DataSource.

Рисунок 26 – Результат работы процедуры добавления данных

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

Пользователь может заполнять данные по таблицам “Заказы”, “Клиенты”, “Детали “, “Инженеры”.

Ввод значения поля в таблицу осуществляется, например, такой строкой как:

DataModule2->IBStoredProc1->ParamByName(“FIO_CL”)->AsString=Form1->Edit1->Text;

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

DataModule2->IBStoredProc3->ParamByName(“ID_CLIENT”)->AsString=DBEdit1->Text;

Осуществляется каскадное удаление – из таблицы “Клиенты”.

При нажатии на кнопку “Удалить” запись удаляется.

Рисунок 27 – Результат работы процедуры удаления данных

Рисунок 28 – Редактирование данных

Изменение записей в таблицах БД осуществляется программно:

DataModule2->IBStoredProc2->ParamByName(“ID_CLIENT”)->AsString=DBEdit1->Text;

DataModule2->IBStoredProc2->ParamByName(“FIO_CL”)->AsString=Edit4->Text;

Вывод данных в отчет также осуществляется программно с помощью компонента Button:

Form3->QuickRep1->Preview();

Form3->Visible=false;

Рисунок 29 – Вывод данных в отчет

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

If (RadioButton1->Checked)

{TLocateOptions LO;

DataModule2->IBTable1->Locate(“FIO_CL”, Edit7->Text, LO<<loPartialKey<< loCaseInsensitive);}

Рисунок 30 – Результат работы поиска в таблице “Клиенты”

3 ПАТЕНТОВАНИЕ ПРОГРАММНОГО СРЕДСТВА “АВТОМАТИЗИРОВАННОЕ РАБОЧЕЕ МЕСТО ИНЖЕНЕРА ПО СЕРВИСНОМУ ОБСЛУЖИВАНИЮ КОМПЬЮТЕРНОЙ ТЕХНИКИ” 3.1 Общая информация о Роспатенте

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

Основными функциями Федеральной службы по интеллектуальной собственности, патентам и товарным знакам являются:

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

– осуществление контроля и надзора за проведением экспертизы заявок на объекты интеллектуальной собственности и выдача охранных документов в установленном законодательством Российской Федерации порядке;

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

– осуществление контроля и надзора за соблюдением порядка уплаты патентных пошлин и регистрационных сборов;

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

3.2 Оформление документов на регистрацию программного средства

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

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

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

– тип регистрируемой системы (собственно программа либо БД);

– имена и подписи владельца прав и исполнителей;

– название и альтернативное название ПС;

– дата заключения договора и выпуска программы;

– количество авторов ПС;

– сведения о других документах, направляемых вместе с данной формой;

– адреса всех перечисленных субъектов.

Заполнение формы РП представлено ниже.

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

РЕФЕРАТ

Автор: Леонов Артем Викторович

Правообладатель: Леонов Артем Викторович

Программа: Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники

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

Тип ЭВМ: IBMPC

Язык: С++

ОС: WindowsXP

Объем

Программы: 12,01 Kб

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

В отдел регистрации программ для ЭВМ,

Баз данных, топологий ИМС и передачи прав на них

Федерального государственного учреждения “Федеральный институт промышленной собственности Федеральной службы по интеллектуальной собственности, патентам и товарным знакам (ФГУ ФИПС)

Бережковская наб., 30, корп. 1, Москва,

Г-59, ГСП-5, 123995

Направляю Вам на регистрацию программу для ЭВМ “Информационная система “Музыкальная коллекция””, правообладателем исключительного права на которую (заявителем) являются Курочкин И. Н.

Комплектность заявки указана в приложении.

Приложение:

1.Заявление (форма РП)На1Л.В1Экз.
2.Распечатка исходного текста программыНа5Л.В1Экз.
3.РефератНа1Л.В2Экз.
4.Платежный документ об уплате госпошлиныНа1Л.В1Экз.
5.Материалы аудиовизуальных отображенийНа5Л.В1Экз.

Всего на 13 листах + 1 платежный документ.

Свидетельство прошу выслать по почте

Представитель правообладателяПодпись Расшифровка подписи

“____” ___________ 2010 г.

ЗАКЛЮЧЕНИЕ

В ходе выполнения данного курсового проекта были достигнуты все поставленные цели и задачи:

– создали программное средство “Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники”;

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

– закрепили знания об общих принципах патентования, а также о функциях и задачах Роспатента;

Выполнение курсовой работы также помогло:

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

2) получить опыт сбора и обработки материала, анализу научно-технической литературы;

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

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

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ “CASE-технологии. Современные методы и средства проектирования информационных систем” А. М. Вендров, http://www. webresurs. ru. А. Я. Архангельский, “Программирование в C++ Builder 6″. – М.:”БИНОМ”, 2003 г. Бори Х., “FIREBIRD. Руководство разработчика баз данных”. – С-Пб.: “БХВ”, 2006 г., 2-е издание. Першиков В. И., Савинков В. М. Толковый словарь по информатике.: – М.: Финансы и статистика 1995г.; 2-е издание. Тоу Д. Настройка SQL. Для профессионалов – СПб.: БХВ-Петербург 2004. Кравец Л. Г. Патентно-информационное обеспечение конкурентной разведки; Информ-издат. центр. – М.: ИНИЦ Роспатента, 1999- 60 с. Михелев В. М. Базы данных и СУБД: учебное пособие – Белгород: Изд-во БелГУ, 2007 г. – 200 с. Устинова Е. А. Патентный закон Российской Федерации и практика патентования изобретений в области информатики. – 2-е изд.. – М.: Российское агентство по патентам и товарным знакам, 2001 – 68 с. Приложение

//—————————————————————————

#include <vcl. h>

#pragma hdrstop

#include “Unit1.h”

#include “Unit2.h”

#include “Unit3.h”

#include “Unit4.h”

//—————————————————————————

#pragma package(smart_init)

#pragma resource “*.dfm”

TForm1 *Form1;

//—————————————————————————

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//—————————————————————————

Void __fastcall TForm1::Button1Click(TObject *Sender)

{

DataModule2->IBStoredProc1->ParamByName(“FIO_CL”)->AsString=Form1->Edit1->Text;

DataModule2->IBStoredProc1->ParamByName(“ADRES”)->AsString=Form1->Edit2->Text;

DataModule2->IBStoredProc1->ParamByName(“TELEPHONE”)->AsString=Form1->Edit3->Text;

DataModule2->IBStoredProc1->Prepare();

DataModule2->IBStoredProc1->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->Active=true;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button2Click(TObject *Sender)

{DataModule2->IBStoredProc2->ParamByName(“ID_CLIENT”)->AsString=DBEdit1->Text;

DataModule2->IBStoredProc2->ParamByName(“FIO_CL”)->AsString=Edit4->Text;

DataModule2->IBStoredProc2->ParamByName(“ADRES”)->AsString=Edit5->Text;

DataModule2->IBStoredProc2->ParamByName(“TELEPHONE”)->AsString=Edit6->Text;

DataModule2->IBStoredProc2->Prepare();

DataModule2->IBStoredProc2->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->Active=true;}

//—————————————————————————

Void __fastcall TForm1::Button3Click(TObject *Sender)

{

DataModule2->IBStoredProc3->ParamByName(“ID_CLIENT”)->AsString=DBEdit1->Text;

DataModule2->IBStoredProc3->Prepare();

DataModule2->IBStoredProc3->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->Active=true;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Edit7Change(TObject *Sender)

{

If (RadioButton1->Checked)

{TLocateOptions LO;

DataModule2->IBTable1->Locate(“FIO_CL”, Edit7->Text, LO<<loPartialKey<< loCaseInsensitive);}

Else if (RadioButton2->Checked)

{TLocateOptions LO;

DataModule2->IBTable1->Locate(“ADRES”, Edit7->Text, LO<<loPartialKey<< loCaseInsensitive);}

Else if (RadioButton3->Checked)

{TLocateOptions LO;

DataModule2->IBTable1->Locate(“TELEPHONE”, Edit7->Text, LO<<loPartialKey<< loCaseInsensitive);}

}

//—————————————————————————

Void __fastcall TForm1::RadioButton4Click(TObject *Sender)

{

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->IndexFieldNames=”FIO_CL”;

DataModule2->IBTable1->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::RadioButton5Click(TObject *Sender)

{

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->IndexFieldNames=”ADRES”;

DataModule2->IBTable1->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::RadioButton6Click(TObject *Sender)

{

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->IndexFieldNames=”ID_CLIENT”;

DataModule2->IBTable1->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button4Click(TObject *Sender)

{

DataModule2->IBStoredProc4->ParamByName(“DATE_PR”)->AsString=Form1->Edit9->Text;

DataModule2->IBStoredProc4->ParamByName(“ID_CLIENT”)->AsString=Form1->Edit10->Text;

DataModule2->IBStoredProc4->ParamByName(“ID_ING”)->AsString=Form1->Edit11->Text;

DataModule2->IBStoredProc4->ParamByName(“ID_DET”)->AsString=Form1->Edit12->Text;

DataModule2->IBStoredProc4->ParamByName(“ID_RASCH”)->AsString=Form1->Edit13->Text;

DataModule2->IBStoredProc4->ParamByName(“DATE_V”)->AsString=Form1->Edit14->Text;

DataModule2->IBStoredProc4->ParamByName(“STOIMOST”)->AsString=Form1->Edit15->Text;

DataModule2->IBStoredProc4->Prepare();

DataModule2->IBStoredProc4->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable2->Active=false;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable1->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Edit22Change(TObject *Sender)

{

If (RadioButton8->Checked)

{TLocateOptions LO;

DataModule2->IBTable2->Locate(“ID_CLIENT”, Edit22->Text, LO<<loPartialKey<< loCaseInsensitive);}

Else if (RadioButton9->Checked)

{TLocateOptions LO;

DataModule2->IBTable2->Locate(“ID_ING”, Edit22->Text, LO<<loPartialKey<< loCaseInsensitive);}

}

//—————————————————————————

Void __fastcall TForm1::Button6Click(TObject *Sender)

{

DataModule2->IBStoredProc5->ParamByName(“ID_CLIENT”)->AsString=Form1->Edit9->Text;

DataModule2->IBStoredProc5->ParamByName(“ID_ING”)->AsString=Form1->Edit10->Text;

DataModule2->IBStoredProc5->ParamByName(“ID_DET”)->AsString=Form1->Edit11->Text;

DataModule2->IBStoredProc5->ParamByName(“STOIMOST”)->AsString=Form1->Edit12->Text;

DataModule2->IBStoredProc5->ParamByName(“ID_RASCH”)->AsString=Form1->Edit13->Text;

DataModule2->IBStoredProc5->ParamByName(“DATE_PR”)->AsString=Form1->Edit14->Text;

DataModule2->IBStoredProc5->ParamByName(“DATE_V”)->AsString=Form1->Edit15->Text;

DataModule2->IBStoredProc5->Prepare();

DataModule2->IBStoredProc5->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->Active=true;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button7Click(TObject *Sender)

{

DataModule2->IBStoredProc7->ParamByName(“NAME_DETAIL”)->AsString=Edit23->Text;

DataModule2->IBStoredProc7->ParamByName(“TECH_HAR”)->AsString=Edit24->Text;

DataModule2->IBStoredProc7->ParamByName(“PROIZVOD”)->AsString=Edit25->Text;

DataModule2->IBStoredProc7->Prepare();

DataModule2->IBStoredProc7->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=true;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button5Click(TObject *Sender)

{

DataModule2->IBStoredProc6->ParamByName(“ID_ZAK”)->AsString=DBEdit2->Text;

DataModule2->IBStoredProc6->Prepare();

DataModule2->IBStoredProc6->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable1->Active=false;

DataModule2->IBTable1->Active=true;

DataModule2->IBTable2->Active=true;

DataModule2->IBTable3->Active=true;

DataModule2->IBTable4->Active=true;

DataModule2->IBTable5->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button8Click(TObject *Sender)

{

DataModule2->IBStoredProc6->ParamByName(“ID_ING”)->AsString=DBEdit3->Text;

DataModule2->IBStoredProc8->ParamByName(“FIO_ING”)->AsString=Edit27->Text;

DataModule2->IBStoredProc8->ParamByName(“TELEPHONE”)->AsString=Edit28->Text;

DataModule2->IBStoredProc8->ParamByName(“ADRES”)->AsString=Edit29->Text;

DataModule2->IBStoredProc8->Prepare();

DataModule2->IBStoredProc8->ExecProc();

DataModule2->IBTransaction1->Commit();

}

//—————————————————————————

Void __fastcall TForm1::Button9Click(TObject *Sender)

{

DataModule2->IBStoredProc9->ParamByName(“ID_ING”)->AsString=DBEdit3->Text;

DataModule2->IBStoredProc9->Prepare();

DataModule2->IBStoredProc9->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable4->Active=false;

DataModule2->IBTable4->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::Button11Click(TObject *Sender)

{

Form3->QuickRep1->Preview();

Form3->Visible=false;

}

//—————————————————————————

Void __fastcall TForm1::Button10Click(TObject *Sender)

{

Form4->Show();

}

//—————————————————————————

Void __fastcall TForm1::Button12Click(TObject *Sender)

{

Close();

}

//—————————————————————————

Void __fastcall TForm1::Button13Click(TObject *Sender)

{

DataModule2->IBStoredProc10->ParamByName(“ID_DETAIL”)->AsString=Edit30->Text;

DataModule2->IBStoredProc10->Prepare();

DataModule2->IBStoredProc10->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBTable3->Active=false;

DataModule2->IBTable3->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::RadioButton14Click(TObject *Sender)

{

DataModule2->IBTable3->Active=false;

DataModule2->IBTable3->IndexFieldNames=”NAME_DETAIL”;

DataModule2->IBTable3->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::RadioButton15Click(TObject *Sender)

{

DataModule2->IBTable3->Active=false;

DataModule2->IBTable3->IndexFieldNames=”ID_DETAIL”;

DataModule2->IBTable3->Active=true;

}

//—————————————————————————

Void __fastcall TForm1::RadioButton16Click(TObject *Sender)

{

DataModule2->IBTable3->Active=false;

DataModule2->IBTable3->IndexFieldNames=”PROIZVOD”;

DataModule2->IBTable3->Active=true;

}

//—————————————————————————


Зараз ви читаєте: Разработка и патентная защита программного средства Автоматизированное рабочее место инженера п