Создание автоматизированной информационно-управляющей системы

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

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

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

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

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

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

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

- определить норму освещенности на рабочем месте.

Для расчета искусственного освещения используют в основном три метода.

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

(5.1)

где ЕН - нормированная минимальная освещенность, Лк;

S - площадь помещения, м2;

z - коэффициент неравномерности освещения;

kз - коэффициент запаса, учитывающий снижение освещенности из-за загрязнения и старения лампы;

N - число светильников;

n - число ламп в светильнике;

u - коэффициент использования светового потока.

Коэффициент неравномерности z зависит от светораспределения светильников и их расположения в пространстве. Он учитывает, что в реальных условиях неизбежна некоторая неравномерность освещения поверхности. Значение коэффициента колеблется от 1 до 1,5. При расположении светильников, близком к наивыгоднейшему, его можно принять z = 1,11,2.

Коэффициент запаса kз учитывает снижение освещенности из-за загрязнения и старения лампы. В случае освещения люминесцентными лампами:

kз = 1,5 - при запыленности помещения менее 5 мг/м3;

kз = 1,8 - при запыленности помещения от 5 до 10 мг/м3;

kз = 2,0 - при запыленности помещения более 10 мг/м3.

Для определения коэффициента использования светового потока и находится индекс помещения i и предположительно оцениваются коэффициенты отражения поверхностей помещения: потолка - n, стен - c, расчетной поверхности или пола - p.

Индекс находится по формуле:

, (5.2)

где А и В - длина и ширина помещения, м;

Нр - высота светильников над рабочей поверхностью, м.

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

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

Подставив в формулу (5.2) значения, найдем индекс помещения.

.

По полученным значениям индекса помещения, находим по таблице 5.1, коэффициент использования светового потока.

Таблица 5.1 - Коэффициенты использования светового потока

Индекс помещения i

Коэффициенты использования, % при различных типах светильников

ЛЦ

ПВЛ

ОДОР

ШМ

0,5

18

10

20

8

0,8

31

18

31

18

1,0

36

22

35

22

1,5

43

29

43

26

2,0

48

33

48

30

2,5

51

37

51

33

3,0

53

39

53

36

Подставив в формулу (5.1) значения, найдем световой поток лампы.

Таблица 5.2 - Светотехнические характеристики наиболее распространенных люминесцентных ламп (напряжения 230 В).

Тип ламп

Световой поток Ф, лм

Мощность лампы, Вт

15

20

30

40

65

80

ЛДЦ

500

820

1450

2100

3050

3560

ЛД

590

920

1640

2340

3570

4070

ЛХБ

675

935

1720

2600

3820

4440

ЛБ

760

1180

2100

3000

4550

5220

Поскольку в СанПиН в качестве источников искусственного освещения рекомендуется использовать люминесцентные лампы типа ЛБ, то по таблице 5.2 находим лампу, по мощности соответствующую световому потоку в 2511,63 лм (ближайшая по мощности лампа - ЛБ 40-4). Для обеспечения нормального искусственного освещения в светильниках должны стоять лампы данного типа.

5.2.2 Расчет естественного освещения

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

Освещенность Е - поверхностная плотность светового потока; определяется как отношение светового потока , равномерно падающего на освещаемую поверхность dS2), и её площади:

E = dФ/dS (5.3)

Освещенность измеряется в люксах [лк].

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

КЕО = Евн/Енар 100% (5.4)

Согласно СНиП нормированное значение КЕО (ен) для здания, располагаемого в определенном районе следует определить по формуле:

eн = e m, (5.5)

где е - нормированное значение КЕО;

т - коэффициент светового климата.

При боковом освещении помещений расчет площади световых проемов ведется по формуле:

, (5.6)

где S0 - площадь световых проемов;

Sn - площадь пола помещения, м2;

eн - нормированное значение коэффициента естественной освещенности, %;

Кз - коэффициент запаса;

0 - световая характеристика окон;

Кзд - коэффициент, учитывающий затенение окон противостоящими зданиями;

0 - общий коэффициент светопропускания;

r1 - коэффициент, учитывающий влияние отраженного света.

Расстояние до противоположного здания 500 м. Расстояние от окна до рассчитываемой точки 1 м. Естественное освещение осуществляется через световые проемы в наружных стенах здания, ориентированные на север. Так как помещение имеет одностороннее боковое естественное освещение, то минимальное значение КЕО будет нормироваться в точке, расположенной на пересечении вертикальной плоскости характерного разреза помещения условной рабочей поверхности на расстоянии 1 м от стены, наиболее удаленной от световых проемов.

По формуле (5.5) рассчитаем нормированное значение КЕО (ен) для здания, располагаемого в Оренбургском районе:

ен = 2 0,9 = 1,8 %.

При боковом освещении помещения расчет площади светового проема рассчитаем по формуле (5.6):

м2.

Sфакт = 9 м2, S0 =19,15 м2, следовательно S0 ? Sфакт. Рассчитанная необходимая площадь окна оказалась больше фактической, что доказывает: имеющаяся площадь окна недостаточна для полноценного освещения, поэтому для компенсации этого недостатка освещённости в дневное время работы к естественному освещению применяют дополнительно искусственное.

5.3 Возможные чрезвычайные ситуации

Хлор - при нормальных условиях желто-зеленого цвета с резким раздражающим запахом. При обычном давлении затвердевает при температуре - 101 оС и сжижается при температуре - 34 оС. Плотность газообразного хлора примерно в 2,5 раза больше плотности воздуха, вследствие чего хлор стелится по земле, скапливается в низинах, подвалах, колодцах, тоннелях, по берегам ре, озер.

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

Следует помнить, что предельно допустимые концентрации (ПДК) хлора в атмосферном воздухе следующие:

- среднесуточная концентрация вещества в атмосфере населенных
мест- 0,03 мг/м3;

- предельно-допустимая максимальная разовая концентрация вещества в атмосфере населенных мест - 0,1 мг/м3;

- ориентировочный безопасный уровень воздействия вещества в воздухе рабочей зоны - 1 мг/м3.

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

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

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

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

В очень тяжелых условиях отравления может наступить молниеносная смерть в результате рефлекторной остановки дыхания. Иногда дыхание останавливалось через 5-25 минут после вдыхания газа нередко смерть наступает от химического ожога легких.

Первая медицинская помощь, в очаге поражения осуществляемая в порядке само- и взаимопомощи:

- промыть глаза водой, лучше 2% раствором питьевой соды;

- надеть противогаз или ватно-марлевую повязку, смоченную 2% раствором питьевой соды;

- обработать пораженные участки кожи мыльным раствором;

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

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

По таблице 1 для 25 т хлора находим глубину зараженного воздуха, при ветре 1 м/с она равна 80 км при инверсии, 11,5 при изотермии, 1,96 при конвекции. По таблице 2 определяем поправочный коэффициент для скорости ветра 2 м/с, он равен 0,6 при инверсии, 0,71 при изотермии, 0,7 при конвекции. Глубина распространения облака зараженного воздуха равна:

- 80·0,6 = 48 км при инверсии;

- 11,5·0,71 = 8,17 км при изотермии;

- 1,96·0,7 = 1,37 км при конвекции.

По условию задачи емкость обвалована. В соответствии с примечанием к таблице 1 глубину распространения зараженного воздуха уменьшаем в 1,5 раза. Следовательно, искомая глубина будет равна:

- 48 / 1,5=32 км при инверсии;

- 8,17 / 1,5=7,67 км при изотермии;

- 1,37 / 1,5=0,91 км при конвекции.

Определяем ширину зоны химического заражения.

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

- Ш = 0,03·Г при инверсии;

- Ш = 0,15·Г при изотермии;

- Ш = 0,8·Г при конвекции,

где Г - глубина распространения облака зараженного воздуха с поражающей концентрацией в км.

Ш = 0,03·Г = 0,03·32= 0,96 км при инверсии.

Ш = 0,15·Г = 0,15·7,67 = 1,15 км при изотермии.

Ш = 0,8·Г = 0,8·0,91 = 0,73 км при конвекции.

Площадь зоны заражения определяется по таблице значений и будет равна 15 км2 при инверсии, 4,5 км2 при изотермии, 0,33 км2 при конвекции.

Для скорости ветра 2 м/с в условиях инверсии по таблице 4 находим, что скорость переноса фронта зараженного облака составляет 10 км/ч при инверсии, 12 км/ч при изотермии, 14 км/ч при конвекции.

Время подхода облака зараженного воздуха к предприятию равна:

- t = 2 / 10 = 0,2 часа при инверсии;

- t = 2 / 12 = 0,17 часа при изотермии;

- t = 2 / 14 = 0,14 часа при конвекции.

Расчет времени эвакуации сотрудников учреждения

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

Расчет времени эвакуации выполним для следующих условий: на этаже по 25 кабинетов, в каждом из них по 2 человека. Размеры кабинетов: длина 8 м, ширина 8 м. Длина коридора 30 м, ширина 2 м. Ширина лестницы 2 м, длина 20 м. Параметры приведены в таблице 5.3.

Таблица 5.3- Параметры расчетного объекта

Параметры

№ участка

1

(начальный)

2

(коридор)

3

(лестница)

4

(дверной проем)

Длина участка, li, м

8

30

10

1

Ширина участка, bi, м

8

3

2

2

Число людей, Ni, м

5

12

12

12

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

tp = t1 + t2 + t3, (5.5)

где t1 - время движения людского потока на начальном участке, мин;

t2 - время движения по коридору, мин;

t3 - время движения сквозь дверной проем, мин.

Время движения людского потока по участкам рассчитывается по формуле:

, (5.6)

где li - длинна участка, м;

vi - скорость движения людского потока, м/мин.

Скорость движения людского потока на начальном участке определяется по плотности D1, м/мин. Плотность движения людского потока на начальном участке пути, имеющем длину l1 и ширину b1 равна:

, (5.7)

где N1 - количество людей на начальном участке;

f - средняя площадь горизонтальной проекции человека, f = 0,125 м2.

Подставив значения из таблицы 5.4 получим:

м/мин.

Для значения плотности людского потока D1 = 0,01 м/мин по таблице 2 /8/ определяем скорость движения людского потока, она составит v1 =100 м/мин, а интенсивность движения q1 = 5.

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

мин.

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

, (5.8)

где bi, bi-1 - ширина рассматриваемого i и предшествующего ему i-1 участка пути, м;

qi, qi-1 - значения интенсивности движения людского потока по рассматриваемому i и предшествующему i-1 участкам пути, м/мин.

При слиянии вначале участка i двух и более людских потоков интенсивность движения qi, м/мин, вычисляют по формуле:

, (5.9)

где qi-1 - интенсивность движения людских потоков, сливающихся в начале участка i, м/мин;

bi-1 - ширина участков пути слияния, м;

bi - ширина рассматриваемого участка пути, м.

Подставив в формулу (5.9) значения из таблицы 5.4 и значения интенсивностей движения людского потока на первом участке получим:

,

где q11, q21 - интенсивности движения людского потока на сливающихся участках, q11 = q21 = q1.

м/мин.

Подставив значение q2 в формулу (5.8) и значения из таблицы 5.4 получим значения интенсивности людского потока на 3 и 4 участках:

м/мин.,

м/мин.

По значениям интенсивности находим значения скорости движения людского потока: v2 = 80 м/мин, v3 = 40 м/мин, v4 = 33 м/мин. Тогда по формуле (5.6) рассчитаем время движения по этим участкам:

мин.,

мин.,

мин.

Подставив значения в формулу (5.10) получим время эвакуации людей:

tp = 0,01 + 0,375 + 0,25 + 0,025 = 0,66 мин.

Выводы

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

Заключение

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

- анализ предметной области;

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

- в соответствии с заданной предметной областью была спроектирована база данных, и реализована на InterBase 7.0.1;

- рассмотрены вопросы реализация целостности и безопасности данных;

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

- разработан алгоритм программного средства;

- разработана сопроводительная документация для программиста и пользователя программного средства.

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

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

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

Список использованных источников

1 Устав ООО «Восток»

2 Гофман, В.Э. Visual Studio.NET. [Текст] / В.Э. Гофман, А.Д. Хомоненко. СПб.: БХВ - Петербург, 2007. - 1152 с.

3 Керман, К. Программирование и отладка в C++ Builder. [Текст] Учебный курс, Москва 2006. - 326 c.

4 Бобровский, С. И. Delphi 7 [Текст]: учебный курс / С. И. Бобровский. - CПб. : Питер, 2008. - 736 с.

5 Фаронов, В. В. Программирование баз данных в Delphi 7 [Текст]: учеб. курс / В. В. Фаронов . - CПб. : Питер, 2005. - 459 с.

6 Тельман, Дж. Современные системы управления базами данных. - М.: Финансы и статистика, 2008. - 625 c.

7 Орлов, С.А. Технология разработки программного обеспечения. [Текст] - Спб.: Питер, 2002 - 464 с.

8 Когловский, М. Р. Технология баз данных на персональных ЭВМ. [Текст] - М.: Финансы и статистика, 1992. - 421 c.

9 Мартин, Дж. Организация баз данных в вычислительных системах. [Текст] - М: Мир, 1978. - 161 c.

10 Горев, А. Эффективная работа с СУБД. [Текст] / Горев А., Р. Ахаян, С. Макашарипов -СПб.: Питер, 1997. - 704 с.

11 Великанов, К.М. Экономика и организация производства в дипломных проектах. [Текст] - Л.: Машиностроение, 1986. - 285с.

12 Стивенс, Р. Delphi Готовые алгоритмы. [Текст] Москва 2001, - 102 с.

13 Гофман В.Э. Delphi 6. [Текст] / В.Э. Гофман, П.А. Иванов. СПб.: БХВ - Петербург, 2002. - 952с.

14 Епинешников, А.М. Программирование в среде Turbo Pascal 7.0. [Текст] / А.М. Епинешников, В.А. Епинешников. - М.: Диалог-Мифи, 1996. - 87 с.

15 Габдуллина, О. Г. Решение функциональных и вычислительных задач в средах Delphi и MathCAD [Текст]: учеб. пособие для вузов / О. Г. Габдуллина, О. А. Никонорова, Э. И. Бикмухаметова . - Оренбург : ОГУ, 2005. - 114 с.

16 ГОСТ 12.1.004-76. Основы противопожарной защиты предприятий. [Текст] - М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1995. - 105 с.

17 ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. - [Текст] Введ. 01.01.92. - М.: Издательство стандартов, 1998. - 25 с.

18 Стандарт СТП 101-00г. [Текст] - Оренбург, 2000г., ОГУ.

19 СТП 2069022.101-00. Стандарт предприятия. Общие требования и правила оформления выпускных квалификационных работ, курсовых проектов (работ), отчетов по РГР, по УИРС, по производственной практике и рефератов. [Текст] - Оренбург: ОГУ, 2000.-65 с.

20 СанПиН 2.2.2.542 - 96. Гигиенические требования к видеодисплейным терминалам, ПЭВМ и организации работы. [Текст] - Введ. С 14.07.96 - М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996. - 65с.

21 СНиП II-2-80 - М.: Информационно-издательский центр Госкомсанэпиднадзора России [Текст] 1995. - 85с.

22 СНиП II-33-75 - М.: Информационно-издательский центр Госкомсанэпиднадзора России [Текст] 1995. - 55с.

23 СНиП 21-01-97 Пожарная безопасность зданий и сооружений [Текст] Введ. 13.02.97 - М.: Минстрой России, 1997.

24 СНиП 23-05-95 Естественное и искусственное освещение [Текст] Введ. 02.08.95 - М.: Минстрой России, 1995.

ПРИЛОЖЕНИЕ А

(обязательное)

SQL-скрипты

/* Table: DATCHIK, Owner: SYSDBA */

CREATE TABLE DATCHIK

(

ID INTEGER NOT NULL,

NAME VARCHAR(80) NOT NULL,

ID_PROIZ INTEGER NOT NULL,

ID_TIP_DATCHIKA INTEGER NOT NULL,

CONSTRAINT PK_DATCHIK PRIMARY KEY (ID)

);

ALTER TABLE DATCHIK ADD CONSTRAINT FK1_DATCHIK FOREIGN KEY (ID_PROIZ) REFERENCES PROIZ (ID);

ALTER TABLE DATCHIK ADD CONSTRAINT FK2_DATCHIK FOREIGN KEY (ID_TIP_DATCHIKA) REFERENCES TIP_DATCHIKA (ID);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER DATCHIK_BI FOR DATCHIK

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_DATCHIK_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: ITAZH, Owner: SYSDBA */

CREATE TABLE ITAZH

(

ID INTEGER NOT NULL,

NUMBER INTEGER NOT NULL,

CONSTRAINT PK_ITAZH PRIMARY KEY (ID)

);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER ITAZH_BI FOR ITAZH

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_ITAZH_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: LIST_UST, Owner: SYSDBA */

CREATE TABLE LIST_UST

(

ID INTEGER NOT NULL,

SR_NUMBER VARCHAR(10) NOT NULL,

DATA_US TIMESTAMP NOT NULL,

DATA_SP TIMESTAMP,

ID_DATCHIK INTEGER NOT NULL,

ID_POM INTEGER NOT NULL,

ID_STAT INTEGER NOT NULL,

CONSTRAINT PK_LIST_UST PRIMARY KEY (ID)

);

ALTER TABLE LIST_UST ADD CONSTRAINT FK1_LIST_UST FOREIGN KEY (ID_DATCHIK) REFERENCES DATCHIK (ID);

ALTER TABLE LIST_UST ADD CONSTRAINT FK2_LIST_UST FOREIGN KEY (ID_POM) REFERENCES POM (ID);

ALTER TABLE LIST_UST ADD CONSTRAINT FK3_LIST_UST FOREIGN KEY (ID_STAT) REFERENCES STAT (ID);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER LIST_UST_BI FOR LIST_UST

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_LIST_UST_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: POKAZ, Owner: SYSDBA */

CREATE TABLE POKAZ

(

ID INTEGER NOT NULL,

VR TIMESTAMP NOT NULL,

ZNACH INTEGER NOT NULL,

ID_LIST_UST INTEGER NOT NULL,

CONSTRAINT PK_POKAZ PRIMARY KEY (ID)

);

ALTER TABLE POKAZ ADD CONSTRAINT FK_POKAZ FOREIGN KEY (ID_LIST_UST) REFERENCES LIST_UST (ID);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER POKAZ_BI FOR POKAZ

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_POKAZ_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: POM, Owner: SYSDBA */

CREATE TABLE POM

(

ID INTEGER NOT NULL,

NAME VARCHAR(50) NOT NULL,

PLO INTEGER NOT NULL,

ID_ITAZH INTEGER NOT NULL,

CONSTRAINT PK_POM PRIMARY KEY (ID)

);

ALTER TABLE POM ADD CONSTRAINT FK_POM FOREIGN KEY (ID_ITAZH) REFERENCES ITAZH (ID);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER POM_BI FOR POM

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_POM_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: PROIZ, Owner: SYSDBA */

CREATE TABLE PROIZ

(

ID INTEGER NOT NULL,

NAME VARCHAR(60) NOT NULL,

CONSTRAINT PK_PROIZ PRIMARY KEY (ID)

);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER PROIZ_BI FOR PROIZ

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_PROIZ_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: PROV, Owner: SYSDBA */

CREATE TABLE PROV

(

ID INTEGER NOT NULL,

DATA TIMESTAMP NOT NULL,

OPIS VARCHAR(100) NOT NULL,

ID_LIST_UST INTEGER NOT NULL,

ID_SOTR INTEGER NOT NULL,

CONSTRAINT PK_PROV PRIMARY KEY (ID)

);

ALTER TABLE PROV ADD CONSTRAINT FK1_PROV FOREIGN KEY (ID_LIST_UST) REFERENCES LIST_UST (ID);

ALTER TABLE PROV ADD CONSTRAINT FK2_PROV FOREIGN KEY (ID_SOTR) REFERENCES SOTR (ID);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER PROV_BI FOR PROV

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_PROV_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: SOTR, Owner: SYSDBA */

CREATE TABLE SOTR

(

ID INTEGER NOT NULL,

FIO VARCHAR(100) NOT NULL,

POST VARCHAR(50) NOT NULL,

CONSTRAINT PK_SOTR PRIMARY KEY (ID)

);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER SOTR_BI FOR SOTR

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_SOTR_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: STAT, Owner: SYSDBA */

CREATE TABLE STAT

(

ID INTEGER NOT NULL,

NAME VARCHAR(50) NOT NULL,

CONSTRAINT PK_STAT PRIMARY KEY (ID)

);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER STAT_BI FOR STAT

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_STAT_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

/* Table: TIP_DATCHIKA, Owner: SYSDBA */

CREATE TABLE TIP_DATCHIKA

(

ID INTEGER NOT NULL,

NAME VARCHAR(50) NOT NULL,

CONSTRAINT PK_TIP_DATCHIKA PRIMARY KEY (ID)

);

SET TERM ^ ;

/* Triggers only will work for SQL triggers */

CREATE TRIGGER TIP_DATCHIKA_BI FOR TIP_DATCHIKA

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

IF (NEW.ID IS NULL) THEN

NEW.ID = GEN_ID(GEN_TIP_DATCHIKA_ID,1);

END

^

COMMIT WORK ^

SET TERM ;^

Приложение Б

(обязательное)

Текст программы

unit datchik;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, DBCtrls, Grids, DBGrids;

type

TForm7 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses menu,proiz, tip_datchika;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit1.Text;

IBQuery2.Params[1].AsString:=form3.IBQuery1.Fields[0].AsString;

IBQuery2.Params[2].AsString:=form4.IBQuery1.Fields[0].AsString;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=Edit1.Text;

IBQuery3.Params[1].AsString:=form3.IBQuery1.Fields[0].AsString;

IBQuery3.Params[2].AsString:=form4.IBQuery1.Fields[0].AsString;

IBQuery3.Params[3].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit itazh;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery;

type

TForm2 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses menu;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit1.Text;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=Edit1.Text;

IBQuery3.Params[1].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit kon_dat;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, DBCtrls, StdCtrls, Grids, DBGrids,

ComCtrls;

type

TForm13 = class(TForm)

Label1: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

IBQuery1: TIBQuery;

Label2: TLabel;

IBQuery2: TIBQuery;

DataSource1: TDataSource;

DataSource2: TDataSource;

Label3: TLabel;

Label4: TLabel;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

DBGrid1: TDBGrid;

IBQuery3: TIBQuery;

DataSource3: TDataSource;

Edit1: TEdit;

IBQuery4: TIBQuery;

procedure DBLookupComboBox1Click(Sender: TObject);

procedure DBLookupComboBox2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form13: TForm13;

implementation

uses menu;

{$R *.dfm}

procedure TForm13.DBLookupComboBox1Click(Sender: TObject);

begin

IBQuery2.Close;

IBQuery2.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery2.Open;

end;

procedure TForm13.DBLookupComboBox2Click(Sender: TObject);

var

s:string;

begin

s:= '';

IBQuery3.Close;

IBQuery3.Params[0].AsString:=IBQuery2.Fields[0].AsString;

IBQuery3.Params[1].AsDate:=DateTimePicker1.Date;

IBQuery3.Params[2].AsDate:=DateTimePicker2.Date;

IBQuery3.Open;

IBQuery4.Params[0].AsString:=IBQuery2.Fields[3].AsString;

IBQuery4.Open;

s:=IBQuery4.Fields[3].AsString;

IBQuery4.Close;

Edit1.Text:=s;

end;

end.

unit kon_tdat;

interface

uses

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

Dialogs, Grids, DBGrids, DB, IBCustomDataSet, IBQuery, ComCtrls, DBCtrls,

StdCtrls;

type

TForm14 = class(TForm)

Label1: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Label2: TLabel;

Label3: TLabel;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

DataSource1: TDataSource;

IBQuery1: TIBQuery;

DBGrid1: TDBGrid;

procedure DBLookupComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form14: TForm14;

implementation

uses menu, tip_datchika;

{$R *.dfm}

procedure TForm14.DBLookupComboBox1Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.Params[0].AsDate:=DateTimePicker1.Date;

IBQuery1.Params[1].AsDate:=DateTimePicker2.Date;

IBQuery1.Params[2].AsString:=form4.IBQuery1.Fields[0].AsString;

IBQuery1.Open;

end;

end.

unit list_ust;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, ComCtrls, Grids, DBGrids,

DBCtrls;

type

TForm9 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit3: TEdit;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

Label4: TLabel;

Label5: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

Button5: TButton;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form9: TForm9;

implementation

uses menu, datchik, stat, pokaz, prov;

{$R *.dfm}

procedure TForm9.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit3.Text;

IBQuery2.Params[1].AsString:=DateToStr(DateTimePicker1.DateTime);

IBQuery2.Params[2].AsString:=form7.IBQuery1.Fields[0].AsString;

IBQuery2.Params[3].AsString:=Edit2.Text;

IBQuery2.Params[4].AsString:=form5.IBQuery1.Fields[0].AsString;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit3.Text:='';

end;

procedure TForm9.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

procedure TForm9.Button3Click(Sender: TObject);

begin

form10.edit3.Text:='';

form10.IBQuery1.Close;

form10.IBQuery1.Params[0].AsString:=IBQuery1.Fields[0].AsString;

form10.edit1.Text:=IBQuery1.Fields[1].AsString;

form10.edit2.Text:=IBQuery1.Fields[0].AsString;

form10.IBQuery1.Open;

form10.ShowModal;

end;

procedure TForm9.Button4Click(Sender: TObject);

begin

form11.edit3.Text:='';

form11.IBQuery1.Close;

form11.IBQuery1.Params[0].AsString:=IBQuery1.Fields[0].AsString;

form11.edit1.Text:=IBQuery1.Fields[5].AsString;

form11.edit2.Text:=IBQuery1.Fields[0].AsString;

form11.IBQuery1.Open;

form11.ShowModal;

end;

procedure TForm9.Button5Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=DateToStr(DateTimePicker2.Date);

IBQuery4.Params[1].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit menu;

interface

uses

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

Dialogs, Menus, IBDatabase, DB;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

IBDatabase1: TIBDatabase;

IBTransaction1: TIBTransaction;

procedure N13Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses itazh, proiz, tip_datchika, stat, sotr, datchik, pom, kon_dat, ustan,

kon_tdat;

{$R *.dfm}

procedure TForm1.N13Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

form2.edit1.text:='';

form2.ShowModal;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

form3.edit1.text:='';

form3.ShowModal;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

form4.edit1.text:='';

form4.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

form5.edit1.text:='';

form5.ShowModal;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

form6.edit1.text:='';

form6.edit2.text:='';

form6.edit3.text:='';

form6.edit4.text:='';

form6.ShowModal;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

form7.edit1.text:='';

form7.ShowModal;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

form8.edit1.text:='';

form8.edit2.text:='';

form8.ShowModal;

end;

procedure TForm1.N9Click(Sender: TObject);

begin

form12.Edit1.Text:='';

form12.Edit2.Text:='';

form12.ShowModal;

end;

procedure TForm1.N11Click(Sender: TObject);

begin

Form13.Edit1.Text:='';

Form13.IBQuery1.Close;

Form13.IBQuery1.Open;

Form13.ShowModal;

end;

procedure TForm1.N12Click(Sender: TObject);

begin

Form14.ShowModal;

end;

end.

unit pokaz;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, ComCtrls, Grids, DBGrids;

type

TForm10 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

DateTimePicker1: TDateTimePicker;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form10: TForm10;

implementation

uses menu;

{$R *.dfm}

procedure TForm10.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsDateTime:=DateTimePicker1.DateTime;

IBQuery2.Params[1].AsString:=Edit3.Text;

IBQuery2.Params[2].AsString:=Edit2.Text;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit3.Text:='';

end;

procedure TForm10.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit pom;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, DBCtrls, Grids, DBGrids;

type

TForm8 = class(TForm)

Label1: TLabel;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DBLookupComboBox1: TDBLookupComboBox;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Label4: TLabel;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure DBLookupComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form8: TForm8;

implementation

uses menu, itazh, list_ust;

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit1.Text;

IBQuery2.Params[1].AsString:=Edit2.Text;

IBQuery2.Params[2].AsString:=form2.IBQuery1.Fields[0].AsString;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

Edit2.Text:='';

end;

procedure TForm8.Button3Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

procedure TForm8.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=Edit1.Text;

IBQuery3.Params[1].AsString:=Edit2.Text;

IBQuery3.Params[2].AsString:=form2.IBQuery1.Fields[0].AsString;

IBQuery3.Params[3].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

Edit2.Text:='';

end;

procedure TForm8.Button4Click(Sender: TObject);

begin

form9.edit3.Text:='';

form9.IBQuery1.Close;

form9.IBQuery1.Params[0].AsString:=IBQuery1.Fields[0].AsString;

form9.edit1.Text:=IBQuery1.Fields[1].AsString;

form9.edit2.Text:=IBQuery1.Fields[0].AsString;

form9.IBQuery1.Open;

form9.ShowModal;

end;

procedure TForm8.DBLookupComboBox1Click(Sender: TObject);

begin

IBQuery1.Close;

IBQuery1.Params[0].AsString:=form2.IBQuery1.Fields[0].AsString;

IBQuery1.Open;

end;

end.

unit proiz;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery;

type

TForm3 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses menu;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit1.Text;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=Edit1.Text;

IBQuery3.Params[1].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit prov;

interface

uses

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

Dialogs, DB, IBCustomDataSet, IBQuery, StdCtrls, ComCtrls, Grids, DBGrids,

DBCtrls;

type

TForm11 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Edit3: TEdit;

DateTimePicker1: TDateTimePicker;

Button1: TButton;

Button2: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

Label3: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form11: TForm11;

implementation

uses menu, sotr;

{$R *.dfm}

procedure TForm11.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=DateToStr(DateTimePicker1.DateTime);

IBQuery2.Params[1].AsString:=Edit3.Text;

IBQuery2.Params[2].AsString:=Edit2.Text;

IBQuery2.Params[3].AsString:=form6.IBQuery1.Fields[0].AsString;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit3.Text:='';

end;

procedure TForm11.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit sotr;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery;

type

TForm6 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses menu;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

IBQuery2.Params[0].AsString:=Edit2.Text+' '+Edit3.Text+' '+Edit4.Text;

IBQuery2.Params[1].AsString:=Edit1.Text;

IBQuery2.Open;

IBQuery2.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

IBQuery3.Params[0].AsString:=Edit2.Text+' '+Edit3.Text+' '+Edit4.Text;

IBQuery3.Params[1].AsString:=Edit1.Text;

IBQuery3.Params[2].AsString:=IBQuery1.Fields[0].AsString;

IBQuery3.Open;

IBQuery3.Close;

IBQuery1.Close;

IBQuery1.Open;

Edit1.Text:='';

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

IBQuery4.Params[0].AsString:=IBQuery1.Fields[0].AsString;

IBQuery4.Open;

IBQuery4.Close;

IBQuery1.Close;

IBQuery1.Open;

end;

end.

unit stat;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, IBCustomDataSet, IBQuery;

type

TForm5 = class(TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

IBQuery1: TIBQuery;

IBQuery2: TIBQuery;

IBQuery3: TIBQuery;

IBQuery4: TIBQuery;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses menu;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin


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

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