на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Автоматизированный учет дисциплинарной практики в УВД
p align="left">

Диаграмма компонентов представлена в графической части на листе 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;

end;

form6.Show;

end;

· процедура редактирования записи

procedure TForm2.bsSkinButton3Click(Sender: TObject);

begin

if pagecontrol1.ActivePage=tabsheet1 then begin

if datamodule4.ADOQuery1.IsEmpty then exit;

form5.Show;

form5.DataSource1.DataSet:=datamodule4.ADOQuery1;

form5.DateTimePicker1.Date:=datamodule4.ADOQuery1Datapr.Value;

end;

if pagecontrol1.ActivePage=tabsheet2 then begin

if datamodule4.ADOQuery2.IsEmpty then exit;

form5.Show;

form5.DataSource1.DataSet:=datamodule4.ADOQuery2;

form5.DateTimePicker1.Date:=datamodule4.ADOQuery2Datapr.Value;

end;

if pagecontrol1.ActivePage=tabsheet3 then begin

if datamodule4.ADOtable2.IsEmpty then exit;

form5.Show;

form5.DataSource1.DataSet:=datamodule4.ADOTable2;

form5.DateTimePicker1.Date:=datamodule4.ADOTable2Datapr.Value;

end;

end;

· процедура удаления записи

procedure TForm2.bsSkinButton2Click(Sender: TObject);

begin

if pagecontrol1.ActivePage=tabsheet1 then begin

if datamodule4.ADOQuery1.IsEmpty then exit;

if datamodule4.ADOQuery1 = nil then Exit;

if MessageBox(0,'Вы действительно хотите удалить?','Подтверждение',

33) <> IDOKthen Exit;

datamodule4.ADOQuery1.Delete;

datamodule4.ADOQuery1.Requery;

end;

if pagecontrol1.ActivePage=tabsheet2 then begin

if datamodule4.ADOQuery2.IsEmpty then exit;

if datamodule4.ADOQuery2 = nil then Exit;

if MessageBox(0,'Вы действительно хотите удалить?','Подтверждение',

33) <> IDOKthen Exit;

datamodule4.ADOQuery2.Delete;

datamodule4.ADOQuery2.Requery;

end;

if pagecontrol1.ActivePage=tabsheet3 then begin

if datamodule4.ADOTable2.IsEmpty then exit;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.