Учебная работа. Курсовая работа: Разработка и патентная защита программного средства Автоматизированное рабочее место инженера п
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «БелГУ»
Факультет компьютерных наук и телекоммуникаций
Кафедра прикладной информатики
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ
по дисциплине:
на тему:
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) углубить теоретические и практические познания в области патентования программных средств.
Разработанная информационная система владеет всей нужной для работы функциональностью, интерфейс является весьма комфортным приложением для работы с БД.
Создание курсовой работы посодействовало закрепить пройденный материал по курсу «Разработка и стандартизация программных средств и информационных технологий», углубить познания по разработке удаленных баз данных и клиентских приложений, работающих с ними. Также были получены способности патентной защиты программ для ЭВМ .
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
приложение
//—————————————————————————
#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;
}
//—————————————————————————
]]>