Разработка автоматизированной системы учета и анализа производственной деятельности строительных предприятий Кубани
Анализ деятельности строительных организаций Краснодарского края. Проектирование автоматизированной системы учета и анализа производственной деятельности строительных предприятий Кубани, применяющих услуги ипотечного кредитования и инвестирования.
Рубрика | Производство и технологии |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.09.2012 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- декомпозиция сложных процессов на более простые;
- объединение функционально однородных подпрограмм в модули;
- отладка каждой элементарной функции, т.е. не имеющей в теле вызовов других функций, в отдельности.
4.3 Выбор методов и средств защиты информации и автоматизированной системы от несанкционированного доступа
Разработанная автоматизированная система имеет 2 уровня доступа: уровень Администратора и уровень Пользователя. Организована система паролей, защищая автоматизированную систему от несанкционированного доступа. В предложенной АС привилегированным набором прав обладает Администратор. Корректировка данных и их ввод доступен только Администратору.
4.4 Проектирование потоков событий и взаимодействия интерфейсов программных компонентов
В соответствии с задачами, стоящими перед разрабатываемой системой созданы соответствующие программные модули. Операционная система поставляется отдельно. В качестве ОС используется Microsoft Windows. Ниже приводится таблица, сопоставляющая задачи системы с конкретными программными модулями:
Таблица 4.1 - Соответствие модулей системы задачам системы
Задача |
Модуль |
|
Учет всех заданных условий |
Клиент базы данных |
|
Поиск информации в базе данных |
Подсистема поиска данных |
|
Ведение отчетности |
Подсистема отчетов |
Взаимодействие с операционной системой производится при помощи интерфейса следующих подсистем: «Компании», «Услуги», «Условия», «Сопровождение», «Документация», «Безопасность».
4.4.1 Диаграммы последовательности
Диаграмма последовательности при запросе автоматизированной системы присоединения к серверу представлена на рисунке 4.1
Основной поток событий:
1. Пользователь нажимает на кнопку входа в систему
2. Форма ввода имени и пароля запрашивает имя пользователя
3. Форма ввода имени и пароля запрашивает пароль
4. Форма ввода имени и пароля создает запрос
5. Форма ввода имени и пароля отправляет запрос ADOConnection
6. Компонент ADOConnection переправляет запрос MSSQL Server
7. MSSQL Server обрабатывает запрос и возвращает его ADOConnection
8. Компонент ADOConnection возвращает форме код ошибки
9. Форма возвращает оператору уведомление о соединении или же вызывает поток ошибок Е1
Поток ошибок Е1
1. Программа сообщает об ошибке (неправильно введенные имя пользователя или пароль)
2. Осуществляется возврат на форму ввода имя пользователя или пароля
Рисунок 4.1 - Диаграмма последовательности при запросе присоединения к серверу
Диаграмма основного потока событий автоматизированной системы представлена на рисунке 4.1
Основной поток событий:
1. Оператор вводит запрос через графический интерфейс
2. Приложение проверяет правильность введенных данных или же при обнаружении ошибки вызывает поток ошибок Е1
3. Приложение посылает запрос на подтверждение соединения MSSQL Server
4. MSSQL Server подтверждает соединение
5. Приложение обновляет данные
6. Приложение выводит данные
Поток ошибок Е1
1. Программа сообщает об ошибке ввода данных
2. Осуществляется возврат на форму ввода данных
Диаграмма последовательности автоматизированной системы для варианта запроса «Закрыть программу» представлена на рисунке 4.3
Основной поток событий:
1. Оператор нажимает на кнопку закрытия формы
2. Форма посылает ADOConnection запрос на завершение соединения
3. Компонент ADOConnection посылает запрос MSSQL Server на освобождение ресурсов
4. MSSQL Server возвращает ADOConnection уведомление об освобождении ресурсов
5. Компонент ADOConnection освобождает выделенную под соединение память
6. Компонент ADOConnection возвращает форме уведомление о завершении соединения
7. Форма вызывает закрытие приложения
8. Приложение возвращает форме код результата закрытия приложения
9. Форма закрывается или же вызывает поток ошибок Е1
Поток ошибок Е1
1. В случае неудачи программа сообщает об ошибке
2. Вызывается отладка приложения
Рисунок 4.3 - Диаграмма последовательности автоматизированной системы для варианта запроса «Закрыть программу»
4.5 Проектирование классов
Классы анализа преобразуются в проектные классы:
1. Проектирование граничных классов - зависит от возможностей среды разработки пользовательского интерфейса.
2. Проектирование классов-сущностей - с учетом соображений производительности (выделение в отдельные классы атрибутов с различной частотой использования).
3. Проектирование управляющих классов - удаление классов, реализующих простоту передачи информации от граничных классов к сущностям.
4. Идентификация устойчивых (persistent) классов, содержащих хранимую информацию.
4.6 Проектирование базы данных
4.6.1 Описание структуры БД
Был определен следующий состав таблиц базы данных. Она содержит информацию, используемую в работе системы. Базу данных решено назвать по аналогии с приложением: STROITEL.mdf.
Рассмотрим основные таблицы базы данных:
Таблица «Организация» (таблица 4.2);
Таблица «Безопасность» (таблица 4.3);
Таблица «Условия ипотеки» (таблица 4.4);
Таблица «Условия инвестирования» (таблица 4.5)
Таблица «Организации» содержит информацию об интересующих организациях в зависимости от вида услуги, о преимуществах и условиях организации.
Имя поля |
Описание |
Тип представления |
|
OrganizationID |
Ключ организации |
INT |
|
NameOrganization |
Название организации |
VARCHAR(100) |
|
OrganizationAbout |
Общая информация |
VARCHAR (3000) |
|
SpisokYslug |
Услуги |
VARCHAR (3000) |
|
PreimOrganization |
Преимущества |
VARCHAR (3000) |
|
YslovZaim |
Условия займа |
VARCHAR (200) |
|
DokumentsOrg |
Необходимые документы |
VARCHAR (3000) |
|
UserKod |
Код пользователя/администратора, выполняющего добавление/изменение организации |
INT |
Таблица 4.2 - «Безопасность» содержит данные о правах пользователей (их код, логин и пароль).
Имя поля |
Описание |
Тип представления |
|
UserID |
Номер (код) пользователя (ключ) |
INT |
|
UserLogin |
Логин пользователя (имя) |
VARCHAR(50) |
|
UserPassword |
Пароль пользователя |
VARCHAR(50) |
Таблица 4.3 - Таблица «Условия ипотеки» содержит данные о необходимых условиях ипотечного кредитования
Имя поля |
Описание |
Тип представления |
|
YslygaIpotekaID |
Ключ услуги |
INT |
|
NameYslyga |
Наименование услуги |
VARCHAR(100) |
|
VozrastKlienta |
Возраст клиента |
INT |
|
PervVznos |
Первоначальный взнос |
INT |
|
SumDoxod |
Суммарный месячный доход |
INT |
|
Grajdanstvo |
Гражданство клиента |
VARCHAR(100) |
|
MestoRaboti |
Постоянное место работы |
VARCHAR(100) |
Таблица 4.4 - «Условия инвестирования» содержит данные о необходимых условиях инвестиционной деятельности
Имя поля |
Описание |
Тип представления |
|
YslygaInvestID |
Ключ услуги |
INT |
|
NameYslyga |
Наименование услуги |
VARCHAR(100) |
|
VozrastKlienta |
Возраст клиента |
INT |
|
PeriodInvest |
Период инвестирования |
INT |
|
SumInvest |
Сумма инвестиции |
INT |
|
Grajdanstvo |
Гражданство клиента |
VARCHAR(100) |
|
MestoRaboti |
Постоянное место работы |
VARCHAR(100) |
Каждая таблица представляет собой некий класс, с помощью которых описывается вся система. Схема классов базы данных представлена на рисунке 4.4.
Рисунок 4.4 - Схема классов базы данных
4.7 Структура автоматизированной системы по учету и анализу производственной деятельности строительных предприятий Кубани, применяющих актуальные услуги строительного рынка
Данный программный продукт был реализован в среде разработки 32-х разрядных приложений Borland C++. При разработке проекта использовалась технология ADO, позволяющая устанавливать соединение как с локальной базой данных, так и с удаленной, не используя при этом дополнительно установленных приложений. При помощи данной технологии была реализована возможность работать и поддерживать базы данных MS SQL Server 2003.
4.7.1 Описание компонентов программного продукта
Для реализации данного программного продукта использовались следующие компоненты:
Label - метка, статический текста;
Edit - поле ввода текста;
Button - кнопка;
BitBtn - кнопка с графикой;
GroupBox - группа компонентов;
MainMenu - меню пользователя;
PopupMenu - всплывающее меню;
XPTweak - компонент адаптации для операционных систем Windows XP;
DBGrid - таблица данных;
PageControl - страничный обзор;
ADOConnection - компонент связи с базой данных;
ADOTable - компонент передачи данных от таблицы данных к базе данных и наоборот;
ADOQuery - компонент построения запросов SQL;
DataSet - промежуточный компонент связи таблицы с базой данных;
StatusBar - информационная панель;
RadioButton - радио кнопка;
Qreport - компонент создания быстрых отчетов:
ADOCommand - компонент выполнения команд запросов.
4.7.2 Описание основных процедур подсистемы
Процедура TMainForm.Org предназначена для отображения на экран списка представленных организаций.
Процедура TMainForm.Vvod предназначена для осуществления ввода данных.
Процедура TMainForm.Admin предназначена для отображения формы добавления, редактирования, удаления пользователей и настройки прав пользования системой.
Процедура TMainForm.Spr предназначена для отображения справочников системы.
Процедура TMainForm.Exit предназначена для осуществления выхода из системы.
Процедура TCompanyForm.Insert предназначена для добавления обновленных данных о компании.
Процедура TCompanyForm.Save предназначена для сохранения изменённых данных о компании.
Процедура TPacYslugForm.Save предназначена для сохранения данных о выбранных услугах.
Процедура TYslugForm.Report предназначена для формирования вариантов выбора.
4.8 Генерация кода
Процесс генерации кода состоит из четырех основных шагов:
1. Проверка корректности модели.
2. Установка свойств генерации кода.
3. Выбор класса, компонента или пакета.
4. Генерация кода.
5. Технические характеристики результатов проектирования автоматизированной системы «STROITEL»
5.1 Описание программного продукта
Программный продукт включает в себя несколько основных подсистем: «Компания», «Услуги», «Условия», «Сопровождение», «Документация», «Безопасность».
На рисунке 5.1 представлена модульная структура разработанной автоматизированной системы «STROITEL». Каждой подсистеме соответствует своя группа модулей. Их описание приведено в таблице 5.1.
Рисунок 5.1 - Модульная структура автоматизированной системы «STROITEL»
Таблица 5.1 - Основные модули системы
Модуль |
Описание |
|
StroitelManager.dpr |
Файл проекта. Содержит перечень всех модулей системы. |
|
SecurityModule.dpr |
Файл проекта безопасности. |
|
UMain.pas |
Файл главной формы проекта. Отвечает за вывод перечня всех представленных строительных организаций. Реализует базовые функции подсистем. |
|
UDM.pas |
Файл модуля данных, отвечающий за связь с БД. |
|
UOrg.pas |
Файл модуля, отвечающего за вывод, добавление и удаление организации. |
|
UYsl.pas |
Файл модуля, отвечающего за управление параметрами услуги. |
|
UModifyYslov.pas |
Файл модуля, отвечающего отражение условий. |
|
UVibor.pas |
Файл оптимального выбора услуги. |
|
USecurity.pas |
Файл модуля, отвечающего за аутентификацию пользователей системы. |
|
UMain.dfm |
Главная форма, вывод всех услуг, управление всей системой. |
|
UIpotek.dfm |
Форма ипотечной услуги. |
|
UInvest.dfm |
Форма инвестиционной услуги |
|
UVibor.dfm |
Форма оптимального выбора услуги. |
|
UDM.dfm |
Форма связи с БД. |
|
UModifyYslov.dfm |
Форма отражения условий. |
|
USecurity.dfm |
Форма аутентификации пользователей. |
Программа (ее конечный модуль) хранится в файле STROITEL.EXE. Программа скомпилированна таким образом, что для ее работоспособности следует установить дополнительное программное обеспечение Microsoft SQL Server 2003. Для большего удобства советуется использовать манипулятор типа «мышь», а так же перефирийным устройством для печати отчетов или документов. Для работоспособности данного программного продукта необходима операционная система Windows 98 или выше.
5.2 Методика оценки надежности проектирования
5.2.1 Расчет надежности информационной системы
Одной из важнейших характеристик качества программного изделия является надежность.
Надежность - это свойство ПИ сохранять работоспособность в течение определенного периода времени, в определенных условиях эксплуатации с учетом последствий для пользователя каждого отказа.
Работоспособным называется такое состояние ПИ, при котором оно способно выполнять заданные функции с параметрами, установленными требованиями технического задания. С переходом ПИ в неработоспособное состояние связано событие отказа.
Модели надежности подразделяются на аналитические и эмпирические, а аналитические же в свою очередь - на динамические и статические.
Аналитические модели дают возможность рассчитать количественные показатели надежности, основываясь на данных тестирования.
Эмпирические модели базируются на анализе структурных особенностей программ (от числа межмодульных связей, количества циклов в модулях, прямых участков или участков ветвления в программе и т.д.).
Динамические модели (появление отказов) - поведение ПС рассматривается во времени. Для динамических моделей необходимы данные о появлении отказов во времени, интервалы каждого отказа - непрерывная картина появления отказов во времени, или число отказов на интервале времени - дискретное время.
Статические модели - модели несвязанные со временем, учитывается только зависимость количества ошибок от количества тестовых прогонов или зависимость от характеристики тестовых данных. Рассмотрим одну из них.
На рисунке 5.6 приведена классификационная схема моделей надежности программного обеспечения (МНПО) на нижнем уровне которой включены модели, представляющие соответствующие группы классификации. В литературе известно гораздо больше моделей, они все подходят под приведенную классификацию, но не включены в схему, чтобы сохранить наглядность.
Рисунок 5.2 - Классификация МНПО
5.3 Руководство пользователя
5.3.1 Инсталляция и конфигурация системы
При установке программы необходимо иметь права администратора, иначе установка невозможна.
Для запуска программы необходимо запустить файл STROITEL.exe.
Для работы программы также необходимо подключить базу данных Stroitel к Microsoft SQL Server.
5.3.2 Требования к оборудованию
Автоматизированная система по учету и анализу производственной деятельности строительный предприятий Кубани, применяющих актуальные услуги строительного рынка разработан для IBM-совместимых ПК, имеющих следующую минимальную конфигурацию:
- Процессор: совместимый с Intel Pentium и частотой не ниже 100МГц, для повышения производительности;
- ОЗУ: не менее 8 Мегабайт;
- Видеомонитор: не ниже класса VGA:
- HDD: свободного места не менее 5 Мб для установки программы
Программа может функционировать в операционных системах Microsoft Windows 98/NT4.0/2000/XP.
5.3.3 Основы работы с программой
Для вызова АС «STROITEL» (предварительно она должна быть установлена на компьютере и также база данных этой программы должна быть подключена и включена), необходимо запустить файл STROITEL.exe.
При запуске приложения появляется окно настроек подключения, представленное на рисунке 5.3
Рисунок 5.3 - Настройки подключения
В окно, изображенное на рисунке 5.3, необходимо внести имя пользователя, пароль. Для настройки соединения с сервером необходимо указать хост и порт соединения. Так же необходимо выбрать интересующую услугу: ипотечное кредитование либо инвестирование. После заполнения данной информации нажать кнопку «Подключение» для подключения к базе данных, либо «Отмена» для выхода из программы.
Рисунок 5.4 - Авторизация пользователя, настройки подключения к БД, выбор услуги
Если логин или пароль были введены неправильно, то программа выдаст ошибку и приложение будет закрыто. Для повторного ввода идентификационных данных необходимо будет запустить приложение и ввести данные снова.
Рисунок 5.5 - Окно ошибки подключения к БД
Рисунок 5.6 - Окно ошибки ввода пароля/пользователя
Вид главного окна показан на рисунке 5.7. Если у пользователя имеется набор прав администратора, то ему доступны такие функции как: Добавление организации, Редактирование организации, Удаление организации.
Рисунок 5.7 - Главное окно АС «STROITEL»
Если у пользователя нет прав администратора, то функции редактирования организаций ему недоступны.
В зависимости от ранее выбранной услуги (ипотека/инвестирование) можно не задавая условий отбора просмотреть всю необходимую информацию о предоставленных компаниях. На рисунке 5.8 приведен пример просмотра интересующей организации.
Рисунок 5.8 - Просмотр общих данных об организации
Рисунок 5.9 - Просмотр информации об организации
Рисунок 5.10 - Просмотр преимуществ выбранной организации
Для удобства пользователя она разделена на две части: документы для юридический и физических лиц.
При выборе функции «Отбор организации по критериям» появляется окно критериев отбора в зависимости от выбранной услуги (ипотека/инвестирование).
После заполнения формы, представленной на рисунке 5.12 и нажатии кнопки «Ок», программа автоматически подбирает оптимальный вариант выбора компании или компаний и предоставленных условий.
После выбора заданных параметров и критерий в зависимости от предоставленной услуги, происходит подбор оптимального варианта выбора компании и условий для поставленной задачи.
6. Экономическая часть
6.1 Краткая характеристика предприятия
ООО «БизнесКласс-К» организована в феврале 2003 года и является Краснодарским филиалом московской группы «Норма-Регион-Медиа». Основной вид деятельности данной организации - издательская деятельность. Предприятие занимается изданием журнала «Стройка. Краснодарский выпуск», который является специализированным рекламно-информационным изданием строительного бизнеса. В 2008 году Краснодарскому филиалу исполнилось 5 лет. За эти годы журнал признан лидером в сфере строительной рекламы. Главной стратегической задачей ООО «БизнесКласс-К» является комплексная информационная поддержка краснодарских предпринимателей, работающих в строительной сфере.
Для данной организации был разработан программный продукт, призванный информировать целевую аудиторию читателей об изменениях в сфере ипотечного и инвестиционного рынка, а так же о строительных предприятиях, предоставляющих данные виды услуг.
№ |
Показатели |
Единицы измерения |
2006 г. |
2007 г. |
Прогноз на 2008 г. |
|
1 |
Прибыль |
руб. |
4 800 000 |
5 130 000 |
7 000 000 |
|
2 |
Среднемесячная з/п |
руб. |
9 000 |
11 000 |
15 000 |
|
3 |
Среднесписочная численность |
чел. |
18 |
26 |
40 |
|
4 |
Фонд оплаты труда |
руб. |
1 944 000 |
3 432 000 |
7 200 000 |
Таблица 6.1 - Технико-экономические показатели предприятия
Подразделение |
Количество пользователей |
Функции |
|
Отдел рекламы |
15 |
Поиск потенциальных рекламодателей в сфере строительного бизнеса |
|
Отдел маркетинга |
4 |
Выявление рентабельности и конкурентоспособности организаций, представленных в автоматизированной системе |
|
Отдел информации |
5 |
Поиск, анализ и учет интересующей информации, предоставленной в АС |
Таблица 6.2 - Количество потенциальных пользователей системы
6.2 Содержание бизнес процесса, в котором используется автоматизированная система
Автоматизированная система учета и анализа крупнейших строительных предприятий Краснодарского края, предоставляющих актуальные услуги строительного рынка, создана для журнала «Стройка. Краснодарский выпуск» и ежегодного справочника «Строитель Кубани». С помощью разработанной АС данные издания могут информировать свою целевую аудиторию обо всех изменениях в сфере ипотечного кредитования и инвестиционного бизнеса, а так же об организациях строительного характера, предоставляющих данные услуги.
Предоставленная автоматизированная система используется на предприятии четырьмя отделами: отделом информации, отделом маркетинга и отделом рекламы. После анализа и учета всех предоставленных в программном продукте сведений, материалы подлежат публикации в вышеперечисленных изданиях.
6.3 Планирование работ для разработки автоматизированной системы
6.3.1 Определение затрат на заработную плату
Необходимо определить затраты по заработной плате. Сведения приведены в таблице 6.3
Таблица 6.3 - Определение затрат по заработной плате
Состав группы |
Количество человек |
Средняя з/п (руб.) |
Итого (руб.) |
|
Руководитель |
1 |
7 000 |
7 000 |
|
Консультант |
2 |
5 000 |
10 000 |
6.3.2 Составление списка используемого оборудования в процессе проектирования
Список используемого оборудования приведен в таблице 6.4
Перечень оборудования |
Количество (шт.) |
Стоимость единицы (руб.) |
Общая стоимость (руб.) |
|
ЭВМ |
1 |
16 000 |
16 000 |
|
Принтер |
1 |
4 200 |
4 200 |
|
Сканер |
1 |
3 000 |
3 000 |
|
Модем |
1 |
2 800 |
2 800 |
Таблица 6.4 - Оборудование, используемое в процессе проектирования
6.3.3 Определение среднего срока стадий для разработки автоматизированной системы
Средние сроки стадий для разработки АС приведены в таблице 6.5
Стадия |
Средний срок (дни) |
Средний срок (часы) |
|
I |
10 |
60 |
|
II |
7 |
42 |
|
III |
12 |
72 |
|
IV |
6 |
36 |
|
V |
4 |
24 |
Таблица 6.5 Сроки стадий для разработки АС
Заключение
В ходе выполнения работ по настоящему курсовой работе были получены следующие результаты:
· изучена и описана предметная область;
· выполнен полный цикл проектирования автоматизированной системы учета и анализа производственной деятельности строительных предприятий Кубани, применяющих актуальные услуги строительного рынка.
Данный программный продукт может использоваться как одним пользователем, так и группой пользователей работающих в локальной сети с выделенным сервером или без такового. Разработанная АС «STROITEL» адаптирована для работы в любой организации, информирующей об услугах и условиях строительного рынка Кубани.
Всё вышесказанное позволяет сделать вывод о том, что поставленная задача решена. Выполненная курсовая работа полностью соответствует требованиям задания для данной курсовой работы.
Все цели, поставленные при проектировании, были достигнуты, однако система допускает и предполагает дальнейшее усовершенствование в плане более удобного интерфейса и путем добавления к существующей АС новых функциональных возможностей.
Список используемых источников
1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд.: пер. с англ. - М.: “Бином”, СПб.: “Невский Диалект”, 2000. - 500с.
2. Архангельский А.Я. Delphi 7. Справочное пособие.- М.: ООО «Бином-Пресс», 2004. - 1024 с.: ил.
3. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов.- СПб.: Питер, 2004.- 640 с.: ил.
4. Кватрани Т. Rational Rose 2000 и UML. Визуальное моделирование: Пер. с англ.-М.: ДМК Пресс, 2001.-176с.: ил.
5. Оппель Э. Изучаем SQL / Джим Киу, пер. с англ. Д.А. Терентьева - М.: НТ Пресс, 2007. - 320 с.: ил.
6. Шкрыль А.А. Разработка клиент-серверных приложений в Delphi. - СПб.: БХВ-Петербург, 2006. - 408 с.: ил.
7. Зубов А. Программирование на Delphi. Трюки и эффекты. - СПб.: Питер, 2005. - 396с.: ил.
8. Путилин А.Б., Юрагов Е.А. Компонентное моделирование и программирование на языке UML: Практическое руководство по проектированию информационно-измерительных систем / А.Б. Путилин, Е.А. Юрагов. - М.: НТ Пресс, 2005. - 664с.: ил. - (Проектирование и моделирование).
9. Миклашевская Л.Н., Терехова Р.Л. Математические модели в расчетах на ЭВМ / Белорус. ин-т инж. ж.- д. трансп. - Гомель, 1993. - 54 с. - (Методические указания к лабораторным занятиям для студентов III курса строительного факультета).
Приложение
Исходные тексты программы
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdActns, ActnList, ToolWin, ComCtrls, ImgList, StdCtrls,
FR_DSet, FR_DBSet, FR_Class, frRtfExp;
type
TMainForm = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N9: TMenuItem;
N12: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
ActionList1: TActionList;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrange1: TWindowArrange;
StatusBar1: TStatusBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton9: TToolButton;
ToolButton11: TToolButton;
ImageList1: TImageList;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton7: TToolButton;
frReport1: TfrReport;
N4: TMenuItem;
N5: TMenuItem;
C1: TMenuItem;
frReport2: TfrReport;
frDBDataSet1: TfrDBDataSet;
frDBDataSet2: TfrDBDataSet;
procedure N2Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N3Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure C1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
uses DataModule, Math, DB, SpisPacint, DateUtils, BistrVvod, Dostup, DateF,
Admin, Spr, ADODB;
{$R *.dfm}
procedure TMainForm.N2Click(Sender: TObject);
var
sp : TSpisPacientForm;
begin
sp := TSpisPacientForm.Create(Application);
If DM.Dostup.Fields.Fields[2].AsInteger = 4 then
begin
sp.ToolButton7.Visible := False;
sp.ToolButton5.Visible := False;
end;
If DM.Dostup.Fields.Fields[2].AsInteger = 5 then
begin
sp.ToolButton1.Visible := False;
sp.ToolButton2.Visible := False;
sp.ToolButton3.Visible := False;
sp.ToolButton9.Visible := False;
sp.ToolButton6.Visible := False;
end;
sp.Show;
end;
procedure TMainForm.N9Click(Sender: TObject);
begin
close;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.Pacient.Cancel;
end;
procedure TMainForm.N3Click(Sender: TObject);
begin
DM.Pacient.Insert;
TBistrVvodForm.Create(Application);
end;
procedure TMainForm.ToolButton3Click(Sender: TObject);
begin
TDateForm.Create(Application);
end;
procedure TMainForm.N5Click(Sender: TObject);
begin
with DM.Dostup do
begin
Close;
SQL.Clear;
SQL.Add('sel_Dost;1');
ExecSQL;
Open;
end;
TAdminForm.Create(Application);
end;
procedure TMainForm.C1Click(Sender: TObject);
begin
TSprForm.Create(Application);
end;
end.
unit Admin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, ComCtrls, ToolWin, ExtCtrls, DBLookupEh,
StdCtrls, Mask, DBCtrlsEh;
type
TAdminForm = class(TForm)
DBGridEh1: TDBGridEh;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
Panel1: TPanel;
ToolBar2: TToolBar;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEditEh1: TDBEditEh;
DBEditEh2: TDBEditEh;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBEditEh3: TDBEditEh;
Panel2: TPanel;
ToolBar3: TToolBar;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
DBEditEh4: TDBEditEh;
Label5: TLabel;
Label6: TLabel;
DBEditEh5: TDBEditEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AdminForm: TAdminForm;
implementation
uses DataModule, Main, DataModuleSpr, DB, ADODB;
{$R *.dfm}
procedure TAdminForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TAdminForm.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TAdminForm.ToolButton2Click(Sender: TObject);
begin
try
with DM.Query do
begin
Close;
SQL.Clear;
SQL.Add('delete from dostup');
SQL.Add('where id_dostup = ' + IntToStr(DM.Dostup.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
end;
except
end;
DM.Dostup.Requery([]);
end;
procedure TAdminForm.ToolButton1Click(Sender: TObject);
begin
DBEditEh1.Text := '';
DBEditEh2.Text := '';
DBEditEh3.Text := '';
DM.Dost.Insert;
Panel1.Visible := True;
ToolButton1.Enabled := False;
ToolButton2.Enabled := False;
ToolButton3.Enabled := False;
end;
procedure TAdminForm.ToolButton6Click(Sender: TObject);
begin
DM.Dost.Cancel;
ToolButton1.Enabled := True;
ToolButton2.Enabled := True;
ToolButton3.Enabled := True;
Panel1.Visible := False;
end;
procedure TAdminForm.ToolButton5Click(Sender: TObject);
begin
if Trim(DBEditEh2.Text) <> Trim(DBEditEh3.Text) then
begin
ShowMessage(`Неверный пользователь или пароль`);
DBEditEh2.Text := '';
DBEditEh3.Text := '';
end
else
begin
DMSpr.Nam.Insert;
DMSpr.Nam.Fields.Fields[1].AsString := DBEditEh1.Text;
DMSpr.Nam.Post;
DM.Dost.Fields.Fields[1].AsInteger := DMSpr.Nam.Fields.Fields[0].AsInteger;
DM.Dost.Fields.Fields[3].AsString := trim(DBEditEh2.Text);
DM.Dost.Post;
DM.Dostup.Requery([]);
Panel1.Visible := False;
ToolButton1.Enabled := True;
ToolButton2.Enabled := True;
ToolButton3.Enabled := True;
end;
end;
procedure TAdminForm.ToolButton10Click(Sender: TObject);
begin
DM.Dost.Cancel;
Panel2.Visible := False;
ToolButton1.Enabled := True;
ToolButton2.Enabled := True;
ToolButton3.Enabled := True;
end;
procedure TAdminForm.ToolButton9Click(Sender: TObject);
begin
if Trim(DBEditEh2.Text) <> Trim(DBEditEh3.Text) then
begin
ShowMessage('Ошибка подключения);
DBEditEh4.Text := '';
DBEditEh5.Text := '';
end
else
begin
DM.Dostup.Fields.Fields[3].AsString := trim(DBEditEh5.Text);
DM.Dostup.Post;
DM.Dostup.Requery([]);
Panel2.Visible := False;
ToolButton1.Enabled := True;
ToolButton2.Enabled := True;
ToolButton3.Enabled := True;
end;
end;
procedure TAdminForm.ToolButton3Click(Sender: TObject);
begin
DBEditEh4.Text := '';
DBEditEh5.Text := '';
DM.Dostup.Edit;
ToolButton1.Enabled := False;
ToolButton2.Enabled := False;
ToolButton3.Enabled := False;
Panel2.Visible := True;
end;
end.
unit AmnB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ComCtrls, ToolWin;
type
TAmnBForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ToolButton11: TToolButton;
DBMemo1: TDBMemo;
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AmnBForm: TAmnBForm;
implementation
uses DataModule;
{$R *.dfm}
procedure TAmnBForm.ToolButton11Click(Sender: TObject);
begin
DM.AnmB.Cancel;
close;
end;
procedure TAmnBForm.ToolButton1Click(Sender: TObject);
begin
DM.AnmB.Fields.Fields[1].AsInteger := DM.PacAll.Fields.Fields[0].AsInteger;
DM.AnmB.Post;
end;
procedure TAmnBForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.
unit AmnZ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, DBCtrls;
type
TAmnZForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ToolButton11: TToolButton;
DBMemo1: TDBMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AmnZForm: TAmnZForm;
implementation
uses Main, DataModule;
{$R *.dfm}
procedure TAmnZForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TAmnZForm.ToolButton11Click(Sender: TObject);
begin
DM.AnmZ.Cancel;
close;
end;
procedure TAmnZForm.ToolButton1Click(Sender: TObject);
begin
DM.AnmZ.Fields.Fields[1].AsInteger :=
DM.PacAll.Fields.Fields[0].AsInteger;
DM.AnmZ.Post;
end;
end.
unit Antrop;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, ExtCtrls, StdCtrls, Mask, DBCtrlsEh;
type
TAntropForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton4: TToolButton;
ToolButton11: TToolButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
DBNumberEditEh1: TDBNumberEditEh;
DBNumberEditEh2: TDBNumberEditEh;
DBNumberEditEh3: TDBNumberEditEh;
DBNumberEditEh4: TDBNumberEditEh;
DBNumberEditEh5: TDBNumberEditEh;
DBNumberEditEh6: TDBNumberEditEh;
DBNumberEditEh7: TDBNumberEditEh;
DBNumberEditEh8: TDBNumberEditEh;
DBNumberEditEh9: TDBNumberEditEh;
DBNumberEditEh10: TDBNumberEditEh;
DBNumberEditEh11: TDBNumberEditEh;
DBNumberEditEh12: TDBNumberEditEh;
DBNumberEditEh13: TDBNumberEditEh;
DBNumberEditEh14: TDBNumberEditEh;
DBNumberEditEh15: TDBNumberEditEh;
DBNumberEditEh16: TDBNumberEditEh;
DBNumberEditEh17: TDBNumberEditEh;
DBNumberEditEh18: TDBNumberEditEh;
DBNumberEditEh19: TDBNumberEditEh;
DBNumberEditEh20: TDBNumberEditEh;
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AntropForm: TAntropForm;
implementation
uses Main, DataModule;
{$R *.dfm}
procedure TAntropForm.ToolButton11Click(Sender: TObject);
begin
close;
end;
procedure TAntropForm.ToolButton2Click(Sender: TObject);
begin
DM.Antrop.Cancel;
close;
end;
procedure TAntropForm.ToolButton1Click(Sender: TObject);
begin
DM.Antrop.Fields.Fields[1].AsInteger := DM.PacAll.Fields.Fields[0].AsInteger;
DM.Antrop.Post;
end;
procedure TAntropForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.
unit BistrVvod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrlsEh, DBLookupEh, StdCtrls, ExtCtrls, DBCtrls, Mask,
ComCtrls, ToolWin, ImgList;
type
TBistrVvodForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton9: TToolButton;
ToolButton3: TToolButton;
Panel7: TPanel;
Label17: TLabel;
Label18: TLabel;
DBEditEh17: TDBEditEh;
DBEditEh18: TDBEditEh;
DBEditEh19: TDBEditEh;
DBEditEh20: TDBEditEh;
DBRadioGroup1: TDBRadioGroup;
Button3: TButton;
DBLookupComboboxEh21: TDBLookupComboboxEh;
DBLookupComboboxEh22: TDBLookupComboboxEh;
Button4: TButton;
Label12: TLabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
ImageList1: TImageList;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BistrVvodForm: TBistrVvodForm;
implementation
uses DataModule, DataModuleSpr, VibVrach, Palat;
{$R *.dfm}
procedure TBistrVvodForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.Pacient.Cancel;
Action := caFree;
end;
procedure TBistrVvodForm.ToolButton2Click(Sender: TObject);
begin
DM.Pacient.Cancel;
close;
end;
procedure TBistrVvodForm.ToolButton3Click(Sender: TObject);
begin
DM.Pacient.Insert;
end;
procedure TBistrVvodForm.ToolButton1Click(Sender: TObject);
begin
DM.Pacient.Post;
DM.PacAll.Requery([]);
DM.Pacient.Edit;
end;
procedure TBistrVvodForm.Button4Click(Sender: TObject);
begin
TVibVrachForm.Create(Application);
end;
procedure TBistrVvodForm.Button3Click(Sender: TObject);
begin
TPalatForm.Create(Application);
end;
end.
unit DateF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, Mask, DBCtrlsEh;
type
TDateForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Panel1: TPanel;
Label1: TLabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DateForm: TDateForm;
implementation
uses Main, Vipisk, DataModule, ADODB, DB, ConvUtils;
{$R *.dfm}
procedure TDateForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TDateForm.ToolButton2Click(Sender: TObject);
begin
close;
end;
procedure TDateForm.ToolButton1Click(Sender: TObject);
begin
TVipiskForm.Create(Application).Label1.Caption := 'Планируется к выписке на: ' + DBDateTimeEditEh1.Text;
with DM.vipis do
begin
Close;
SQL.Clear;
SQL.Add('sel_pacient;2');
SQL.Add('''' + DBDateTimeEditEh1.Text + '''');
ExecSQL;
Open;
end;
close;
end;
end.
unit Diagnoz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrlsEh, StdCtrls, Mask, ExtCtrls, DBCtrls, Grids, DBGridEh,
ComCtrls, ToolWin;
type
TDiagnozForm = class(TForm)
DBGridEh1: TDBGridEh;
Panel1: TPanel;
Label1: TLabel;
DBCheckBoxEh1: TDBCheckBoxEh;
DBRadioGroup1: TDBRadioGroup;
Label2: TLabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
Label3: TLabel;
DBEditEh1: TDBEditEh;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
Panel2: TPanel;
DBMemo1: TDBMemo;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DiagnozForm: TDiagnozForm;
implementation
uses DataModule, Main, DataModuleSpr;
{$R *.dfm}
procedure TDiagnozForm.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if DBGridEh1.SumList.RecNo mod 2 = 1 then
Background := $00ddbbff
else
Background := clSkyBlue;
end;
procedure TDiagnozForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TDiagnozForm.ToolButton5Click(Sender: TObject);
begin
DBMemo1.Clear;
end;
procedure TDiagnozForm.ToolButton1Click(Sender: TObject);
begin
DBMemo1.Text := DBGridEh1.Fields[1].AsString;
end;
procedure TDiagnozForm.ToolButton2Click(Sender: TObject);
begin
close;
end;
procedure TDiagnozForm.ToolButton4Click(Sender: TObject);
begin
DM.Diagn.FieldByName('Id_Pac').AsInteger :=
DM.PacAll.Fields.Fields[0].AsInteger;
DM.Diagn.FieldByName('Diag').AsString := DBMemo1.Text;
close;
end;
end.
unit DataModule;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDM = class(TDataModule)
ADOConnection: TADOConnection;
Pacient: TADOQuery;
DSPacient: TDataSource;
PacAll: TADOQuery;
DSPacAll: TDataSource;
PacAllF: TStringField;
PacAllN: TStringField;
PacAllO: TStringField;
PacAllNumPut: TSmallintField;
PacAllNumPal: TSmallintField;
PacAllFIO_Vrach: TStringField;
Vrach: TADOQuery;
DSVrach: TDataSource;
PacAllId_Pacient: TAutoIncField;
PacAllNumIB: TStringField;
SrokP: TADOQuery;
DSSrokP: TDataSource;
PacAllZaezdP: TDateTimeField;
PacAllVremZP: TStringField;
PacAllOtezdP: TDateTimeField;
PacAllVremOP: TStringField;
PacAllKolP: TWordField;
Query: TADOQuery;
DSQuery: TDataSource;
PacAllId_sanator: TSmallintField;
PacAllId_Uslug: TSmallintField;
PacAllId_Palat: TSmallintField;
PacAllId_Vrach: TSmallintField;
PacAllPol: TVariantField;
PacAllDR: TDateTimeField;
PacAllLechBoln: TBooleanField;
PacAllRabotnik: TBooleanField;
PacAllId_TipPut: TSmallintField;
PacAllStoimPut: TSmallintField;
PacAllId_Konting: TSmallintField;
PacAllId_SocPol: TSmallintField;
PacAllId_GrOtd: TSmallintField;
PacAllId_Prodav: TSmallintField;
PacAllId_Kategor: TSmallintField;
PacAllMestoRogd: TStringField;
PacAllId_TipDoc: TSmallintField;
PacAllSeriy: TStringField;
PacAllNumber: TStringField;
PacAllDateVid: TDateTimeField;
PacAllVidOrg: TStringField;
PacAllId_Oganiz: TSmallintField;
PacAllId_Otdel: TSmallintField;
PacAllId_Dolgnost: TSmallintField;
PacAllDrugoe: TStringField;
PacAllId_SrokP: TSmallintField;
PacAllId_Transp: TSmallintField;
PacAllNumReis: TSmallintField;
PacAllIz: TStringField;
PacAllKyrit: TBooleanField;
PacAllHropit: TBooleanField;
PacAllAllerg: TBooleanField;
PacAllMeteo: TBooleanField;
PacAllYVOV: TBooleanField;
PacAllIVOV: TBooleanField;
PacAllYLA: TBooleanField;
PacAllPMC: TBooleanField;
PacAllSkart: TBooleanField;
PacAllSEO: TBooleanField;
PacAllId_Sopr: TSmallintField;
PacAllDatePrib: TDateTimeField;
PacAllName_Uslug: TStringField;
PacAllSanator: TStringField;
Sopr: TADOQuery;
DSSopr: TDataSource;
Diagn: TADOQuery;
DSDiagn: TDataSource;
Dostup: TADOQuery;
DSDostup: TDataSource;
vipis: TADOQuery;
DSvipis: TDataSource;
Antrop: TADOQuery;
DSAntrop: TDataSource;
AnmZ: TADOQuery;
DSAnmZ: TDataSource;
AnmB: TADOQuery;
DSAnmB: TDataSource;
Epid: TADOQuery;
DSEpid: TDataSource;
Zakl: TADOQuery;
DSZakl: TDataSource;
Osm: TADOQuery;
DSOsm: TDataSource;
Vip: TADOQuery;
DSVip: TDataSource;
Zam: TADOQuery;
DSZam: TDataSource;
Dost: TADOQuery;
DSDost: TDataSource;
PacAllVidProgiv: TStringField;
PacAllCity: TStringField;
PacAllregion: TStringField;
PacAllStrana: TStringField;
PacAllRaion: TStringField;
PacAllPriCiry: TStringField;
PacAllStreet: TStringField;
PacAllHouse: TSmallintField;
PacAllKorp: TWordField;
PacAllFlat: TSmallintField;
PacAllPhone: TStringField;
PacAllFaks: TStringField;
PacAllEmail: TStringField;
PacAllHttp: TStringField;
PacAllTipdoc: TStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
{$R *.dfm}
end.
unit DataModuleSpr;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDMSpr = class(TDataModule)
Diag: TADOQuery;
DSDiag: TDataSource;
City: TADOQuery;
DSCity: TDataSource;
Dolgnost: TADOQuery;
DSDolgnost: TDataSource;
Kategor: TADOQuery;
DSKategor: TDataSource;
Organiz: TADOQuery;
DSOrganiz: TDataSource;
GrOtbor: TADOQuery;
DSGrOtbor: TDataSource;
Prodavec: TADOQuery;
DSProdavec: TDataSource;
Raion: TADOQuery;
DSRaion: TDataSource;
Region: TADOQuery;
DSRegion: TDataSource;
SocPol: TADOQuery;
DSSocPol: TDataSource;
Strana: TADOQuery;
DSStrana: TDataSource;
Street: TADOQuery;
DSStreet: TDataSource;
TipDoc: TADOQuery;
DSTipDoc: TDataSource;
TipNomer: TADOQuery;
DSTipNomer: TDataSource;
TipPut: TADOQuery;
DSTipPut: TDataSource;
VidTrans: TADOQuery;
DSVidTrans: TDataSource;
VidProgiv: TADOQuery;
DSVidProgiv: TDataSource;
ADOConnection: TADOConnection;
Uslug: TADOQuery;
DSUslug: TDataSource;
Sanator: TADOQuery;
DSSanator: TDataSource;
PriCity: TADOQuery;
DSPriCity: TDataSource;
Palat: TADOQuery;
DSPalat: TDataSource;
Otdel: TADOQuery;
DSOtdel: TDataSource;
Kontin: TADOQuery;
DSKontin: TDataSource;
VidOpl: TADOQuery;
DSVidOpl: TDataSource;
Sopr: TADOQuery;
DSSopr: TDataSource;
Korpus: TADOQuery;
DSKorpus: TDataSource;
Prior: TADOQuery;
DSPrior: TDataSource;
His: TADOQuery;
DSHis: TDataSource;
Nam: TADOQuery;
DSNam: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DMSpr: TDMSpr;
implementation
uses DataModule;
{$R *.dfm}
end.
unit Dostup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, DBCtrlsEh, StdCtrls, Mask, DBLookupEh,
ImgList, Menus;
type
TDostupForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ImageList1: TImageList;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBLookupComboboxEh2: TDBLookupComboboxEh;
DBEditEh1: TDBEditEh;
MainMenu1: TMainMenu;
N11: TMenuItem;
N12: TMenuItem;
N21: TMenuItem;
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DostupForm: TDostupForm;
implementation
uses DataModuleSpr, DataModule, DB, ADODB, Main, SpisPacint;
{$R *.dfm}
procedure TDostupForm.ToolButton2Click(Sender: TObject);
begin
MainForm.Close;
end;
procedure TDostupForm.ToolButton1Click(Sender: TObject);
var
q, w : String;
begin
q := IntToStr(DBLookupComboboxEh1.KeyValue);
w := IntToStr(DBLookupComboboxEh2.KeyValue);
with DM.Dostup do
begin
Close;
SQL.Clear;
SQL.Add('select * from Dostup');
SQL.Add('where Id_Name = ''' + q + '''');
SQL.Add('and id_Prior = ''' + w + '''');
ExecSQL;
Open;
end;
If Trim(DM.Dostup.Fields.Fields[3].AsString) = Trim(DBEditEh1.Text) then
begin
if Trim(DBLookupComboboxEh2.Text) = 'Регистратор' then
begin
MainForm.N4.Visible := False;
MainForm.C1.Visible := False;
end;
if Trim(DBLookupComboboxEh2.Text) = 'Врач' then
begin
MainForm.N4.Visible := False;
MainForm.N3.Visible := False;
MainForm.C1.Visible := False;
MainForm.ToolButton2.Visible := False;
MainForm.ToolButton3.Visible := False;
MainForm.ToolButton4.Visible := False;
MainForm.ToolButton7.Visible := False;
end;
MainForm.Show;
hide;
end
else
ShowMessage('Не верный пароль или пользователь');
end;
procedure TDostupForm.FormCreate(Sender: TObject);
begin
DBEditEh1.Text := '';
DostupForm.ShowModal;
end;
procedure TDostupForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MainForm.Close;
end;
end.
unit Epid;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, Mask, DBCtrlsEh;
type
TEpidForm = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ToolButton11: TToolButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEditEh1: TDBEditEh;
DBEditEh2: TDBEditEh;
DBEditEh3: TDBEditEh;
DBEditEh4: TDBEditEh;
DBEditEh5: TDBEditEh;
DBEditEh6: TDBEditEh;
DBEditEh7: TDBEditEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EpidForm: TEpidForm;
implementation
uses Main, DataModule;
{$R *.dfm}
procedure TEpidForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TEpidForm.ToolButton11Click(Sender: TObject);
begin
DM.Epid.Cancel;
close;
end;
procedure TEpidForm.ToolButton1Click(Sender: TObject);
begin
DM.Epid.Fields.Fields[1].AsInteger :=
DM.PacAll.Fields.Fields[0].AsInteger;
DM.Epid.Post;
end;
end.
unit History;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh;
type
THistoryForm = class(TForm)
DBGridEh1: TDBGridEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGridEh1CellClick(Column: TColumnEh);
private
{ Private declarations }
public
{ Public declarations }
end;
var
HistoryForm: THistoryForm;
implementation
uses DataModuleSpr, Info, PacDiag, DataModule, Antrop, DB, AmnZ, Osm, Vip,
Zakl, Zam, AmnB, Epid;
{$R *.dfm}
procedure THistoryForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure THistoryForm.DBGridEh1CellClick(Column: TColumnEh);
begin
case DMSpr.His.Fields.Fields[0].AsInteger of
1 : TInfoForm.Create(Application);
2 :
begin
with DM.Diagn do
begin
Close;
SQL.Clear;
SQL.Add('select * from Diagn');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.Pacient.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
end;
TPacDiagForm.Create(Application);
end;
4 :
begin
with DM.AnmZ do
begin
Close;
SQL.Clear;
SQL.Add('select * from AnZ');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TAmnZForm.Create(Application);
end;
5 :
begin
with DM.AnmB do
begin
Close;
SQL.Clear;
SQL.Add('select * from AnB');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TAmnBForm.Create(Application);
end;
6 :
begin
with DM.Epid do
begin
Close;
SQL.Clear;
SQL.Add('select * from Epid');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TEpidForm.Create(Application);
end;
8 :
begin
with DM.Antrop do
begin
Close;
SQL.Clear;
SQL.Add('select * from Antrop');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TAntropForm.Create(Application);
end;
10 :
begin
with DM.Osm do
begin
Close;
SQL.Clear;
SQL.Add('select * from Osm');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
end;
TOsmForm.Create(Application);
end;
13 :
begin
with DM.Vip do
begin
Close;
SQL.Clear;
SQL.Add('select * from Vipis');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TVipForm.Create(Application);
end;
15 :
begin
with DM.Zakl do
begin
Close;
SQL.Clear;
SQL.Add('select * from ZAkl');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TZaklForm.Create(Application);
end;
16 :
begin
with DM.Zam do
begin
Close;
SQL.Clear;
SQL.Add('select * from Zam');
SQL.Add('where Id_Pac = ' +
IntToStr(DM.PacAll.Fields.Fields[0].AsInteger));
ExecSQL;
Open;
if Fields.Fields[0].AsString <> '' then
Edit
else
Insert;
end;
TZamForm.Create(Application);
end;
end;
end;
end.
unit Info;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, ToolWin, StdCtrls, Mask, DBCtrlsEh,
DBLookupEh;
type
TInfoForm = class(TForm)
ToolBar2: TToolBar;
ToolButton13: TToolButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBLookupComboboxEh2: TDBLookupComboboxEh;
DBEditEh1: TDBEditEh;
DBEditEh2: TDBEditEh;
DBEditEh3: TDBEditEh;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
Label7: TLabel;
DBLookupComboboxEh3: TDBLookupComboboxEh;
GroupBox1: TGroupBox;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
DBEditEh30: TDBEditEh;
DBEditEh31: TDBEditEh;
DBLookupComboboxEh9: TDBLookupComboboxEh;
DBDateTimeEditEh3: TDBDateTimeEditEh;
DBEditEh32: TDBEditEh;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
DBLookupComboboxEh4: TDBLookupComboboxEh;
DBLookupComboboxEh5: TDBLookupComboboxEh;
DBLookupComboboxEh6: TDBLookupComboboxEh;
procedure ToolButton13Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
InfoForm: TInfoForm;
implementation
uses DataModule, DataModuleSpr;
{$R *.dfm}
procedure TInfoForm.ToolButton13Click(Sender: TObject);
begin
close;
end;
procedure TInfoForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
end.
unit Osm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Grids, DBGridEh, StdCtrls, Mask, DBCtrlsEh;
Подобные документы
Перспективы развития ремонтных служб на предприятиях строительных материалов от финансового состояния и качества работы организаций. Значение технологии восстановления деталей для долговечности машины. Проведение капитального ремонта сушильного барабана.
курсовая работа [1,1 M], добавлен 17.01.2011Формирование производственной системы и порядок создания предприятия в машиностроительном производстве. Экономический механизм организации бизнеса. Специфика инновационной деятельности предприятий и расчёт эффективности проектов в машиностроении.
курсовая работа [543,3 K], добавлен 05.04.2012Анализ отрасли строительных материалов в Республике Казахстан. Специализация предприятий, номенклатура изделий и их назначение. Технологический процесс изготовления бетонных и железобетонных конструкций, клееного бруса и клееных деревянных конструкций.
курсовая работа [387,9 K], добавлен 15.10.2014Определение типа производства. Конструктивно-технологический анализ изделия-представителя. Разработка характеристик автоматизированной производственной системы. Расчет трудоемкости, количества технологического оборудования и производственных рабочих.
курсовая работа [238,4 K], добавлен 07.08.2013Изучение исходных данных устройства, выбор концепции станочной системы и оценка требуемой ее гибкости. Разработка технологического маршрута изготовления детали типа вал, концепции системы управления, контроля и диагностики. Рассмотрение общей планировки.
курсовая работа [193,2 K], добавлен 22.03.2014Анализ особенностей деятельности предприятия по добыче и обогащению сырья для металлургии, керамических и строительных предприятий на примере ОАО "Вишневогорский ГОК". Экономика обогатительного производства, основные перспективы развития отрасли.
отчет по практике [278,9 K], добавлен 18.10.2012Характеристика особенностей строительных балок. Определение общей массы одного погонного метра балки при плотности лиственницы. Исследование и анализ процесса поперечного раскроя пиломатериалов с вырезкой дефектов. Расчет производительности станков.
курсовая работа [338,2 K], добавлен 27.04.2018Назначение и технологическая схема установки предварительного сброса воды (УПСВ). Функции и структура автоматизированной системы управления УПСВ, разработка ее уровней и выбор оборудования. Расчет надежности и технико-экономической эффективности системы.
дипломная работа [2,1 M], добавлен 29.09.2013Анализ и преобразования структурной схемы автоматизированной электромеханической системы управления. Определение передаточной функции системы для управляющего и возмущающего воздействий. Проверка на устойчивость критериями Гурвица и методом ЛАЧХ-ЛФЧХ.
практическая работа [534,0 K], добавлен 07.03.2013Бумага как упругопластический, капиллярно-пористый листовый материал, состоящий из мелких волокон. Знакомство с особенностями проектирования подсистемы автоматизированной системы управления напорным ящиком БДМ. Анализ напорного ящика закрытого типа.
курсовая работа [1,3 M], добавлен 27.12.2014