Автоматизированный учет дисциплинарной практики в УВД
Автоматизированный учет дисциплинарной практики в УВД
Содержание Введение 1. Постановка задачи 1.1 Организационно-экономическая сущность задачи 1.2 Структура входных и выходных данных 2. Вычислительная система 2.1 Используемые технические средства 2.2 Инструменты разработки 3. Проектирование задачи 3.1 Описание модели данных 3.2 Объектно-ориентированный анализ 3.3 Концептуальный прототип 4 Описание программы 4.1 Концептуальный прототип 4.2 Организация данных 4.3 Реализация функций 5. Тестирование 5.1 Тесты на использование 5.2 Функциональное тестирование 5.3 Полное тестирование 6. Описание применения 6.1 Требования к программному и аппаратному обеспечению компьютера 6.2 Требования к приложению 6.3 Функциональное назначение и область применения программы 6.4 Руководство пользователя Заключение Приложение Введение В современном мире огромную роль играют информационные технологии и сегодня уже не вызывает сомнения, что компьютеры будут играть важную роль в будущей цивилизации человечества. Уже сейчас их внедрение приводит к коренному изменению технологии во многих отраслях современного производства. И от того, в какой степени и как будут решены проблемы компьютеризации обучения детей и молодежи теперь, существенно зависит подготовленность подрастающего поколения к жизни в будущем обществе. Компьютер быстро вошел в нашу жизнь. Еще несколько лет назад было редкостью увидеть какой-нибудь персональный компьютер - они были, но были очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. Теперь в каждом третьем доме есть компьютер, который уже глубоко вошел в жизнь человека. Современные вычислительные машины представляют одно из самых значительных достижений человеческой мысли, влияние, которого на развитие научно-технического прогресса трудно переоценить. Области применения ЭВМ непрерывно расширяются. С помощью компьютерных систем осуществляется введение документации, обеспечивается электронная почта и связь с банками данных. Сети ЭВМ связывают разных пользователей, расположенных в одном учреждении или находящихся в различных регионах страны. В данное время существует глобальная проблема за контролем документооборота учета сотрудников в какой-либо организации. Данные могут легко уничтожиться либо потеряться, что может привести к нежелательным последствиям. Эта проблема усугубляется при коллективном использовании информации о сотрудниках, когда надо найти документы, созданные другим сотрудником, и, наконец, она становится практически невыполнимой в том случае, если документы утеряны. Огромный недостаток в бумажных носителях заключается в том, что много времени тратится на поиск необходимых для работы данных. В такой ситуации единственно правильным решением является ведение учета и хранение информации о сотрудниках с помощью ПЭВМ в Базе данных, которой в необходимости можно легко обменяться и утеря информации будет практически невозможна. Для более эффективного и полного учета состояния дисциплинарной практики в УВД Миноблисполкома мною было разработано ПС, очень удобное и легкое в применении и не требующего углубленных знаний компьютера. Данная пояснительная записка является полным описанием разработанного ПС и разбита на ряд глав по содержательному признаку. Первый раздел “Постановка задачи” исследует предметную область; определяет круг задач, которые должны быть автоматизированы или модифицированы; включает описание бизнес-процессов; определяет функциональные требования и как решается задача в настоящее время. Также первый раздел включает модель, которая отображает функциональную структуру объектов, то есть производимые ими действия и связи между этими действиями в виде диаграммы вариантов использования, диаграммы деятельности, диаграммы компонентов. Во втором разделе “Вычислительная система” находятся данные о требованиях к аппаратному обеспечению и конфигурации, операционным ресурсам, приводится характеристика оперативной системы, выбор и обоснование среды разработки приложения. В разделе “Проектирование задачи ” находятся сведения о требованиях к пользовательскому интерфейсу. Описывается структура пользовательского интерфейса - система меню, диалоговых окон и элементов управления. В разделе находятся сведения о логической и физической структуре данных в контексте среды разработки. Содержится информация о разработанных функциях, которые закреплены за определенными элементами управления, структура и описание функций пользователя в рамках среды разрабатываемого приложения. Содержится информация о взаимосвязях функций, о составе модулей и принципах объединения функций в модули. В конце раздела приводятся листинги всех модулей с комментариями и указанием элементов управления, которые инициируют их выполнение. Четвертый раздел “Описание программного средства” содержит общие сведения об обозначении и именовании приложения, программное обеспечение, необходимое для функционирования программы, принципы инсталляции программного средства. Находятся сведения о классах решаемых задач и назначение программы. Также четвертый раздел включает информацию о входных и выходных данных, их характер, организацию, формат и описание. В пятом разделе “Методика испытаний” содержаться сведения о требованиях к техническим средствам для проведения испытаний, требования к характеристикам программы применительно к условиям эксплуатации, требования к информационной и программной совместимости. Также в разделе находится информация о порядке проведения испытаний, то есть о функциональном и полном тестировании. Шестой раздел “Применение” содержит сведения о назначении программного средства, области применения, классе решаемых задач, ограничениях, накладываемых на область применения. Содержит требования к необходимым для данного программного средства техническим и программным ресурсам. В разделе находится информация о структуре и методике использования справочной системы. Приложения к пояснительной записке содержат текст программы и отчет журнала “Приложение”. В графической части проекта представлены: диаграмма вариантов использования, диаграмма классов, диаграмма последовательности и диаграмма деятельности. 1 Постановка задачи 1.1 Организационно-экономическая сущность задачи Разрабатываемый программный продукт на тему: “Автоматизация учета правонарушений в УВД Миноблисполкома”, предназначен для учета сотрудников УВД, нарушивших дисциплинарные нормы. Для конкретной постановки задачи и формулирования требований к разрабатываемому приложению требуется исследовать предметную область проекта и цели, поставленные перед проектом. Целью проекта является контроль сотрудников и принятия мер для прекращения нарушения дисциплины. Программный продукт должен обрабатывать и хранить информацию. Приложение должно выполнять необходимый поиск по заданному критерию и выводить найденную информации на печать. Проанализировав предметную область определяется круг задач, которые будут автоматизированы в разрабатываемой программе. Созданный продукт должен выполнять следующие функции: ведение учета сотрудников, поиск по заданному критерию, формирование отчетов, автоматическое снятие взыскания через год после его наложения. Разрабатываемая программа будет использоваться в УВД Миноблисполкома постоянно. Это обусловлено тем, что благодаря ей будет осуществлен контроль работников организации. Широкое применение получат функции автоматического снятия взыскания и автоматизации ввода информации. Исходя из анализа предметной области разрабатываемое приложение должно содержать: - БД сотрудников, получивших взыскания; - возможность добавления, редактирование и удаления записи; - выбор должности, звания, областей, службы и подразделения из блока; - запросы по блокам по фамилии, области, службе, подразделению, по должностям и по приказу; - отчеты по запросам с возможностью предварительного просмотра и выводом на печать; - автоматическое снятие взыскания через год; - досрочное снятие взыскания. Описание бизнес-процессов (функций) используемых в разрабатываемом продукте представлено на диаграмме вариантов использования, которая представлена в графической части на 1 листе. Основное приложение должно широко использовать технологию диалоговых окон для приведения к минимуму ошибок пользователя при работе с приложением. Приложение должно иметь хорошо развитую справочную систему. При разработке программы и построения алгоритмов для решения его задач разработчик должен соблюдать следующие правила: - структура алгоритма не должна быть слишком сложной; - алгоритмы программы должны быть легко модифицированы; - алгоритмы не должны влиять на не корректную работоспособность всей программы. В настоящее время в УВД Миноблисполкома учет сотрудников ведется в программе Excel, в которой формировать запросы, отчеты, а также снимать записи с учета необходимо вручную. В связи с этим данное ПС создавалось для улучшения оперативной работы учета сотрудников, нарушивших дисциплинарные нормы, экономии времени ведения учета, а также для автоматизации действия человека, т.е. замены ручного труда на действия с помощью ПЭВМ. В данном программном продукте планируется создавать отчеты и диаграммы по результатам дисциплины, как по УВД, так и по области в целом, вести статистику изменения показателей по сравнению с прошлым годом, все это преследует цель постоянного контроля сотрудников и принятия мер для избежания нарушения дисциплины в УВД Миноблисполкома. 1.2 Структура входных и выходных данных При проектировании модели приложения было выявлено, что наиболее предпочтительным будет хранение информации о сотрудниках в таблицах Microsoft Office Access. Данные файлы будут типизированными, то есть строго определенного типа, состоящие из записей, которые в свою очередь состоят из полей определенного типа. Количество полей и их тип определяются на этапе проектирования исходя из требований к хранимой в файлах информации. В приложении будут созданы две таблицы для хранения информации. Первый таблица будет содержать сведения о сотрудниках управления и области, а вторая информацию о снятых с учета сотрудниках. Данные таблицы будут содержать следующие поля: - ФИО; - звание; - область ил УВД; - служба; - подразделение; - должность; - взыскание; - чей приказ; - номер приказа; - дата приказа; - краткое описание проступка. В приложении “DisPract” входными данными будут являться информация о сотрудниках, в соответствии с полями таблиц. Выходными документами в данной программе являются отчёты, а также данные, отображаемые в DBGrid. По нажатию на кнопку “Отчет” или подменю “Печать” пользователь может вывести отчёт на печать или предварительно его просмотреть, пример отчета приведен на рисунке 1. В отчётах по запросам будут входить только те записи, которые удовлетворяют заданному критерию. Для создания отчетов используется технология Rave Reports, которая является авторизованным членом Комитета открытых систем и разрабатывает программное обеспечение для Delphi. В ее основе лежит идея отделения процесса разработки от процесса создания отчета за счет использования промежуточного документа, который называется проектом отчета. Проект отчета создается с помощью среды Rave (Report Authoring Visual Environment -- визуальная среда автора отчета), а в создаваемую программу внедряется так называемая машина генератора отчета, которая по данным, полученным из файла проекта, создает документ отчета. Пример отчета Рисунок - 1 2. Вычислительная система 2.1 Используемые технические средства Минимальными требованиями к аппаратному и программному обеспечению, необходимому для корректной работы программы являются: - процессор: Pentium II 400 МГц и выше; объем оперативной памяти: 32 Мбайт и выше; - операционная система: Windows 98, Windows Me, Windows XP; - свободное место на жестком диске 20 Мбайт и выше; - наличие монитора VGA с разрешением не менее 800x600 точек; - наличие манипулятора “мышь”; - CD-ROM 10х; - клавиатура IBM PC любой модификации; - принтер. 2.2 Инструменты разработки Для разработки программы разработчиком были выбраны следующие инструменты разработки: - операционная система Microsoft Windows XP Professional; - интегрированная среда Delphi 7; - пакет Rational Rose. Возможности операционной системы Windows XP Professional позволяют использовать ее как основную операционную систему для современных настольных компьютеров и компьютеров Notebook, используемых на предприятиях любого типа. При создании этой системы корпорация Майкрософт сохранила все полезные возможности Windows 98 - технологию Plug and Play, простой и понятный пользовательский интерфейс, широкие возможности управления. Кроме того, их дополнили система безопасности, средства управления и обеспечения надежности, характерные для системы Windows NT. Развертывание системы Windows XP Professional как на одном компьютере, так и в рамках всемирной сети позволяет повысить эффективность использования компьютерных технологий при одновременном снижении общей стоимости владения. Delphi - это мощная среда визуального, объектно-ориентированного программирования, позволяющая решать множество задач, в частности это комбинация нескольких важнейших технологий: - Высокопроизводительный компилятор в машинный код; - объектно-ориентированная модель компонент; - визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов; - Масштабируемые средства для построения баз данных. Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Основной упор в модели Delphi делается на максимальном использовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать. Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Данный дипломный проект был выполнен на языке программирования Borland Delphi 7.0 на основе такой технологии как ADO. Таблицы и отчеты разрабатывались в приложении Rave Reports. Для более понятного и удобного интерфейса использовались такие компоненты как DBGrid, DBedit, Dbtext. Запросы создавались с помощью компонента ADOQuery, а доступ к набору данных через ADOTable. А отчёты на основе запросов с помощью компонентов RvQueryConnection. CASE-средство Rational Rose было выбрано, так как оно позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций. Rational Rose - CASE-средство фирмы Rational Software Corporation - предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует синтез-методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (UML - Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Кроме того, Rational Rose содержит средства реинжиниринга программ, обеспечивающие повторное использование программных компонент в новых проектах. 3. Проектирование задачи 3.1 Описание модели данных Теоретической основой этой модели стала теория отношений, основу которой заложили два логика -- американец Чарльз Содерс Пирс (1839-1914) и немец Эрнст Шредер (1841-1902). В руководствах по теории отношений было показано, что множество отношений замкнуто относительно некоторых специальных операций, то есть образует вместе с этими операциями абстрактную алгебру. Это важнейшее свойство отношений было использовано в реляционной модели для разработки языка манипулирования данными, связанного с исходной алгеброй. Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал основные понятия и ограничения реляционной модели, ограничив набор операций в ней семью основными и одной дополнительной операцией. Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен престижной премии Тьюринга в области теоретических основ вычислительной техники. Основной структурой данных в модели является отношение, именно поэтому модель получила название реляционной (от английского relation -- отношение). В соответствии с наиболее распространенной трактовкой, принадлежащей К. Дейту, реляционная модель данных состоит из трех частей - структурной части, целостной части и манипуляционной. Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Определяется, что единственной структурой данных, используемой в реляционной модели, являются n-арные отношения. Целостная часть описывает ограничения специального вида, которые должны выполнять для любых отношений в любых реляционных базах данных - это целостность сущностей и целостность ссылок или внешних ключей. Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление. Данных относятся логические, строковые и численные. Однако это жесткое требование практически не накладывает никаких ограничений, поскольку трактуется следующим образом: в реляционных операциях не должна учитываться внутренняя структура данных. Тем не менее, должны быть описаны действия, которые можно производить с определенным типом данных как с единым целым. Так для данных числового типа разрешена операция сложения, для строковых же данных аналогом сложения будет операция конкатенации или присоединения. С понятием типа данных тесно связано понятие домена. Домен является семантическим понятием и рассматривается как подмножество значений некоторого типа данных, имеющих определенный смысл. Домен характеризуется следующими свойствами: - домен имеет в пределах базы данных уникальное имя; - домен определен на некотором простом типе данных или на другом домене; - домен может иметь некоторое логическое условие, позволяющее описать подмножества данных, допустимых для данного домена; - домен несет определенную смысловую нагрузку. Число атрибутов в отношении называют степенью или арностью отношения. Мощность множества кортежей отношения называют мощностью отношения. Таким образом, заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен и не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то результатом этих действий будет появление нового отношения. Тело отношения представляет собой набор кортежей, то есть подмножество декартова произведения доменов. Именно тело отношения является отношением в математическом смысле. Тело отношения может изменяться во время работы с базой данных. Реляционной базой данных называется набор отношений. Схемой реляционной базы данных называется набор заголовков входящих в неё отношений. 3.2 Объектно-ориентированный анализ Основным классом, использующемся в проекте, будет класс TForm. Данный класс будет использоваться для размещения на нем компонентов - элементов создаваемого приложения. Класс TForm будет включать следующие классы, предназначенные для создания интерфейса в программе: TLabel, TEdit, TMemo, TButton, TStringGrid и другие. Класс используется для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов. Диаграмма классов служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма может отражать различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывать их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. Диаграмма классов представлена в графической части на листе 2. Для моделирования процесса выполнения операций используются диаграмма деятельности. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, переход в следующее состояние срабатывает только при завершении этой операции. Диаграмма деятельности представлена в графической части на листе 4. Для описания реальных сущностей предназначена диаграмма компонентов. Диаграмма компонентов описывает объекты реального мира - компоненты программного обеспечения. Эта диаграмма позволяет определить архитектуру разрабатываемой системы, установив зависимости между программными компонентами, в роли которых может выступать исходный, бинарный и исполняемый код. На главной форме имеется три вкладки: на первой компонент DataSource1 типа TDataSource является промежуточным звеном между компонентом ADOQuery1 типа ADOQuery, соединенным с таблицей БД сотрудников Аппарата УВД, и визуальным компонентом DBGrid1, с помощью которого пользователь взаимодействует с этой таблицей; на второй компонент DataSource2 типа TDataSource является промежуточным звеном между компонентом ADOQuery2 типа ADOQuery, соединенным с таблицей БД сотрудников всех областей УВД и визуальным компонентом DBGrid2, с помощью которого пользователь взаимодействует с этой таблицей; на третьей компонент DataSource3 типа TDataSource является промежуточным звеном между компонентом ADOTable2 типа ADOTable, соединенным с таблицей БД сотрудников Аппарата УВД, и визуальным компонентом DBGrid3, с помощью которого пользователь взаимодействует с этой таблицей; Компоненты DBGrid1, DBGrid2, DBGrid3 отображает содержимое таблицы БД в виде сетки, в которой столбцы соответствуют полям, а строки - записям таблицы. Эти компоненты связываются со своим источниками данных через свойство DataSource. Аналогично взаимодействует DBGrid1 формы поиска данных с компонентом ADOQuery3 через DataSource4. Для компонента ADOConnection1 также с помощью свойства ConnectionString нужно установить соединение с хранилищем данных. В таблице 3.2 приведены компоненты, используемые для работы с таблицами и запросами БД, их основные свойства и значения этих свойств. Таблица 3.2 - Значения свойств компонентов |
Компонент | Свойства | Значения | | ADOConnection1 | ConnectionString | Pr.mdb | | ADOQuery1 | Connection | ADOConnection1 | | ADOQuery2 | Connection | ADOConnection1 | | ADOQuery3 | Connection | ADOConnection1 | | ADOTable2 | Connection | ADOConnection1 | | ADOTable1 | Connection | ADOConnection1 | | DataSource1 | DataSet | ADOQuery1 | | DataSource2 | DataSet | ADOQuery2 | | DataSource3 | DataSet | ADOTable2 | | DataSource4 | DataSet | ADOQuery3 | | DBGrid1 (Главная форма) | DataSource | DataSource1 | | DBGrid2 (Главная форма) | DataSource | DataSource2 | | DBGrid3 (Главная форма) | DataSource | DataSource3 | | DBGrid1 (Форма поиска данных) | DataSource | dsrType | | |
Диаграмма компонентов представлена в графической части на листе 3. 3.3 Концептуальный прототип Разработанный программный продукт “Учет дисциплинарной практики в УВД Миноблисполкома” представляет собой файл “DisPract.exe”. При двойном нажатии кнопки мыши на файл запускается файл, состоящий из главного окна, изображенного на рисунке 3.1 Рисунок 3.1 - Главное окно программы На главном окне есть три вкладки с тремя таблицами: информация о сотрудниках УВД, областных сотрудниках и сотрудниках снятых с учета. В зависимости от того, на какой вы вкладке в данный момент находитесь, с той вы будите и работать, а именно редактировать запись, удалять ее, добавлять новый, осуществлять поиски и выводить данные на печать. Для добавления нового сотрудника нужно нажать кнопку “Добавление новой записи”, находящуюся в нижней части главного окна, после чего откроется новое окно “Добавление записи”, изображенное на рисунке 3.2. Для редактирования сотрудника нужно нажать кнопку “Редактирование записи”, после чего на экране появится окно “Редактирование записи” аналогичное окну представленному на рисунке 3.2. Рисунок 3.2 - Окно “Добавление записи” Для удаления записи нажмите кнопку “Удаление записи”, после чего программа спросит о том, действительно ли вы хотите удалить запись, если вы нажмите “Ok”, то запись будет удалена. В данном программном продукте предусмотрена такая возможность как досрочное снятие. Оно предназначено для того, чтобы раньше установленного срока (равняется одному году с даты подписания приказа) снять запись с учета, после чего она будет автоматически занесена в Базу данных сотрудников снятых с учета. Если сотрудника не снимать досрочно, он будет снят через год после того, как его поставили на учет. Досрочное снятие сотрудника осуществляется двумя способами: - выбрать необходимую запись на нужной вкладке и нажать “Файл-Досрочное снятие”; - выбрать “Поиск-по фамилии”, затем ввести фамилию сотрудника, которого необходимо снять с учета и нажать кнопку “Выбрать”, после чего в новом окне нажать на кнопку “Досрочное снятие”. Далее программа откроет новое окно, где можно ввести новую дату и номер снятия приказа (рисунок 3.3). После внесения изменений нажмите на кнопку “Записать” и внесенные изменения применятся к записи и вы можете это увидеть, перейдя на третью вкладку главного окна. Рисунок 3.3 - Окно “Досрочное снятие” Данный программный продукт осуществляет поиск по фамилии, по званию, по области, по службе, по подразделения, по должности и по месту приказа. Для выполнения поиска по фамилии следует выбрать “Поиск-по фамилии”, после выбора откроется окно ( рисунок 3.4), где необходимо ввести фамилию или выбрать ее из списка. После выбора фамилии программа выдаст результата поиска в новом окне (рис. 3.5) Если ни одной записи не найдено, то программа выдаст сообщение, в котором будет сказано, что в Базе данных нет сотрудников, удовлетворяющих критерию запроса. Аналогично действуют и выше перечисленные запросы. Рис. 3.3.4 Окно “Выбор фамилии для поиска” Рис. 3.3.5 Окно “Выбор фамилии для поиска” 3.4 Функции: логическая и физическая организация и элементы управления При исследовании диаграммы вариантов использования были выявлены основные функциональные требования поставленной задачи, которые нужно было реализовать в проекте. Для реализации требований, поставленных перед автором проекта, в программе был создан ряд процедур, которые обеспечивают их корректное выполнение. Процедуры, используемые в программе, не являются встроенными в язык программирования, а реализованы автором. Многие процедуры в программе взаимосвязаны между собой. Взаимосвязь процедур используется как для возможности дальнейшей обработки уже обработанной информации другими процедурами, так и для возможности существования некоторых процедур по средствам других. Исходя из диаграммы вариантов использования, самой главной функцией в программе является ввод информации, поиск и контроль снятия взыскания. Для реализации данной функции было создано ряд процедур, которые представлены ниже: · процедура сортировки информации областников или аппарата управления и автоматическое снятие взыскания procedure TForm2.FormActivate(Sender: TObject); var k:integer; begin with datamodule4.ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select * from Pract'); sql.Add('where Rugo="Аппарат УВД"'); Open; if RecordCount <> 0 then begin datamodule4.DataSource1.DataSet :=datamodule4.adoquery1; end else begin end; end; with datamodule4.ADOQuery2 do begin Close; SQL.Clear; SQL.Add('select * from Pract'); sql.Add('where Rugo<>"Аппарат УВД"'); Open; if RecordCount <> 0 then begin datamodule4.DataSource2.DataSet :=datamodule4.adoquery2; end else begin end; end; datamodule4.ADOTable1.Open; datamodule4.ADOTable2.Open; while not datamodule4.ADOTable1.Eof do begin k:=0; if datamodule4.ADOTable1dataspr.Value<=date() then begin datamodule4.ADOTable2.Insert; datamodule4.ADOTable2['Fam']:=datamodule4.ADOTable1fam.Value; datamodule4.ADOTable2['Imia']:=datamodule4.ADOTable1imia.Value; datamodule4.ADOTable2['otc']:=datamodule4.ADOTable1otc.Value; datamodule4.ADOTable2['zvanie']:=datamodule4.ADOTable1zvanie.Value; datamodule4.ADOTable2['rugo']:=datamodule4.ADOTable1rugo.Value; datamodule4.ADOTable2['sl']:=datamodule4.ADOTable1sl.Value; datamodule4.ADOTable2['podr']:=datamodule4.ADOTable1podr.Value; datamodule4.ADOTable2['dolj']:=datamodule4.ADOTable1dolj.Value; datamodule4.ADOTable2['vzisk']:=datamodule4.ADOTable1vzisk.Value; datamodule4.ADOTable2['chpr']:=datamodule4.ADOTable1chpr.Value; datamodule4.ADOTable2['nompr']:=datamodule4.ADOTable1nompr.Value; datamodule4.ADOTable2['datapr']:=datamodule4.ADOTable1datapr.Value; datamodule4.ADOTable2['opis']:=datamodule4.ADOTable1opis.Value; datamodule4.ADOTable2['nomspr']:=datamodule4.ADOTable1nomspr.Value; datamodule4.ADOTable2['dataspr']:=datamodule4.ADOTable1dataspr.Value; datamodule4.ADOTable2.Post; datamodule4.ADOTable1.Delete; k:=1; end; datamodule4.ADOTable1.Next; if k=1 then datamodule4.ADOTable1.Prior; end; datamodule4.ADOTable1.Close; datamodule4.ADOTable2.Close; datamodule4.ADOTable2.Active:=true; end; · процедура поиска по фамилии (аналогично выполняются и другие запросы) procedure TForm2.N6Click(Sender: TObject); var fam: string[30]; begin form6.Caption:='Поиск по фамилии'; form6.bsSkinButton2.Visible:=true; if pagecontrol1.ActivePage=tabsheet1 then begin fam:=InputBox('Выборка информации из БД','Укажите фамилию, по которой необходимо выполнить поиск', ''); if fam<> '' then begin with datamodule4.ADOQuery3 do begin Close; SQL.Clear; //очищение предыдущего запроса SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1 SQL.Add('where (Fam like "'+fam+ '%") and (Rugo="Аппарат УВД")'); //выбор данных из таблицы, где Open; if RecordCount <> 0 then //чтение записей пока не дойдет до последней begin datamodule4.DataSource4.DataSet:=datamodule4.adoquery3; end else begin ShowMessage('В БД сотрудников нет записей, удовлетворяющих' + #13 + 'критерию запроса.'); exit; end; end; end; end; if pagecontrol1.ActivePage=tabsheet2 then begin fam:=InputBox('Выборка информации из БД','Укажите фамилию, по которой необходимо выполнить поиск', ''); if fam<> '' then begin with datamodule4.ADOQuery3 do begin Close; SQL.Clear; //очищение предыдущего запроса SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1 SQL.Add('where (Fam like "'+fam+ '%") and (Rugo<>"Аппарат УВД")'); //выбор данных из таблицы, где Open; if RecordCount <> 0 then //чтение записей пока не дойдет до последней begin datamodule4.DataSource4.DataSet:=datamodule4.adoquery3; end else begin ShowMessage('В БД сотрудников нет записей, удовлетворяющих' + #13 + 'критерию запроса.'); exit; end; end; end; end; if pagecontrol1.ActivePage=tabsheet3 then begin fam:=InputBox('Выборка информации из БД','Укажите фамилию, по которой необходимо выполнить поиск', ''); if fam<> '' then begin with datamodule4.ADOQuery3 do begin Close; SQL.Clear; //очищение предыдущего запроса SQL.Add('select * from SnVzisk'); //выбирает все данные из таблицы Sotr1 SQL.Add('where (Fam like "'+fam+ '%")'); //выбор данных из таблицы, где Open; if RecordCount <> 0 then //чтение записей пока не дойдет до последней begin datamodule4.DataSource4.DataSet:=datamodule4.adoquery3; end else begin ShowMessage('В БД сотрудников нет записей, удовлетворяющих' + #13 + 'критерию запроса.'); exit; end; end; end;
Страницы: 1, 2
|