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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

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

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

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

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

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

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

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

по дисциплине:

на тему:

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 обхватывает полный актуальный цикл ПС, в каком выделяются 6 больших базисных действий. Эти процессы детализируются 16 личными действиями. В опосля­дних имеется еще наиболее маленькая детализация в совокупы на 65 процессов-работ. Содержание всякого личного процесса начи­нается с описания общих его функций и задач и списка дей­ствий — работ при следующей детализации. Для всякого про­цесса в эталоне представлены входная и результирующая ин­формация о его выполнении и короткое описание сути процесса. внимание сосредоточено в большей степени на непос­редственном разработке ПС и на действиях подготовительного проектирования. В приложении представлены четыре варианта адап­тации наибольшего состава компонент ЖЦ ПС к конкрет­ным особенностям типовых проектов.

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


2 ПРОГРАММНО-АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОГРАММНОГО средства «АВТОМАТИЗИРОВАННОЕ РАБОЧЕЕ МЕСТО ИНЖЕНЕРА ПО СЕРВИСНОМУ ОБСЛУЖИВАНИЮ КОМПЬЮТЕРНОЙ ТЕХНИКИ»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На рисунке 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ГБ;

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


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

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

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

1-ая таблица «Клиенты» содержит последующую информацию: номер клиента, ФИО клиента, адресок клиента, телефон клиента.

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

3-я таблица «Детали» содержит сведения о номере детали, о наименовании детали, о технических свойствах, о производителе.

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

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

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


имя домена
Тип
Длина
Not Null
Ограничения

D_INDEX
smallint
+
>0

D_NAME
varchar
50

D_STOIM
varchar
10

D_DATE
DATE
<TODAY

D_ADRES
varchar
50

D_TELEPHONE
varchar
15


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


имя таблицы
Поле
Тип
Длина
Not Null
PK
имя домена

client
ID_CLIENT
smallint
+
+
D_INDEX

FIO_CL
varchar
50
D_NAME

ADRES
varchar
50
D_ADRES

TELEPHONE
varchar
15
D_TELEPHONE

detail
ID_DETAIL
smallint
+
+
D_INDEX

NAME_DETAIL
varchar
50
D_NAME

TECH_HAR
varchar
50
D_NAME

PROIZVOD
varchar
50
D_NAME

ingener
ID_ING
smallint
+
+
D_INDEX

FIO_ING
varchar
50
+
D_NAME

TELEPHONE
varchar
15
D_TELEPHONE

ADRES
varchar
50
D_ADRES

raschet
Id_rasch
smallint
+
+
D_INDEX

Nalich_R
varchar
50
D_NAME

Beznalich_R
varchar
50
D_NAME

zakaz
Id_zak
smallint
+
+
D_INDEX

DATE_PR
DATE
D_DATE

ID_CLIENT
smallint
+
D_INDEX

ID_ING
smallint
+
D_INDEX

ID_DET
smallint
+
D_INDEX

ID_RASCH
smallint
+
D_INDEX

DATE_V
DATE
D_DATE

STOIMOST
VARCHAR
10
D_STOIM

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

Набросок 4 — Создание таблицы “Клиенты”

Набросок 5 — Создание таблицы “Детали ”

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

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

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

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

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

Рис. 9. Перечень генераторов

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

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


Набросок 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 Оформление документов на регистрацию программного средства

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

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

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

— тип регистрируемой системы (фактически программка или БД);

— имена и подписи обладателя прав и исполнителей;

— заглавие и другое заглавие ПС;

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

— количество создателей ПС;

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

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

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


Не считая формы РП в Роспатент нужно навести еще ряд документов. А именно, так именуемый, реферат, в каком отражается основная информация о программке (вес программного кода, язык написания, платформа, нужные технические средства для ее использования). Так же необходимо отметить, что реферат заполняется в 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;

    }

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

    ]]>