МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
УСТЬ-КАМЕНОГОРСКИЙ КОЛЛЕДЖ ЭКОНОМИКИ И ФИНАНСОВ
Специальность «Программное обеспечение вычислительной техники и автоматизированных систем»
Пояснительная записка
К ДИПЛОМНОМУ ПРОЕКТУ
Руководитель:
Преподаватель:
__________________
«____»____________2008 г.
Студент:
___________________Крутьева Е.А.
«____»_____________2008 г.
Специальность 3706002
Группа ТП-41
Усть-Каменогорск, 2008
ЗАДАНИЕ К ДИПЛОМНОМУ ПРОЕКТУ
Разработать АРМ менеджера по продаже недвижимости.
Руководитель
«______»_________________200__г.
РЕФЕРАТ
Пояснительная записка изложена на 68 страницах, в нее входят:
17 – рисунков, 7 – таблиц, 3 – приложений, 10 – используемых литературных источников. Пояснительная записка состоит из трех разделов: введение, основная часть, заключение.
В первом разделе производится анализ предметной области, устанавливается структурное представление, взаимосвязи с другими компонентами информационного пространства, ставятся задачи для разработки программного приложения выбранной предметной области.
Во втором разделе уделяется внимание обоснованию методов организации информационной базы, определяются основные факторы, влияющие на выбор информационного обеспечения создаваемой системы. Здесь рассматриваются организация технологии сбора, передачи, обработки и выдачи информации. А так же происходит описание программных модулей.
В третьем разделе внимание уделяется санитарным нормам использования ИС, рассматриваются мероприятия и требования, санитарных норма, целью которых является улучшения условий труда, снижение нагрузок. В этом разделе так же рассматривается электробезопасность и пожарная безопасность, определяются методы предотвращения электротравматизма, организация обслуживания действующих установок.
СОДЕРЖАНИЕ
Введение 5
Исследование автоматизации рынка недвижимости 6
Системно-структурная характеристика предметной области 6
Проектные решения по информационному обеспечению 9
Проектные решения по программному обеспечению 10
Разработка автоматизации рынка недвижимости 11
Информационное обеспечение комплекса задач 11
Инфологическая модель, схема данных и ее описание 11
Используемые классификаторы и системы кодирования 14
Характеристика входной, выходной и нормативно-справочной информации 15
Внутримашинная реализация комплекса задач 16
Формализация расчетов 16
Структурная схема использования комплекса программ 19
Технологическое обеспечение 19
Организация технологии сбора, передачи, обработки и выдачи 19
Схема технологического процесса сбора, передачи, обработки и выдачи информации 20
Программное обеспечение комплекса задач 22
Общие положения 22
Структурная схема пакета 22
Описание программных модулей 23
Проектирование интерфейсов 23
Схема взаимосвязи программных модулей и информационных файлов 24
Выбор и обоснование технических средств 24
Выбор методики обеспечивающей надежность и защищенность ИС 25
Безопасность и экологичность 27
Санитарные нормы использования ИС 27
Электробезопасность и пожарная безопасность 31
Заключение 36
Список использованной литературы 37
Приложение А – Входные и выходные документы
Приложение В – Интерфейс приложения
Приложение С – Листинг приложения
ВВЕДЕНИЕ
Выбранная тема дипломного проекта на сегодняшней день является востребованной в сфере рынка недвижимости. АРМ менеджера по продаже обеспечивает автоматизацию конкретных функций, необходимых для принятия управленческих решений.
Для проектирования выбранной предметной области и реализации запросов пользователя, необходимо выбрать наиболее эффективную модель данных и подходящую логическую структуру.
Проектирование должно заключаться не только в создании правильной структуры данных, но и в обеспеченности целостности структуры данных.
Целью данной дипломной работы является разработка автоматизированного рабочего места менеджера по продажам недвижимости, которое должно соответствовать следующим поставленным задачам:
обеспечить сбор и обработку данных для формирования отчетов;
обеспечить контроль заполнения;
ускорить работу с большими объемами информации;
отслеживать средние ценовые расценки на рынке недвижимости;
производить анализ соотношения спроса и предложения;
организовать обработку входных и выходных данных;
организовать быстрый поиск требуемой информации.
Таким образом, разрабатываемое приложение должно ускорить продуктивность работы и разнообразить сервис услуг для привлечения внимания клиентов. Так как это играет важную роль в условиях жесткой конкуренции.
1. Исследование автоматизации рынка недвижимости
1.1. Системно-структурная характеристика предметной области
Автоматизированная работа менеджера по продаже недвижимости упростит и ускорит работу с большими объемами информации, позволит отслеживать средние ценовые расценки на рынке недвижимости, а так же поможет проанализировать соотношение спроса и предложения на конкретный период времени. Так же появится возможность ускорить продуктивность работы и разнообразить сервис услуг, для привличения внимания клиентов. Так как это играет немаловажную роль в условиях жесткой конкуренции.
При работе с клиентурой агентство по недвижимости совершает следующие основные операции:
получает заявки на покупку или продажу квартиры;
заключает сделки по купле-продаже;
анализирует соотношения спроса и предложения;
делает прогнозирование цен в сфере недвижимости;
дает консультации по покупке или продаже квартир.
Первым этапом проектирования является концептуальное проектирование, в Таблице 1 приведены атрибуты, полученные в результате изучения предметной области.
Таблица 1 - Множество атрибутов
№ | Наименование атрибута | Идентификатор |
1 | Код квартиры | ID_KV |
2 | РНН клиента | RNN_KL |
3 | Количество комнат | KOL_KOM |
4 | Улица | ULIZA |
5 | Дом | DOM |
Продолжение Таблицы 1
№ | Наименование атрибута | Идентификатор |
6 | Квартира | KV |
7 | Лифт в подъезде (есть или нет) | LIFT |
8 | Балкон в квартире (есть или нет) | BALKON |
9 | Телефон квартиры (есть или нет) | TELEFON |
10 | Ремонт в квартире (есть или нет) | REMONT |
11 | Этаж квартиры | ETAG |
12 | Площадь квартиры | PLOSHAD |
13 | Стоимость квартиры | ZENA |
14 | Статус квартиры | STATUS |
15 | Дополнительная информация | DOP |
16 | ФИО клиента | FIO_KL |
17 | Адрес клиента | ADRES_KL |
18 | Домашний телефон | TELEFON_DOM |
19 | Сотовый телефон | TELEFON_SOT |
20 | РНН сотрудника | RNN_SOTR |
21 | ФИО сотрудника | FIO_SOTR |
22 | Адрес сотрудника | ADRES_SOTR |
23 | Код должности | ID_DOLGN |
24 | Должность | DOLGN |
25 | Зарплата | ZARPLATA |
26 | Фотография сотрудника | FOTO_SOTR |
27 | Код сделки | ID_SDELKY |
28 | Сумма сделки | SUMMA |
29 | Оплата услуг | OPLATA_USLUG |
30 | Дата сделки | DATA |
31 | Код статуса | ID_STATUS |
Целью инфологического моделирования является обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются строить по аналогии с естественным языком. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).
При определении инфологической модели необходимо принимать во внимание следующее:
База данных должна удовлетворять актуальным информационным потребностям организации. Получаемая информация должна по структуре и содержанию соответствовать решаемым задачам.
База данных должна обеспечивать получение требуемых данных за приемлемое время, то есть отвечать заданным требованиям производительности.
База данных должна удовлетворять выявленным и вновь возникающим требованиям всех пользователей.
База данных должна легко расширяться при реорганизации и расширении предметной области.
База данных должна легко изменяться при изменении программной и аппаратной среды.
Для разработки инфологической модели предметной области необходимо выделить информационные объекты и их атрибутивный состав.
На основании обследования предметной области выделим следующие сущности с атрибутами (ключевые атрибуты выделены подчеркиванием)
Сотрудники: (RNN_SOTR, FAM_SOTR, NAME_SOTR, OTH_SOTR, ADRES_SOTR, TELEFON_DOM, TELEFON_SOT, DOLGNOST, FOTO, DOP);
Клиенты: (RNN_KL, FIO_KL, ADRES_KL, TELEFON_DOM, TELEFON_SOT);
Предложения: (ID_KV, RNN_KL, KOL_KOM, ZENA, ULIZA, DOM, KV, ETAG, TELEFON, BALKON, LIFT, REMONT, PLOSHAD, STATUS, DOP);
Сделки: (ID_SDELKY, RNN_POKUP, RNN_PROD, RNN_SOTR, SUMMA, OPLATA_USLUG, DATA);
После выбора сущностей, задания атрибутов и анализа связей между сущностями проектируем инфологическую модель в виде ER-диаграммы, представленную на Рис.1.
КЛИЕНТЫ
СДЕЛКИ ПРЕДЛОЖЕНИЯ
СОТРУДНИКИ
Рис.1 - Инфологическая модель предметной области
1.2. Проектные решения по информационному обеспечению
Любая автоматизированная система предполагает наличие в своем составе подсистемы информационного обеспечения, питающая другие подсистемы данными, на основе которых осуществляется принятие решений, включая их оптимизацию с использованием математических методов и ЭВМ.
Для проектирования будет использована реляционная модель данных, так как в реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой модели. Предсказуемость результатов работы с данными обеспечивается математической моделью данных, которая лежит в основе реляционной модели. Любой запрос, составленный на конкретном языке, влечет ответ, однозначно определенный схемой данных и конкретными данными. Выбранная предметная область достаточно естественно описывается в терминах отношений, нет излишнего дублирования записей. Модель наглядна и при необходимости можно осуществить доступ к данным любого уровня.
На основании вышеизложенного можно сделать вывод, наиболее эффективной моделью данных для отображения выбранной предметной области и реализации запросов пользователя является реляционная модель.
1.3. Проектные решения по программному обеспечению
Программное обеспечение должно соответствовать стандартам Windows. Программное приложение должно позволять формировать запросы к данным с помощью простых визуальных средств настройки, должно организовывать возможность быстро находить нужную запись, если известно только содержание нескольких полей, с целью сокращение затрат времени пользователя.
Программное приложение должно поддерживать русский интерфейс, быть приложением Windows.
Данная разработка должна соответствовать следующим требованиям:
защита информации от несанкционированного доступа;
оперативность информационного обмена и управления;
рациональная организация информационных фондов;
квалификация специалистов, участвующих в процедурах обработки информации.
Приложение должно включать в себя дружественный интерфейс, который подразумевает под собой всплывающие подсказки, и справки доступные пользователю во время работы с приложением.
2. Разработка автоматизации рынка недвижимости
2.1. Информационное обеспечение комплекса задач
2.1.1. Инфологическая модель, схема данных и ее описание
Для проектирования схемы данных, необходимо привести отношения к 3НФ необходимо провести анализ функциональных зависимостей между атрибутами в пределах каждого отношения.
Сотрудники: (RNN_SOTR, FIO_SOTR, ADRES_SOTR, TELEFON_DOM, TELEFON_SOT, DOLGNOST, FOTO, DOP).
Учет сотрудников ведется с помощью РНН сотрудника. Атрибут RNN_SOTR – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ.
Первичный ключ – простой и функциональная зависимость всех не ключевых атрибутов от первичного ключа – полная, следовательно, отношения находятся во 2НФ.
Все неключевые атрибуты функционально зависят от первичного ключа, других функциональных зависимостей нет, следовательно, отношения находятся в 3НФ.
Клиенты: (RNN_KL, FIO_KL, ADRES_KL, TELEFON_DOM, TELEFON_SOT).
Учет клиентов ведется с помощью РНН клиентов. Атрибут RNN_KL – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ.
Первичный ключ – простой и функциональная зависимость всех не ключевых атрибутов от первичного ключа – полная, следовательно, отношения находятся во 2НФ.
Все неключевые атрибуты функционально зависят от первичного ключа, других функциональных зависимостей нет, следовательно, отношения находятся в 3НФ.
Предложения: (ID_KV, RNN_KL, KOL_KOM, ZENA, ULIZA, DOM, KV, ETAG, TELEFON, BALKON, LIFT, REMONT, PLOSHAD, STATUS, DOP).
Учет поступающих предложений ведется по коду квартиры. Атрибут ID_KV – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ.
Первичный ключ – простой и функциональная зависимость всех не ключевых атрибутов от первичного ключа – полная, следовательно, отношения находятся во 2НФ.
Все не ключевые атрибуты функционально зависят от первичного ключа, других функциональных зависимостей нет, следовательно, отношения находятся в 3НФ.
Сделки: (ID_SDELKY, RNN_POKUP, RNN_PROD, RNN_SOTR, SUMMA, OPLATA_USLUG, DATA).
Учет совершаемых сделок ведется по коду сделки. Атрибут ID_SDELKY – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ.
Первичный ключ – простой и функциональная зависимость всех не ключевых атрибутов от первичного ключа – полная, следовательно, отношения находятся во 2НФ.
Все неключевые атрибуты функционально зависят от первичного ключа, других функциональных зависимостей нет, следовательно, отношения находятся в 3НФ.
Таким образом, в результате приведения отношений к 3НФ получили следующие отношения КЛИЕНТЫ, СОТРУДНИКИ, СДЕЛКИ, ПРЕДЛОЖЕНИЯ. На Рис.2 представлена схема данных после нормализации отношений.
КЛИЕНТЫ |
RNN_KL |
FIO_KL |
ADRES_KL |
TELEFON_DOM |
TELEFON_SOT |
ПРЕДЛОЖЕНИЯ |
ID_KV |
RNN_KL |
KOL_KOM |
ZENA |
ULIZA |
DOM |
KV |
PLOSHAD |
ETAG |
LIFT |
REMONT |
BALKON |
TELEFON |
STATUS |
DOP |
СДЕЛКИ |
ID_SDELKY |
RNN_POKUP |
RNN_PROD |
RNN_SOTR |
SUMMA |
OPLATA_USLUG |
DATA |
СОТРУДНИКИ |
RNN_SOTR |
FIO_SOTR |
ADRES |
TELEFON_DOM |
TELEFON_SOT |
DOLGNOST |
FOTO |
DOP |
Рис.2- Схема данных предметной области после нормализации
2.1.2. Используемые классификаторы и системы кодирования
Классификацией информации называется упорядоченное расположение значений единиц информации. Система классификации характеризуется как совокупность правил и результат деления заданного множества на подмножества по одному или нескольким признакам. Полученные в результате деления подмножества называются классификационныи группировками: классы, подклассы, группы, подгруппы и др.
После классификации выполняется кодирование информационных единиц, согласно выбранной системе, в результате чего определенные условные обозначения присваиваются конкретным элементам экономических номенклатур. При кодировании информации на практике в большинстве случаев применяются порядковый, серийный и позиционный коды.
В справочниках «Статус» и «Должность» будет использоваться порядковая система кодирования, она предпологает последовательное присвоение единицам информации кодов, которые выражаются числами натурального ряда в возрастающем или убывающем порядке либо алфавитными символами. Кодирование будет организовано посредством чисел натурального ряда в возрастающем порядке.
При построении кодов учитывается ряд требований. Коды должны быть минимальными по длине, максимально логичными по структуре, легко воспринимаемыми зрительно, обеспечивать удобство и эффективность обработки информации, автоматическую группировку и получение итогов по нужным классификационным признакам, быстрый поиск данных.
В таких справочниках как, «Справочник о сотрудниках» и «Справочник о клиентах» используется единый казахстанский классификатор Регистрационных Номеров Налогоплательщиков (РНН). Этот класификатор является стандартным и относится к разряду серийных классификаторов.
2.1.3. Характеристика входной, выходной и нормативно-справочной информации
В системе можно выделить входную, нормативно-справочную и выходную информацию.
Входная информация представлена в виде документа «Заявка на оказание услуг». В этом документе указываются такие данные как: РНН клиента, Ф.И.О. клиента, телефон домашний, телефон сотовый, адрес клиента, количество комнат, адрес квартиры, этаж, цена квартиры. Указывается статус заявки (покупка или продажа), если заявка на продажу квартиры указывается, есть ли наличие лифта, балкона, телефона и ремонта.
Нормативно-справочной информацией являются следующие справочники:
Справочник «Статус продаж», содержит информацию о том, какой статус имеет квартира (продается, покупается, продано).
Справочник «Должность сотрудника», содержит информацию о том, какую должность занимает сотрудник.
Справочник «Сотрудники», содержит информацию о сотрудниках.
Справочник «Клиенты», содержит информацию о клиентах.
Выходная информация представлена в виде документа «Договор на оказание посреднических услуг». В этом документе указываются такие данные как: дата составления, Ф.И.О. сотрудника, Ф.И.О. клиента, РНН клиента, количество комнат, адрес квартиры, этаж. Указывается, есть ли наличие лифта, балкона, телефона и ремонта. Так же указывается стоимость квартиры и размер оплаты услуг агентства.
К выходной информации так же относятся документ «Отчет агента», в нем указывается дата заполнения, Ф.И.О. агента, статус сделки, стоимость сделки.
Так же выходная информация будет содержать отчет о квартирах, стоимость которых ниже средней цены;
2.2. Внутримашинная реализация комплекса задач
2.2.1. Формализация расчетов
Исходные данные представлены в виде таблиц. Организация таблиц в программном приложении происходит в формате СУБД Paradox.
Таблица 2 – «Сотрудники»
Имя реквизита | Тип данных | Размерность | Назначение |
RNN_sotr | Alpha | 12 | Уникальный идентификатор |
FIO_sotr | Alpha | 60 | Содержит Ф.И.О. сотрудника |
Adres | Alpha | 100 | Содержит адрес сотрудника |
Telefon_dom | Alpha | 8 | Содержит домашний телефон сотрудника |
Telefon_sot | Alpha | 15 | Содержит сотовый телефон сотрудника |
Dolgnost | Long Integer | -2147483648 .. +2147483647 | Содержит код должности сотрудника |
Foto | Graphic | 0-240 | Содержит фотографию сотрудника |
Dop | Memo | 1-240 | Содержит дополнительную информацию о сотруднике |
Таблица 3 – «Клиенты»
Имя реквизита | Тип данных | Размерность | Назначение |
RNN_kl | Alpha | 12 | Уникальный идентификатор |
Продолжение Таблицы 3
Имя реквизита | Тип данных | Размерность | Назначение |
FIO_kl | Alpha | 60 | Содержит Ф.И.О. клиента |
Adres _kl | Alpha | 100 | Содержит адрес клиента |
Telefon_dom | Alpha | 8 | Содержит домашний телефон клиента |
Telefon_sot | Alpha | 15 | Содержит сотовый телефон клиента |
Таблица 4 – «Предложения»
Имя реквизита | Тип данных | Размерность | Назначение |
ID_kv | Autoincrement | - | Уникальный идентификатор |
RNN_kl | Alpha | 12 | Содержит РНН клиента |
Kol_kom | Long Integer | -2147483648 .. +2147483647 | Содержит сколько комнат в квартире |
Zena | Long Integer | -2147483648 .. +2147483647 | Содержит стоимость квартиры |
Uliza | Alpha | 70 | Содержит название улицы |
Dom | Alpha | 10 | Содержит номер дома |
Kv | Long Integer | -2147483648 .. +2147483647 | Содержит номер квартиры |
Ploshad | Number | -10307 .. +10307 | Содержит общую площадь квартиры |
Etag | Long Integer | -2147483648 .. +2147483647 | Содержит этаж квартиры |
Lift | Logical | - | Указывает наличие лифта |
Продолжение Таблицы 4
Имя реквизита | Тип данных | Размерность | Назначение |
Remont | Logical | - | Указывает наличие ремонта |
Balkon | Logical | - | Указывает наличие балкона |
Telefon | Logical | - | Указывает наличие телефона |
Status | Long Integer | -2147483648 .. +2147483647 | Содержит статус квартиры |
Dop | Memo | 1-240 | Содержит дополнительную информацию |
Таблица 5 – «Должность»
Имя реквизита | Тип данных | Размерность | Назначение |
ID_dolgn | Autoincrement | - | Уникальный идентификатор |
Dolgnost | Alpha | 40 | Содержит данные о должности сотрудника |
Zarplata | Long Integer | -2147483648 .. +2147483647 | Содержит данные о зарплате сотрудника |
Таблица 6 – «Статус»
Имя реквизита | Тип данных | Размерность | Назначение |
ID_status | Autoincrement | - | Уникальный идентификатор |
Status | Alpha | 15 | Содержит данные о статусе квартиры |
Таблица 7 – «Сделки »
Имя реквизита | Тип данных | Размерность | Назначение |
ID_sdelky | Autoincrement | - | Уникальный идентификатор |
RNN_prod | Alpha | 12 | Содержит РНН продавца |
RNN_pokup | Alpha | 12 | Содержит РНН покупателя |
RNN_sotr | Alpha | 12 | Содержит РНН сотрудника |
Summa | Long Integer | -2147483648 .. +2147483647 | Содержит стоимость квартиры |
Oplata_uslug | Long Integer | -2147483648 .. +2147483647 | Содержит оплату услуг |
2.2.2. Структурная схема использования комплекса программ
Структурная схема использования комплекса программ представлена на Рис.3.
Главная форма
Справочник о сотрудниках Регистрация входной информации Запросы Отчеты Справочник о клиентах Архив предложений Архив сделок
Справочник – Должность сотрудника
Справочник – Статус квартиры
Рис.3 – Структурная схема использования комплекса программ
2.3. Технологическое обеспечение
2.3.1. Организация технологии сбора, передачи, обработки и выдачи информации
Под информационной технологией понимается система методов и способов, накопления, хранения, поиска, передачи и обработки информации на основе применения средств вычислительной техники. Цель информационной технологии – производство информации для ее анализа пользователем и принятия грамотного управленческого решения.
Информационная технология связана с процедурами сбора и преобразования информации.
Построение технологического процесса определяется следующими факторами:
особенностями обрабатываемой информации;
объемом информации;
требованиями к точности и срочности обработки.
Организация технологического процесса должна обеспечить его экономичность, комплексность, надежность функционирования, высокое качество работ. Состав процедур преобразования информации и особенности их выполнения во многом зависят от программного приложения, ведущего автоматизированную обработку информации.
Организация технологического сбора информации осуществляется путем оформления поданной клиентом заявки на оказание услуг, все полученные данные регистрируются, после чего между агентством и клиентом заключается договор на оказание услуг.
2.3.2. Схема технологического процесса сбора, передачи, обработки и выдачи информации
Технология проектирования предполагает поэтапную разработку программного приложения, она имеет свой жизненный цикл. Модель жизненного цикла использует подход к организации проектирования приложения «сверху-вниз», при котором в первую очередь определяется состав функциональных подсистем. Соответственно сначала разрабатывается технология сбора, передачи, обработки и выдачи информации.
Технология сбора информации заключается в следующем: прежде чем заключить договор с агентством, клиент должен подать письменную заявку на оказание услуг, в ней он должен указать свои личные данные и информацию о квартире, которую он предполагает продать или купить. Затем эти данные регистрируются, заносятся в архив предложений и в справочник о клиентах, таким образом, происходит передача информации от клиента к агентству. На Рис.4 представлена схема технологического процесса сбора, передачи, обработки и выдачи информации.
Регистрация документа «Отчет Агента»
Рис.4 - Схема технологического процесса сбора, передачи, обработки
выдачи информации
После регистрации заявки, на основании полученных данных организуется обработка информации, она предполагает поиск и подбор вариантов, удовлетворяющих заявленным требованиям клиента. С клиентом заключается договор на оказание услуг, в нем отражаются права и обязанности обеих сторон. Один экземпляр договора остается у «Исполнителя», а другой у «Заказчика». Дальнейшая обработка, поиск информации в постоянно изменяющемся архиве предложений влечет к выявлению потенциальных вариантов. Если интересы клиента будут удовлетворены в полном объеме, по заявленным требованиям, то заключается сделка между клиентом и представителем от агентства, производится оплата услуг. После совершения сделки, агент заполняет документ «Отчет агента», в котором указывает необходимую информацию о состоявшейся сделке. После чего эта информация регистрируется в архиве сделок.
2.4. Программное обеспечение комплекса задач
2.4.1. Общие положения
Так как для проектирования приложения была выбрана реляционная модель данных, то приложение для обработки БД будет разработано в среде объектно-ориентированного программирования Delphi.. Среда Delphi включает в себя полный набор визуальных средств, для разработки приложений, поддерживающих создание пользовательских интерфейсов. Организация таблиц в программном приложении происходит в формате СУБД Paradox. Поскольку таблицы Paradox поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за правильностью вводимых в поля данных, выбирать данные из другой таблицы, защищать таблицу от несанкционированного доступа.
Таким образом, при помощи системы Delphi организация работы с СУБД может реализовать требования, поставленные при разработке программного приложения. К ним относятся организация защиты от несанкционированного доступа, оперативность информационного обмена и управления, рациональная организация информационных фондов, организация быстрого поиска нужной информации, организация дружественного интерфейса.
2.4.2. Структурная схема пакета
При разработке приложения в системе Delphi были созданы модули (Unit). Каждый модуль имеет жестко заданную структуру, которая автоматически генерируется системой Delphi при его создании. Структурная схема пакета представлена на Рис.5.
Unit3 – Главная форма
Unit8 – Форма для регистрации данных в архиве предложений
Unit4 – Форма для ввода и просмотра данных о сотрудниках
Unit5 – Справочник о сотрудниках
Unit10 – Справочник «Статус квартиры»
Unit9 – Табличные данные архива предложений
Unit11 – Справочник «Должность сотрудника»
Unit6 – Форма для ввода и просмотра данных о клиентах
Unit7 –Справочник о клиентах
Рис.5 - Структурная схема пакета
2.4.4. Проектирование интерфейсов
При разработке приложения особое внимание было обращено на организацию дружественного интерфейса. Таким образом, приложение полностью поддерживает русский интерфейс, который реализован в виде всплывающих подсказок и окон справки в меню. Все выполняемые операции или вызовы процедур в приложении представлены в виде кнопок, графических изображений или пунктов меню, они имеют либо письменное название, либо всплывающую подсказку.
2.5. Схема взаимосвязи программных модулей и информационных файлов
Система Delphi использует механизм Borland Database Engine (BDE), он представляет собой программную прослойку между приложением и БД. Запрос из приложения передается внутрь механизма BDE, который использует специализированные системные программы для непосредственной работы с БД.
На Рис.6 представлена схема взаимосвязи программных модулей и информационных файлов.
Система Delphi
BDE
БД
Таблицы
Рис.6 - Схема взаимосвязи программных модулей и информационных файлов
2.6. Выбор и обоснование технических средств
Для обеспечения нормального функционирования приложения, необходимы следующие минимальные системные требования:
Pentium II – 400 MHz, и выше;
Не менее 128Мб оперативной памяти;
Дисковое пространство – в зависимости от количества информации содержащейся в базе данных (не менее 100 Мб).
Также данное приложения требует наличие программного обеспечения Windows 95 и выше.
2.7. Выбор методики, обеспечивающей надежность и защищенность ИС
Вся информация должна быть защищена от несанкционированного доступа. Так как агентство по недвижимости оказывает ряд информационных услуг, защита информации является важным моментом при разработке приложения.
В приложении организация таблиц хранящих важную и ценную информацию происходит в формате СУБД Paradox, выбранный тип таблиц дал возможность избежать несанкционированного доступа и разделить доступ на пять основных уровней. Доступ пятого уровня, является самым приоритетным, он предполагает полный неограниченный доступ ко всей информации, с возможностью ее изменения. Доступ четвертого уровня дает возможность пользователю возможность только удалять или добавлять записи данных. Доступ третьего и второго уровня обеспечивает возможность ввода и обновления данных. Доступ первого уровня обеспечивает пользователю только чтение данных.
При неправильном вводе пароля в доступе будет отказано. Поскольку информацией могут воспользоваться конкурирующие организации, некомпетентные лица или лица, преследующие личную выгоду.
3. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ
3.1. Санитарные нормы использования ИС
С целью улучшения условий труда, снижение нагрузок на опорно-двигательный аппарат необходимо:
располагать рабочие места, оснащенные ПЭВМ и УВО, таким образом, чтобы естественный свет падал сбоку (с левой или правой стороны) в зависимости от расположения столов, оборудования и оконных проемов;
не допускать расположение рабочих мест с ПЭВМ и УВО в подвальных помещениях;
учитывать, что площадь на одно рабочее место с ПЭВМ и УВО должна составлять не менее 6,0 м2 , а объем – не менее 20,0 м3.
Не рекомендуется располагать рабочие места, оснащенные ПЭВМ и УВО, друг за другом. Задняя стенка монитора одного рабочего места не должна быть направлена на пользователя ПК, сидящего за другим рабочим местом.
Рабочий стол пользователя должен обеспечивать оптимальное расстояние элементов ПЭВМ. С этой целью столешница изготавливается как две раздельно регулируемые по высоте плоскости: одна – для размещения УВО, вторая – для размещения клавиатуры, пюпитра. Оптимальные размеры рабочей поверхности столешницы 1600 х 900 мм. С целью оптимального размещения ПЭВМ и УВО на рабочем месте можно рекомендовать увеличение площади столешницы за счет присоединения друг к другу двух столов или между двумя рабочими столами установить третий, более узкий. Это даст возможность оптимального размещения процессора, монитора и клавиатуры.
При периодическом наблюдении за экраном рекомендуется располагать элементы оборудования так, чтобы экран находился справа, клавиатура – напротив правого плеча, а документы - в центре угла обзора. При постоянной работе экран должен быть расположен в центре поля обзора, документы – слева на столе или на специальной подставке. Клавиатура должна располагаться отдельно от экрана, что обеспечивает выбор оптимального положения всех составляющих оборудование рабочего места пользователя ПЭВМ и УВО.
Рабочий стул (кресло) должен снабжаться подъемно-поворотным устройством, обеспечивающим регулировку высоты сиденья и спинки, его конструкция должна также предусматривать изменение угла наклона спинки. Рабочее кресло должно иметь подлокотники. Регулировка каждого параметра должна осуществляться легко, быть независимой и иметь надежную фиксацию. Высота поверхности сидения должна регулироваться в пределах 400-500 мм. Ширина и глубина сиденья должны составлять не менее 400 мм.
На рабочем месте необходимо предусматривать подставку для ног. Ее длина должна составлять 400 мм, ширина - 350 мм.
С целью улучшения зрительной работоспособности и условий освещения на рабочих местах целесообразно соблюдать следующее:
общее освещение выполнять светильниками с экранирующими решетками и отражателями, обеспечивающими отсутствие зеркальных отражений светящих поверхностей светильников на экранах мониторов и на горизонтальных поверхностях, а также необходимую степень воспроизведения контраста машинописных и рукописных текстов;
в качестве источников общего освещения использовать люминесцентные лампы типа ЛБ с индексом цветопередачи не менее 70 (R > 70);
в качестве светильников использовать установки с преимущественно отраженным или рассеянным светораспределением;
светильники общего освещения располагать над рабочими поверхностями в равномерно-прямоугольном порядке;
источники света по отношению к рабочему месту располагать таким образом, чтобы исключить попадания в глаза прямого света. Светильники местного освещения должны иметь непросвечивающий отражатель с защитным углом арматуры не менее 40 градусов и обеспечивать равномерную освещенность на поверхности 40 х 40 см. светильники должны быть снабжены светорегуляторами;
осветительные установки должны обеспечивать равномерную освещенность с помощью преимущественно отраженного или рассеянного светораспределения; они не должны создавать слепящих бликов на клавиатуре и других частях пульта, а также на экране видеомонитора в направлении глаз пользователя;
для исключения бликов отражения на экранах от светильников общего освещения необходимо применять антибликовые сетки, специальные фильтры для экранов, защитные козырьки или располагать источники света параллельно направлению взгляда на экран ПЭВМ и УВО с обеих его сторон. При рядном размещении оборудования не допускается расположение мониторов экранами друг к другу;
пульсация освещенности используемых люминесцентных ламп не должна превышать 5%. При естественном освещении следует применять средства солнцезащиты;
профилактика зрительного утомления пользователя включает следующие мероприятия: регламентированные перерывы в зависимости от характера работ; проведения специальных упражнений для глаз.
Мероприятия по оптимизации микроклимата на рабочих местах, оснащенных ПЭВМ и УВО, достигаются уменьшением тепловыделений от самого источника теплоты – монитора ПЭВМ.
Кондиционирование воздуха должно обеспечивать автоматическое поддержание параметров микроклимата в необходимых пределах в течении всех сезонов года, очистку воздуха от пыли и вредных веществ. Необходимо также предусмотреть возможность индивидуальной регулировки подачи воздуха в отдельных помещениях. Температура воздуха, подаваемая в помещения с ПЭВМ и УВО, должна быть не ниже 19о С.
Мероприятия по снижению шума на рабочих местах, оснащенных ПЭВМ и УВО, должны включать организационные, строительно-акустические и другие мероприятия: устройство подвесных потолков, облицовка стен, ковровые покрытия. Звукопоглощающие материалы должны быть с максимальным коэффициентом звукопоглощения в диапазоне частот 63-8000 Гц.
Мероприятия по оптимизации интенсивности электромагнитных излучений на рабочих местах, оснащенных ПЭВМ и УВО, должны включать организационно-технические мероприятия, состоящие из рационального размещения рабочих мест и применения экранов и фильтров:
ПЭВМ и УВО следует располагать при однорядном их размещении на расстоянии не менее 1 м от стен; рабочие места с мониторами должны располагаться между собой на расстоянии не менее 1,5 м;
минимальная ширина проходов с передней стороны пультов и панелей управления оборудованием ПЭВМ и УВО при однорядном его расположении должна быть не менее 1 м, при двухрядном – не менее 1,2 м ;
расстояние между рабочими столами с видеомониторами должно быть не менее 2 м, а расстояние между боковыми поверхностями – не менее 1,2 м;
экран монитора ПЭВМ и УВО располагают на расстоянии 600-700 мм от пользователя, но не ближе 500 мм, с учетом размеров цифровых знаков и символов.
3.2. Электробезопасность и пожарная безопасность
Большое значение для предотвращения электротравматизма имеет правильная организация обслуживания действующих электроустановок, проведение ремонтных, монтажных и профилактических работ.
В зависимости от категории помещения необходимо применять определенные защитные меры, обеспечивающие достаточную электробезопасность при эксплуатации, техническом обслуживании и ремонте. В помещениях с повышенной опасностью электроприборы, переносные светильники должны быть выполнены с двойной изоляцией или напряжение питания не должно превышать 42 В.
Во время работы оператору запрещается:
касаться одновременно экрана монитора и клавиатуры; прикасаться к задней панели системного блока при включенном питании;
переключать разъемы интерфейсных кабелей периферийных устройств, при включенном питании;
загромождать верхние панели устройств посторонними предметами;
производить отключение питания во время выполнения активной задачи;
производить частые переключения питания;
допускать попадание влаги на поверхность системного блока, монитора, рабочую поверхность клавиатуры, дисковода, принтера и других устройств;
производить самостоятельно вскрытие и ремонт оборудования.
Оператору запрещается приступать к работе при обнаружении любой неисправности оборудования до ее устранения.
Основные мероприятия, применяемые для защиты от статического электричества производственного происхождения, включают методы, исключающие или уменьшающие интенсивность генерации зарядов, и методы, устраняющие образующиеся заряды. Интенсивность генерации зарядов можно уменьшить соответствующим подбором пар трения или смешиванием материалов таким образом, что в результате трения один из смешанных материалов наводит заряд одного знака, а другой — другого. В настоящее время создан комбинированный материал из нейлона и дакрона, обеспечивающий защиту от статического электричества по этому принципу.
Образующиеся заряды статического электричества устраняют чаще всего путем заземления электропроводных частей производственного оборудования. Сопротивление такого заземления должно быть не более 100 Ом. При невозможности устройства заземления практикуется повышение относительной влажности воздуха в помещении. Можно увеличить объемную проводимость диэлектрика, для чего в него вносят графит, ацетиленовую сажу, алюминиевую пудру, а в жидкие диэлектрики — специальные добавки. Для ряда машин и агрегатов нашли применение нейтрализаторы статического электричества (коронного разряда, радиоизотопные, аэродинамические и комбинированные). Во всех типах этих устройств путем ионизации воздуха вблизи элемента конструкции, накапливающего заряд статического электричества, образуются ионы, в то числе со знаком, противоположным знаку заряда, что и вызывает его нейтрализацию.
К средствам индивидуальной защиты от статического электричества относятся электростатические халаты и специальная обувь, подошва которой выполнена из кожи либо электропроводной резины, а также антистатические браслеты.
Электрические установки, к которым относится практически все оборудование ЭВМ, представляют для человека большую потенциальную опасность, так как в процессе эксплуатации или проведении профилактических работ человек может коснуться частей, находящихся под напряжением. Специфическая опасность электроустановок: токоведущие проводники, корпуса стоек ЭВМ и прочего оборудования, оказавшегося под напряжением в результате повреждения (пробоя) изоляции, не подают каких-либо сигналов, которые предупреждают человека об опасности. Реакция человека на электрический ток возникает лишь при протекании последнего через тело человека. Исключительно важное значение для предотвращения электротравматизма имеет правильная организация обслуживания действующих электроустановок ВЦ, проведения ремонтных, монтажных и профилактических работ.
Под правильной организацией понимается строгое выполнение ряда организационных и технических мероприятий. А так же средств, установленных действующими ПТЭ (правилами технической эксплуатации), ПТБ (правилами техники безопасности) и ПУЭ (правила установки электроустановок).
В зависимости от категории помещения необходимо принять определенные меры, обеспечивающие достаточную электробезопасность при эксплуатации и ремонте электрооборудования. Так, в помещениях с повышенной опасностью электроинструменты, переносные светильники должны быть выполнены с двойной изоляцией или напряжение питания их не должно превышать 42В. В ВЦ к таким помещениям могут быть отнесены помещения машинного зала, помещения для размещения сервисной и периферийной аппаратуры. В особо опасных же помещениях напряжение питания переносных светильников не должно превышать 12В, а работа с электротранспортируемым напряжением не выше 42В разрешается только с применением СИЗ (диэлектрических перчаток, ковриков и т.п.). Работы без снятия напряжения на токоведущих частях и вблизи них, работы, проводимые непосредственно на этих частях или при приближении к ним на расстояние менее установленного ПЭУ. К этим работам можно отнести работы по наладке отдельных узлов, блоков. При выполнении такого рода работ в электроустановках до 1000В необходимо применение определенных технических и организационных мер. Таких как, ограждения расположенные вблизи рабочего места и других токоведущих частей, к которым возможно случайное прикосновение; работа в диэлектрических перчатках или стоя на диэлектрическом коврике; применение инструмента с изолирующими рукоятками, при отсутствии такого инструмента следует пользоваться диэлектрическими перчатками. Работы этого вида должны выполняться не менее чем двумя работниками.
В соответствии с ПТЭ и ПТВ потребителям и обслуживающему персоналу электроустановок предъявляются определенные требования. Лица, не достигшие 18-летнего возраста, не могут быть допущены к работам в электроустановках; лица не должны иметь увечий и болезней, мешающих производственной работе; лица должны после соответствующей теоретической и практической подготовки пройти проверку знаний и иметь удостоверение на доступ к работам в электроустановках.
В ВЦ разрядные токи статического электричества чаще всего возникают при прикосновении к любому из элементов ЭВМ. Такие разряды опасности для человека не представляют, но кроме неприятных ощущений они могут привести к выходу из строя ЭВМ. Для снижения величины возникающих зарядов статического электричества в ВЦ покрытие технологических полов следует выполнять из однослойного поливинилхлоридного антистатического линолеума. Другим методом защиты является нейтрализация заряда статического электричества ионизированным газом. В промышленности широко применяются радиоактивные нетрализаторы. К общим мерам защиты от статического электричества в ВЦ можно отнести общие и местное увлажнение воздуха.
С целью предупреждения пожара в помещениях и в здании в целом существует ряд правил запрещающих
Пользоваться нагревательными электроприборами для отопления помещений, приготовления и разогрева пищи вне специально отведённых мест и помещений, согласованных с Государственной противопожарной службой;
Пользоваться электроприборами, потребляемая мощность которых превышает допустимую потребляемую мощность электросети, а также включать в электросеть одновременно несколько электроприборов, суммарная потребляемая мощность которых превышает допустимую;
Оставлять без присмотра и по окончании рабочего дня любые электроприборы и устройства, находящиеся под напряжением;
Подключать электроприборы без стандартных штепсельных подключающих устройств;
Подключать к электросети неисправные электроприборы;
Приносить, хранить и использовать горючие и легковоспламеняющиеся жидкости, огнеопасные предметы и материалы;
Закрывать на трудно открываемые запоры двери эвакуационных выходов в период нахождения людей в здании;
Отключать автоматические средства противопожарной защиты, систему оповещения о пожаре, автоматические устройства обнаружения пожара (автоматическую пожарную сигнализацию), установки автоматического пожаротушения.
При обнаружении пожара или его признаков (дым, запах гари и др.), каждый человек обязан немедленно:
Сообщить об этом в городскую пожарную охрану по телефону 01;
Оповестить о пожаре или его признаках людей, находящихся поблизости, и принять необходимые меры для эвакуации всех людей из здания (из опасной зоны);
При появлении опасных факторов пожара (дым, потеря видимости, высокая температура, токсичные пары горения) немедленно эвакуироваться в безопасную зону;
При возможности сообщить о пожаре руководителям, должностным лицам и всем людям, находящимся в здании.
ЗАКЛЮЧЕНИЕ
Для разработки программного приложения выбранной предметной области и реализации запросов пользователя, была использована наиболее эффективная модель данных – реляционная модель.
В результате разработки программного приложения – автоматизированного рабочего места менеджера по продажам недвижимости были выполнены следующие поставленные задачи:
была обеспечена целостность структуры данных;
была выбрана наиболее эффективная модель данных;
была проведена организация сбора и обработки данных для формирования отчетов;
была проведена организация контроля заполнения;
для ускорения работы с большими объемами информации был выбран механизм BDE;
по средства возможностей системы Delphi была организована обработка входных и выходных данных;
при помощи языка SQL в приложении был организован быстрый поиск требуемой информации.
Таким образом, приложение отвечает требованиям и задачам, поставленным при его проектировании, оно должно ускорить продуктивность работы пользователя и разнообразить сервис услуг организации, в которой оно будет использоваться.
Список использованной Литературы
Бобровский С.И., «Delphi 7» - СПб.: Питер, 2005. – 736 с.: ил.
Фаронов В.В., «Программирование баз данных в Delphi 7. Учебный курс» - СПб.: Питер, 2005 – 459 с.: ил.
Нуржасарова М.А., Рыскулова Б.Р., Тургумбаева Х.Х, «Охрана труда»: Учебное пособие – Астана: Фолиант, 2007 – 224 с.
Девисилов В.А., «Охрана труда»: Учебник – 2-е изд., испр. и доп. – М.: Форум: Инфра – М, 2005 – 448 с.: ил. – (Профессиональное образование).
Райордан Р., «Основы реляционных баз данных», пер. с англ. – М.: Издательско-торговый дом и «Русская редакция», 2001 – 384 с.: ил.
Гайдамакин Н.А., «Автоматизированные информационные системы, базы и банки данных. Вводный курс»: Учебное пособие – М.: Гелиос АРВ, 2002 – 368 с., ил.
Яворский В.В., Томилова Н.И., «Технология разработки программного обеспечения»: Учебник - Астана: Фолиант, 2007 – 376 с.
Культин Н.Б., «Основы программирования в Delphi 7» - СПб.: БХВ – Петербург, 2004 – 608 с.: ил.
Дарахвелидзе П.Г., Марков Е.П., «Программирование в Delphi 7» - СПб.: БХВ – Петербург, 2004 – 784 с.: ил.
Бабушкина И.А., «Практикум по объектно-ориентированному программированию»: Бабушкина И.А., Окулова С.М.: - М: Бином, Лаборатория знаний, 2004 – 366 с.: ил.
Приложение А – Входные и выходные документы
Рис.7 - Договор на оказание услуг
Рис.8 – Отчет агента
Рис.9 – Заявка на оказание услуг
Приложение В – Интерфейс приложения
Рис.10 – Главная форма
Рис.11 – Справочник о клиентах
Рис.12 – Табличные данные о клиентах
Рис.13 – Справочник о сотрудниках
Рис.14 –Табличные данные о сотрудниках
Рис.15 –Архив предложений
Рис.16 –Табличные данные архива предложений
Рис.17 – Поиск данных в архиве предложений
Приложение С – Листинг приложения
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin form3.Visible:=true; form1.Visible:=false; end; procedure TForm1.Button2Click(Sender: TObject); begin form2.Visible:=true; end; end. // форма для просмотра отчетов unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, Mask, DBCtrls, ExtCtrls, RpDefine, RpCon, RpConDS, RpConBDE, RpRave; type TForm2 = class(TForm) Image1: TImage; Bevel1: TBevel; Label1: TLabel; | RvTableConnection1: TRvTableConnection; RvTableConnection2: TRvTableConnection; RvProject1: TRvProject; RvTableConnection3: TRvTableConnection; RvProject2: TRvProject; Label2: TLabel; Label3: TLabel; RvProject3: TRvProject; procedure Label1Click(Sender: TObject); procedure Label2Click(Sender: TObject); procedure Label3Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses Unit1, Unit10, Unit11, Unit12, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm2.Label1Click(Sender: TObject); begin rvProject1.Execute; end; procedure TForm2.Label2Click(Sender: TObject); begin rvProject2.Execute; end; procedure TForm2.Label3Click(Sender: TObject); begin rvProject3.Execute; end; procedure TForm2.FormActivate(Sender: TObject); begin form2.Width:=450; form2.Height:=202; end; end. |
// главная форма приложения unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, jpeg, ExtCtrls; type TForm3 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; Image1: TImage; Image2: TImage; N8: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; N7: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; procedure Button1Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure Image2Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N18Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit13, Unit14, Unit15; {$R *.dfm} procedure TForm3.N16Click(Sender: TObject); begin form12.Visible:=true; end; procedure TForm3.N11Click(Sender: TObject); begin form12.Visible:=true; end; procedure TForm3.N9Click(Sender: TObject); begin form14.Visible:=true; end; procedure TForm3.N18Click(Sender: TObject); begin form2.Visible:=true; end; end. // справочник о сотрудниках unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, DBCtrls, StdCtrls, Mask, jpeg, DB, DBTables; type TForm4 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; thyenmcz1: TMenuItem; DBEdit1: TDBEdit; Label1: TLabel; DBEdit2: TDBEdit; Label2: TLabel; DBImage1: TDBImage; DBMemo1: TDBMemo; Label3: TLabel; DBEdit3: TDBEdit; DBEdit4: TDBEdit; Label4: TLabel; Label5: TLabel; DBEdit5: TDBEdit; DBLookupComboBox1: TDBLookupComboBox; Label6: TLabel; DBLookupComboBox2: TDBLookupComboBox; Label7: TLabel; Label8: TLabel; N7: TMenuItem; N8: TMenuItem; Image2: TImage; procedure TForm4.Image5Click(Sender: TObject); begin form5.Table1.Last; end; procedure TForm4.Image4Click(Sender: TObject); begin form5.Table1.First; end; procedure TForm4.Image2Click(Sender: TObject); begin form5.Table1.Next; end; procedure TForm4.Image3Click(Sender: TObject); begin form5.Table1.Prior; end; procedure TForm4.FormActivate(Sender: TObject); begin form4.Left:=195; form4.Top:=155; form4.AutoSize:=true; end; procedure TForm4.N16Click(Sender: TObject); begin form11.Visible:=true; end; procedure TForm4.N15Click(Sender: TObject); begin form5.Visible:=true; form4.Visible:=false; end; end. //табличные данные о сотрудниках unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Buttons, ComCtrls; type TForm5 = class(TForm) MainMenu1: TMainMenu; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm5.N1Click(Sender: TObject); begin form4.Visible:=true; form5.Visible:=false; end; procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction); begin form5.Visible:=false; form3.Visible:=true; form3.Enabled:=true; end; procedure TForm5.FormActivate(Sender: TObject); begin form5.Height:=325; form5.Width:=650; form5.Left:=190; form5.Top:=211; form5.Table1.Active:=true; end; procedure TForm5.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form5.DBGrid1.Height:=form5.Height-75; form5.DBGrid1.Width:=form5.Width-10; form5.Panel1.Left:=round(form5.Width/2)-150; form5.Panel1.Top:=form5.Height-75; end; procedure TForm5.N4Click(Sender: TObject); begin form5.Table1.Edit; end; procedure TForm5.N5Click(Sender: TObject); begin form5.Table1.Delete; end; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N4: TMenuItem; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Label6: TLabel; Panel1: TPanel; N3: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; procedure N3Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure Jnrhsnm(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image4Click(Sender: TObject); procedure Image5Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form6: TForm6; procedure TForm6.Image4Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Next; end; procedure TForm6.Image5Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Last; end; procedure TForm6.N5Click(Sender: TObject); begin form7.Visible:=true; form6.Visible:=false; end; procedure TForm6.N7Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Insert; end; procedure TForm6.N8Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Delete; end; procedure TForm6.N9Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Edit; end; procedure TForm6.N10Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Post; end; procedure TForm6.N11Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Cancel; end; procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction); begin form6.Visible:=false; var Form7: TForm7; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit8, Unit9; {$R *.dfm} procedure TForm7.N3Click(Sender: TObject); begin form7.Visible:=false; form6.Visible:=true; end; procedure TForm7.N2Click(Sender: TObject); begin form1.Close; end; procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction); begin form3.Visible:=true; form7.Visible:=false; form3.Enabled:=true; end; procedure TForm7.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form7.DBGrid1.Height:=form7.Height-75; form7.DBGrid1.Width:=form7.Width-10; form7.Panel1.Left:=round(form7.Width/2)-150; form7.Panel1.Top:=form7.Height-75; end; procedure TForm7.FormActivate(Sender: TObject); begin form7.Height:=325; form7.Width:=650; form7.Left:=190; form7.Top:=211; form9.Table3.Active:=true; end; procedure TForm7.N4Click(Sender: TObject); begin form9.Table3.Edit; end; type TForm8 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N7: TMenuItem; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBMemo1: TDBMemo; DBCheckBox1: TDBCheckBox; DBCheckBox2: TDBCheckBox; DBCheckBox3: TDBCheckBox; DBCheckBox4: TDBCheckBox; DBLookupComboBox1: TDBLookupComboBox; Table1: TTable; DataSource1: TDataSource; Table1ID_kv: TAutoIncField; Table1RNN_kl: TStringField; Table1Kol_kom: TIntegerField; Table1Zena: TIntegerField; Table1Uliza: TStringField; Table1Dom: TStringField; Table1Kv: TIntegerField; Table1Ploshad: TFloatField; Table1Etag: TStringField; Table1Lift: TBooleanField; Table1Remont: TBooleanField; Table1Balkon: TBooleanField; Table1Telefon: TBooleanField; Table1Status: TStringField; Table1Dop: TMemoField; Table2: TTable; Table1st: TStringField; Table3: TTable; Table1FIO: TStringField; DBLookupComboBox2: TDBLookupComboBox; Label8: TLabel; Bevel1: TBevel; Label9: TLabel; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; N2: TMenuItem; N8: TMenuItem; {$R *.dfm} procedure TForm8.N2Click(Sender: TObject); begin form1.Close; end; procedure TForm8.N7Click(Sender: TObject); begin form3.Enabled:=true; form3.Visible:=true; form8.Visible:=false; end; procedure TForm8.N5Click(Sender: TObject); begin form9.Visible:=true; form8.Visible:=false; end; procedure TForm8.N6Click(Sender: TObject); begin form8.Table1.Insert; end; procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction); begin Form8.Visible:=false; form3.Visible:=true; form3.Enabled:=true; end; procedure TForm8.FormActivate(Sender: TObject); begin form15.Table2.Active:=false; form9.Table1.Active:=false; form8.Table1.Active:=true; form8.Table2.Active:=true; form9.Table2.Active:=false; form8.Table3.Active:=true; form9.Table3.Active:=false; form8.Left:=210; form8.Top:=155; form8.AutoSize:=true; if form8.Table1Status.Value='2' then begin form8.Label2.Visible:=false; form8.Label3.Visible:=false; form8.DBEdit8.Visible:=false; form8.DBEdit9.Visible:=false; end; if form8.Table1Status.Value='1' then begin form8.Label3.Visible:=true; form8.DBEdit8.Visible:=true; form8.DBEdit9.Visible:=true; end; end; procedure TForm8.Image5Click(Sender: TObject); begin form8.Table1.First; if form8.Table1Status.Value='2' then begin form8.Label2.Visible:=false; form8.Label3.Visible:=false; form8.DBEdit8.Visible:=false; form8.DBEdit9.Visible:=false; end; if form8.Table1Status.Value='1' then begin form8.Label2.Visible:=true; form8.Label3.Visible:=true; form8.DBEdit8.Visible:=true; form8.DBEdit9.Visible:=true; end; end; procedure TForm8.N8Click(Sender: TObject); begin form9.Visible:=true; form8.Visible:=false; end; procedure TForm8.N9Click(Sender: TObject); begin form10.Visible:=true; end; procedure TForm8.N10Click(Sender: TObject); begin form8.Table1.Delete; end; procedure TForm8.N11Click(Sender: TObject); begin Form8.Table1.Edit; end; procedure TForm8.N12Click(Sender: TObject); begin Form8.Table1.Post; end; procedure TForm8.N13Click(Sender: TObject); begin form8.Table1.Cancel; Table3Adres_kl: TStringField; Table3Telefon_dom: TStringField; Table3Telefon_sot: TStringField; Table2ID_status: TStringField; Table2Status: TStringField; procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure FormActivate(Sender: TObject); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure Image1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form9: TForm9; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit13, Unit14, Unit15; {$R *.dfm} procedure TForm9.N2Click(Sender: TObject); begin form1.Close; end; procedure TForm9.N3Click(Sender: TObject); begin form8.Visible:=true; form9.Visible:=false; end; procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction); begin form9.Visible:=false; form3.Visible:=true; end; procedure TForm9.Image1Click(Sender: TObject); begin form9.Table1.First; end; procedure TForm9.Image2Click(Sender: TObject); begin form9.Table1.Prior; end; procedure TForm9.Image3Click(Sender: TObject); begin form9.Table1.Next; end; procedure TForm9.Image4Click(Sender: TObject); begin form9.Table1.Last; end; end. //справочник – Статус квартир unit Unit10; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables; type TForm10 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; procedure N2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure FormActivate(Sender: TObject); procedure N5Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N1Click(Sender: TObject); end; procedure TForm10.N4Click(Sender: TObject); begin form9.Table2.Refresh; end; procedure TForm10.N1Click(Sender: TObject); begin form9.Table2.Edit; end; end. //справочник –должность сотрудника unit Unit11; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, Menus; type TForm11 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; Table1: TTable; Table1ID_dogn: TAutoIncField; Table1Dolgn: TStringField; Table1Zarplata: TIntegerField; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var //поиск данных в архиве предложений unit Unit12; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls, Mask, DBCtrls, Menus, Buttons, DB, Grids DBGrids, DBTables; type TForm12 = class(TForm) Panel1: TPanel; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; Label1: TLabel; CheckBox1: TCheckBox; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Bevel1: TBevel; CheckBox2: TCheckBox; CheckBox3: TCheckBox; Bevel2: TBevel; CheckBox4: TCheckBox; Edit4: TEdit; Bevel3: TBevel; CheckBox5: TCheckBox; Edit5: TEdit; CheckBox10: TCheckBox; Edit6: TEdit; BitBtn1: TBitBtn; DBGrid1: TDBGrid; Query1: TQuery; DataSource1: TDataSource; CheckBox11: TCheckBox; CheckBox12: TCheckBox; CheckBox13: TCheckBox; CheckBox14: TCheckBox; CheckBox15: TCheckBox; procedure FormActivate(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CheckBox3Click(Sender: TObject); procedure CheckBox4Click(Sender: TObject); procedure CheckBox5Click(Sender: TObject); procedure CheckBox10Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure CheckBox6Click(Sender: TObject); procedure CheckBox7Click(Sender: TObject); procedure CheckBox8Click(Sender: TObject); procedure CheckBox9Click(Sender: TObject); edit2.Enabled:=false; edit3.Enabled:=false; edit4.Enabled:=false; edit5.Enabled:=false; edit6.Enabled:=false; CheckBox11.Enabled:=false; CheckBox12.Enabled:=false; CheckBox5.Enabled:=false; CheckBox10.Enabled:=false; end; procedure TForm12.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked=true then begin edit1.Color:=clWhite; edit1.Enabled:=true; checkbox2.Checked:=false; checkbox3.Checked:=false; checkbox4.Checked:=false; checkbox5.Checked:=false; checkbox10.Checked:=false; checkbox13.Checked:=false; checkbox14.Checked:=false; end; if CheckBox1.Checked=false then begin Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; end; procedure TForm12.CheckBox2Click(Sender: TObject); begin if CheckBox2.Checked=true then begin edit2.Color:=clWhite; edit2.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; if CheckBox2.Checked=false then begin Edit2.Color:=$00C4C4C4; edit2.Enabled:=false; end; end; procedure TForm12.CheckBox3Click(Sender: TObject); begin if CheckBox3.Checked=true then begin edit3.Color:=clWhite; edit3.Enabled:=true; procedure TForm12.CheckBox10Click(Sender: TObject); begin if CheckBox10.Checked=true then begin edit6.Color:=clWhite; edit6.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; if CheckBox10.Checked=false then begin Edit6.Color:=$00C4C4C4; edit6.Enabled:=false; end; end; procedure TForm12.BitBtn1Click(Sender: TObject); begin if checkbox1.Checked=true then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT Status.Status as Статус,ID_kv as Квартира,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Домм, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(ID_kv="'+Edit1.Text+'") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=true then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Код, Status.Status as Статус, RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE( Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'") AND(Predlogenia.status="2")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza As Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'") AND(Predlogenia.status="1")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'") AND(Predlogenia.Status="2")And (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=true then if checkbox12.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'") AND(Predlogenia.Status="1")And (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=true then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РННН, Kol_kom as Комнат, Zena as Цена, Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE (Zena>"'+Edit3.Text+'") AND(Predlogenia.Status="2")And (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl asРННН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Predlogenia.Status="1") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Predlogenia.Status="2")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Predlogenia.Status="1")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKEUPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status="1") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; Этаж FROM Predlogenia, Status WHERE Predlogenia.Status=ID_status'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then if checkbox15.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE (Predlogenia.Status="2")AND (ID_status=Predlogenia.Status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then if checkbox15.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE (Predlogenia.Status="1") AND(ID_status=Predlogenia.Status)'; Query1.Open; end; end; procedure TForm12.CheckBox6Click(Sender: TObject); else CheckBox13.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox15Click(Sender: TObject); begin if CheckBox15.Checked=true then begin checkbox2.Checked:=false; checkbox3.Checked:=false; checkbox4.Checked:=false; checkbox5.Checked:=false; checkbox10.Checked:=false; checkbox13.Checked:=false; checkbox14.Checked:=false; end; end; procedure TForm12.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form12.DBGrid1.Height:=form12.Height-260; form12.DBGrid1.Width:=form12.Width-5; end; end. // интерфейс пользователя unit Unit13; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm13 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Panel1: TPanel; procedure Image4Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image1Click(Sender: TObject); private { Private declarations } public DBEdit7: TDBEdit; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Label1: TLabel; DBLookupComboBox1: TDBLookupComboBox; Label2: TLabel; DBLookupComboBox2: TDBLookupComboBox; Label3: TLabel; DBLookupComboBox3: TDBLookupComboBox; DBNavigator1: TDBNavigator; procedure N4Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form14: TForm14; implementation uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit15; {$R *.dfm} procedure TForm14.N4Click(Sender: TObject); begin form15.Visible:=true; end; procedure TForm14.FormActivate(Sender: TObject); begin form15.Table2.Active:=true; form15.Table3.Active:=true; form14.Height:=360; form14.Width:=450; form14.Left:=300; form14.Top:=200; form14.AutoSize:=true end; procedure TForm14.FormClose(Sender: TObject; var Action: TCloseAction); begin form15.Table3.Active:=false; form15.Table2.Active:=false; end; end. // табличные данные архива сделок unit Unit15; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids; type TForm15 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Table1: TTable; Table1ID_sd: TAutoIncField; | procedure TForm3.Button1Click(Sender: TObject); begin form1.Close; end; procedure TForm3.N3Click(Sender: TObject); begin form4.Visible:=true; form3.Visible:=false; end; procedure TForm3.N4Click(Sender: TObject); begin form1.Close; end; procedure TForm3.N5Click(Sender: TObject); begin form6.Visible:=true; form3.Visible:=false; end; procedure TForm3.N6Click(Sender: TObject); begin form8.Visible:=true; form3.Visible:=false; end; procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin form1.Close; end; procedure TForm3.FormActivate(Sender: TObject); begin form3.AutoSize:=true; form3.ClientHeight:=513; form3.ClientWidth:=663; form3.Left:=180; form3.Top:=100; end; procedure TForm3.Image2Click(Sender: TObject); begin form13.Visible:=true; form13.Left:=form3.Left+100; form13.Top:=form3.Top+200; form13.ClientHeight:=145; form13.ClientWidth:=480; form3.Enabled:=false; end; procedure TForm3.N10Click(Sender: TObject); begin form6.Visible:=true; form3.Visible:=false; end; procedure TForm4.N5Click(Sender: TObject); begin form5.Visible:=true; form4.Visible:=false; end; procedure TForm4.thyenmcz1Click(Sender: TObject); begin form3.Visible:=true; form4.Visible:=false; form3.Enabled:=true; end; procedure TForm4.N6Click(Sender: TObject); begin form11.Visible:=true; end; procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction); begin form4.Visible:=false; form3.Visible:=true; form3.Enabled:=true; end; procedure TForm4.N10Click(Sender: TObject); begin form5.Table1.Insert; end; procedure TForm4.N11Click(Sender: TObject); begin form5.Table1.Delete; end; procedure TForm4.N12Click(Sender: TObject); begin form5.Table1.Edit; end; procedure TForm4.N13Click(Sender: TObject); begin form5.Table1.Post; end; procedure TForm4.N14Click(Sender: TObject); begin form5.Table1.Cancel; end; Afqk1: TMenuItem; N1: TMenuItem; DBGrid1: TDBGrid; DataSource1: TDataSource; Table1: TTable; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; Update1: TMenuItem; Save1: TMenuItem; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Panel1: TPanel; Table2: TTable; Table1RNN_sotr: TStringField; Table1FIO_sotr: TStringField; Table1Adres: TStringField; Table1Telefon_dom: TStringField; Table1Telefon_sot: TStringField; Table1Dolgnost: TIntegerField; Table1Foto: TGraphicField; Table1Dop: TMemoField; Table1Dolgn: TStringField; Table1Zarplata: TIntegerField; Table2ID_dogn: TAutoIncField; Table2Dolgn: TStringField; Table2Zarplata: TIntegerField; procedure N1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure Save1Click(Sender: TObject); procedure Update1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure Image1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form5: TForm5; procedure TForm5.N6Click(Sender: TObject); begin form5.Table1.Append; end; procedure TForm5.Save1Click(Sender: TObject); begin form5.Table1.Post; end; procedure TForm5.Update1Click(Sender: TObject); begin form5.Table1.Refresh; end; procedure TForm5.N2Click(Sender: TObject); begin form1.Close; end; procedure TForm5.Image1Click(Sender: TObject); begin form5.Table1.First; end; procedure TForm5.Image2Click(Sender: TObject); begin form5.Table1.Prior; end; procedure TForm5.Image3Click(Sender: TObject); begin form5.Table1.Next; end; procedure TForm5.Image4Click(Sender: TObject); begin form5.Table1.Last; end; end. // справочник о клиентах unit Unit6; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, DBCtrls, StdCtrls, Mask, jpeg; type TForm6 = class(TForm) implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm6.N3Click(Sender: TObject); begin form1.Close; end; procedure TForm6.N2Click(Sender: TObject); begin form6.Visible:=false; form3.Visible:=true; form3.Enabled:=true; end; procedure TForm6.N6Click(Sender: TObject); begin form7.Visible:=true; form6.Visible:=false; end; procedure TForm6.Jnrhsnm(Sender: TObject; var Action: TCloseAction); begin form6.Visible:=false; form3.Visible:=true; form3.Enabled:=true; end; procedure TForm6.FormActivate(Sender: TObject); begin form6.Left:=280; form6.Top:=205; form6.AutoSize:=true; form9.Table3.Active:=true; end; procedure TForm6.Image3Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.Prior; end; procedure TForm6.Image2Click(Sender: TObject); begin form9.Table3.Active:=true; form9.Table3.First; end; form3.Visible:=true; form3.Enabled:=true; end; end. // табличные данные о клиентах unit Unit7; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables; type TForm7 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N3: TMenuItem; DataSource1: TDataSource; DBGrid1: TDBGrid; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; Panel1: TPanel; Image4: TImage; Image1: TImage; Image2: TImage; Image3: TImage; procedure N3Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); procedure FormActivate(Sender: TObject); procedure N4Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure Image1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; procedure TForm7.N5Click(Sender: TObject); begin form9.Table3.Append; end; procedure TForm7.N6Click(Sender: TObject); begin form9.Table3.Delete; end; procedure TForm7.N7Click(Sender: TObject); begin form9.Table3.Refresh; end; procedure TForm7.N8Click(Sender: TObject); begin form9.Table3.Post; end; procedure TForm7.Image1Click(Sender: TObject); begin form9.Table3.First; end; procedure TForm7.Image2Click(Sender: TObject); begin form9.Table3.Prior; end; procedure TForm7.Image3Click(Sender: TObject); begin form9.Table3.Next; end; procedure TForm7.Image4Click(Sender: TObject); begin form9.Table3.Last; end; end. //архив предложений unit Unit8; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, DBTables, jpeg; N9: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; Table2ID_status: TStringField; Table2Status: TStringField; Label13: TLabel; Label12: TLabel; Label11: TLabel; Label10: TLabel; Label14: TLabel; Panel1: TPanel; Label1: TLabel; Bevel2: TBevel; Label2: TLabel; Label3: TLabel; Bevel3: TBevel; procedure N2Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormActivate(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image5Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N12Click(Sender: TObject); procedure N13Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form8: TForm8; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit9, Unit13, Unit14, Unit15; form8.Label2.Visible:=true; form8.Label3.Visible:=true; form8.DBEdit8.Visible:=true; form8.DBEdit9.Visible:=true; end; end; procedure TForm8.Image3Click(Sender: TObject); begin form8.Table1.Next; if form8.Table1Status.Value='2' then begin form8.Label2.Visible:=false; form8.Label3.Visible:=false; form8.DBEdit8.Visible:=false; form8.DBEdit9.Visible:=false; end; if form8.Table1Status.Value='1' then begin form8.Label2.Visible:=true; form8.Label3.Visible:=true; form8.DBEdit8.Visible:=true; form8.DBEdit9.Visible:=true; end; end; procedure TForm8.Image4Click(Sender: TObject); begin form8.Table1.Last; if form8.Table1Status.Value='2' then begin form8.Label2.Visible:=false; form8.Label3.Visible:=false; form8.DBEdit8.Visible:=false; form8.DBEdit9.Visible:=false; end; if form8.Table1Status.Value='1' then begin form8.Label2.Visible:=true; form8.Label3.Visible:=true; form8.DBEdit8.Visible:=true; form8.DBEdit9.Visible:=true; end; end; procedure TForm8.Image2Click(Sender: TObject); begin form8.Table1.Prior; if form8.Table1Status.Value='2' then begin form8.Label2.Visible:=false; form8.Label3.Visible:=false; form8.DBEdit8.Visible:=false; form8.DBEdit9.Visible:=false; end; if form8.Table1Status.Value='1' then begin form8.Label2.Visible:=true; end; end. //табличные данные архива предложений unit Unit9; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Menus, ExtCtrls, DBCtrls, Grids, DBGrids; type TForm9 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N3: TMenuItem; DataSource1: TDataSource; DBGrid1: TDBGrid; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; Panel1: TPanel; Image4: TImage; Image1: TImage; Image2: TImage; Image3: TImage; Table1: TTable; Table2: TTable; Table3: TTable; Table1ID_kv: TAutoIncField; Table1RNN_kl: TStringField; Table1Kol_kom: TIntegerField; Table1Zena: TIntegerField; Table1Uliza: TStringField; Table1Dom: TStringField; Table1Kv: TIntegerField; Table1Ploshad: TFloatField; Table1Etag: TStringField; Table1Lift: TBooleanField; Table1Remont: TBooleanField; Table1Balkon: TBooleanField; Table1Telefon: TBooleanField; Table1Status: TStringField; Table1Dop: TMemoField; Table1stat: TStringField; Table1FIO: TStringField; Table3RNN_kl: TStringField; Table3FIO_kl: TStringField; form3.Enabled:=true; end; procedure TForm9.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form9.DBGrid1.Height:=form9.Height-75; form9.DBGrid1.Width:=form9.Width-10; form9.Panel1.Left:=round(form9.Width/2)-150; form9.Panel1.Top:=form9.Height-75; end; procedure TForm9.FormActivate(Sender: TObject); begin form9.Left:=190; form9.Top:=211; form9.Height:=325; form9.Width:=650; form9.Table1.Active:=true; form8.Table1.Active:=false; form8.Table2.Active:=false; form9.Table2.Active:=true; form8.Table3.Active:=false; form9.Table3.Active:=true; form15.Table2.Active:=false; end; procedure TForm9.N4Click(Sender: TObject); begin form9.Table1.Edit; end; procedure TForm9.N5Click(Sender: TObject); begin form9.Table1.Append; end; procedure TForm9.N6Click(Sender: TObject); begin form9.Table1.Delete; end; procedure TForm9.N7Click(Sender: TObject); begin form9.Table1.Refresh; end; procedure TForm9.N8Click(Sender: TObject); begin form9.Table1.Post; private { Private declarations } public { Public declarations } end; var Form10: TForm10; implementation uses Unit1, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit13; {$R *.dfm} procedure TForm10.N2Click(Sender: TObject); begin form9.Table2.Append; end; procedure TForm10.FormClose(Sender: TObject; var Action: TCloseAction); begin form8.Visible:=true; form10.Visible:=false; end; procedure TForm10.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form10.DBGrid1.Height:=form10.Height-10; form10.DBGrid1.Width:=form10.Width; end; procedure TForm10.FormActivate(Sender: TObject); begin form10.Height:=217; form10.Width:=217; form9.Table2.Active:=true; form8.Table2.Active:=false; end; procedure TForm10.N5Click(Sender: TObject); begin form9.Table2.Post; end; procedure TForm10.N3Click(Sender: TObject); begin Form9.Table2.Delete; Form11: TForm11; implementation uses Unit1, Unit10, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm11.N1Click(Sender: TObject); begin form11.Table1.Post; end; procedure TForm11.N2Click(Sender: TObject); begin form11.Table1.Edit; end; procedure TForm11.N3Click(Sender: TObject); begin form11.Table1.Delete; end; procedure TForm11.N4Click(Sender: TObject); begin form11.Table1.Refresh; end; procedure TForm11.N5Click(Sender: TObject); begin form11.Table1.Append; end; procedure TForm11.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form11.DBGrid1.Height:=form11.Height-75; form11.DBGrid1.Width:=form11.Width-5; end; procedure TForm11.FormActivate(Sender: TObject); begin form11.Height:=220; form11.Width:=290; form11.Table1.Active:=true; end; end. procedure CheckBox11Click(Sender: TObject); procedure CheckBox12Click(Sender: TObject); procedure CheckBox13Click(Sender: TObject); procedure CheckBox14Click(Sender: TObject); procedure CheckBox15Click(Sender: TObject); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); private { Private declarations } public { Public declarations } end; var Form12: TForm12; implementation uses Unit1, Unit10, Unit11, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm12.FormActivate(Sender: TObject); begin form12.Height:=368; form12.Width:=500; form12.Top:=220; form12.Left:=295; CheckBox1.Checked:=false; CheckBox2.Checked:=false; CheckBox3.Checked:=false; CheckBox4.Checked:=false; CheckBox5.Checked:=false; CheckBox10.Checked:=false; CheckBox11.Checked:=false; CheckBox12.Checked:=false; CheckBox13.Checked:=false; CheckBox14.Checked:=false; Edit1.Color:=$00C4C4C4; Edit2.Color:=$00C4C4C4; Edit3.Color:=$00C4C4C4; Edit4.Color:=$00C4C4C4; Edit5.Color:=$00C4C4C4; Edit6.Color:=$00C4C4C4; edit1.Enabled:=false; CheckBox11.Enabled:=true; CheckBox12.Enabled:=true; CheckBox11.Checked:=false; CheckBox12.Checked:=false; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; if CheckBox3.Checked=false then begin Edit3.Color:=$00C4C4C4; edit3.Enabled:=false; CheckBox11.Enabled:=false; CheckBox12.Enabled:=false; end; end; procedure TForm12.CheckBox4Click(Sender: TObject); begin if CheckBox4.Checked=true then begin edit4.Color:=clWhite; edit4.Enabled:=true; CheckBox5.Enabled:=true; CheckBox10.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; if CheckBox4.Checked=false then begin Edit4.Color:=$00C4C4C4; edit4.Enabled:=false; CheckBox5.Enabled:=false; CheckBox10.Enabled:=false; end; end; procedure TForm12.CheckBox5Click(Sender: TObject); begin if CheckBox5.Checked=true then begin edit5.Color:=clWhite; edit5.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; if CheckBox5.Checked=false then begin Edit5.Color:=$00C4C4C4; edit5.Enabled:=false; end; end; Kol_kom="'+Edit2.Text+'")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=true then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер_заявки, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE (Kol_kom="'+Edit2.Text+'") AND (Predlogenia.status="2")AND (Predlogenia.status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=true then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Kol_kom="'+Edit2.Text+'") AND(Predlogenia.status="1")AND(Predlogenia.status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=true then if checkbox12.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as номер, Status.Status as статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'")AND (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as , Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena>"'+Edit3.Text+'") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=true then if checkbox12.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; if checkbox3.Checked=true then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox11.Checked=false then if checkbox12.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Кварира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena>"'+Edit3.Text+'") AND(Predlogenia.Status="1")And (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Домм, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")And (Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Predlogenia.Status="2") AND(Predlogenia.Status=ID_status)'; Query1.Open; Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'") AND(Predlogenia.Status="2")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as Статус,RNN_kl as РЕЕН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'") AND(Predlogenia.Status="1")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then " if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=false then if checkbox10.Checked=true then if checkbox13.Checked=true then if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=true then if checkbox13.Checked=true then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKEUPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status="2") AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=true then if checkbox5.Checked=true then if checkbox10.Checked=true then if checkbox13.Checked=false then if checkbox14.Checked=false then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'") AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status=ID_status)'; Query1.Open; end; if checkbox1.Checked=false then if checkbox2.Checked=false then if checkbox3.Checked=false then if checkbox4.Checked=false then if checkbox5.Checked=false then if checkbox10.Checked=false then if checkbox13.Checked=false then if checkbox14.Checked=false then if checkbox15.Checked=true then begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as begin CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox7Click(Sender: TObject); begin CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox8Click(Sender: TObject); begin CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox9Click(Sender: TObject); begin CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox11Click(Sender: TObject); begin if CheckBox11.Checked=true then CheckBox12.Enabled:=false else CheckBox12.Enabled:=true; end; procedure TForm12.CheckBox12Click(Sender: TObject); begin if CheckBox12.Checked=true then CheckBox11.Enabled:=false else CheckBox11.Enabled:=true; end; procedure TForm12.CheckBox13Click(Sender: TObject); begin if CheckBox13.Checked=true then CheckBox14.Enabled:=false else CheckBox14.Enabled:=true; CheckBox1.Checked:=false; Edit1.Color:=$00C4C4C4; edit1.Enabled:=false; end; procedure TForm12.CheckBox14Click(Sender: TObject); begin if CheckBox14.Checked=true then CheckBox13.Enabled:=false { Public declarations } end; var Form13: TForm13; implementation uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm13.Image4Click(Sender: TObject); begin form13.Visible:=false; form3.Enabled:=true; end; procedure TForm13.Image3Click(Sender: TObject); begin form8.Visible:=true; form13.Visible:=false; end; procedure TForm13.Image2Click(Sender: TObject); begin form4.Visible:=true; form13.Visible:=false; end; procedure TForm13.Image1Click(Sender: TObject); begin form6.Visible:=true; form13.Visible:=false; end; end. //архив сделок unit Unit14; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls, Menus; type TForm14 = class(TForm) Panel2: TPanel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; Table1RNN_sotr: TStringField; Table1Zena_kv: TIntegerField; Table1Oplata: TIntegerField; Table1Data: TDateField; Table1Dop: TMemoField; Table2: TTable; Table3: TTable; Table1RNN_prod: TStringField; Table1RNN_pok: TStringField; Table1FIO_sotr: TStringField; Table1FIO_prod: TStringField; Table1FIO_pok: TStringField; procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); private { Private declarations } public { Public declarations } end; var Form15: TForm15; implementation uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9; {$R *.dfm} procedure TForm15.FormActivate(Sender: TObject); begin form15.Table2.Active:=true; form15.Table3.Active:=true; form5.Table1.Active:=false; form9.Table3.Active:=false; form8.Table3.Active:=false; form15.Height:=325; form15.Width:=650; form15.Left:=190; form15.Top:=211; end; procedure TForm15.FormClose(Sender: TObject; var Action: TCloseAction); begin form15.Table2.Active:=false; form15.Table3.Active:=false; end; procedure TForm15.FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer); begin form15.DBGrid1.Height:=form15.Height-75; form15.DBGrid1.Width:=form15.Width-10; end; end. |
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |