Компонент
|
Свойства
|
Значения
|
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
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;
if datamodule4.ADOTable2 = nil then Exit;
if
MessageBox(0,'Вы действительно хотите удалить?','Подтверждение',
33)
<> IDOKthen Exit;
datamodule4.ADOTable2.Delete;
datamodule4.ADOTable2.Requery;
end;
end;
· процедура добавления записи
procedure TForm3.Button1Click(Sender: TObject);
var s,b:string;
a:integer;
begin
s:=datetostr(datetimepicker1.Date);
a:=strtoint(copy(s,7,4));
a:=a+1;
b:=copy(s,1,6);
s:=b+inttostr(a);
datamodule4.ADOQuery1.Insert;
datamodule4.ADOQuery1['Fam']:=edit1.Text;
datamodule4.ADOQuery1['Imia']:=edit2.Text;
datamodule4.ADOQuery1['Otc']:=edit3.Text;
datamodule4.ADOQuery1['Zvanie']:=edit4.Text;
datamodule4.ADOQuery1['Rugo']:=combobox2.Text;
datamodule4.ADOQuery1['Sl']:=edit6.Text;
datamodule4.ADOQuery1['Podr']:=edit7.Text;
datamodule4.ADOQuery1['Dolj']:=edit8.Text;
datamodule4.ADOQuery1['Vzisk']:=combobox1.Text;
datamodule4.ADOQuery1['Chpr']:=combobox3.Text;
datamodule4.ADOQuery1['Nompr']:=edit11.Text;
datamodule4.ADOQuery1['Datapr']:=datetimepicker1.Date;
datamodule4.ADOQuery1['Opis']:=edit13.Text;
datamodule4.ADOQuery1['Dataspr']:=strtodate(s);
datamodule4.ADOQuery1.Post;
form3.Hide;
end;
Полный листинг программы представлен в приложении А.
4. Описание программного средства
4.1 Общие сведения
Программное средство «Автоматизация учета правонарушений в УВД
Миноблисполкома» облегчает работу по ведению учета сотрудников УВД, нарушивших
дисциплинарные нормы. Здесь планируется создавать отчеты и диаграммы по
результатам дисциплины как по УВД так и по области в целом, вести статистику
изменения показателей по сравнению с прошлым годом, все это преследует цель
постоянного контроля сотрудников и принятия мер для прекращения нарушения
дисциплины в УВД Миноблисполкома.
При желании пользователя информация по поиску данных может быть легко
сформирован в отчет и при необходимости выведен на печать.
На компьютере, использующем разрабатываемую программу, должна быть
установлена версия ОС Windows (98, 2000, XP Home Edition, XP Professional).
Данное требование объясняется тем, что приложения созданные с помощью Delphi 7
рекомендуется использовать на компьютере, на котором установлена одна из
перечисленных ОС.
Для установки не обходимо с диска скопировать папку DisPract, а для запуска программы необходимо
запустить файл DisPract.exe. После запуска программы
пользователь может совершать необходимые операции над базой путем выбора
соответствующих пунктов меню или кнопок расположенных на форме.
Для получения информации о программе, а также помощи необходимо выбрать
соответствующие пункты меню или при нажатии на кнопку. Пункт помощь
предназначен для предоставления пользователю краткой информации об
использовании программы, а также для описания всех нюансов программы. Пункт о
программе или об авторе предназначен для предоставления пользователю информации
о назначение программы, разработчике, среде разработки, а так же адресе
электронной почты разработчика.
Для закрытия программы необходимо воспользоваться пунктом меню выход или
соответствующий кнопкой “Выход”, расположенной в любом окне программы.
4.2 Функциональное назначение
В приложении “DisPract” были
реализованы следующие функции:
· возможность добавления,
редактирование и удаления записи;
· выбор должности, звания, областей,
службы и подразделения из блока;
· запросы по блокам по фамилии, области,
службе, подразделению, по фамилии; по должностям; по приказу;
· отчеты по запросам с возможностью
предварительного просмотра и выводом на печать;
· автоматическое снятие взыскания через
год;
· досрочное снятие взыскания.
Программный продукт хранит информацию о сотрудниках в
таблицах Microsoft Office Access, это позволяет легко обмениваться данными между
различными пользователями, для это необходимо скопировать в папке DisPract файл pr.mdb.
5. Программа и методика испытаний
5.1 Цель испытаний
Отладка программы - это деятельность, направленная на обнаружение и
исправление ошибок в ПС с использованием процессов выполнения его программ. Его
цель - проверка синтаксической и логической правильности программы, а также
определение того, что программа функционирует на всем диапазоне допустимых
данных.
В процессе отладки программы выделяются этапы:
- трансляция исходного текста
программы <#"45187.files/image007.gif">
Рисунок 6.1 - Структура справочной системы
ЗАКЛЮЧЕНИЕ
Результатом данной дипломной работы было создание
автоматизированного учета правонарушений в УВД Миноблисполкома.
Данный продукт содержит информацию о сотрудниках. С
помощью него можно без проблем найти того или иного сотрудника по заданным
критериям, а также вывести эту информацию на печать.
Программа найдет широкое применение не только среди
работников отдела кадров, но и среди многих сотрудников УВД.
Разрабатываемая автоматизированная система будет
отличаться от других аналогичных программных средств тем, что она проста в
обращении, имеет удобный, а самое главное простой в использовании интерфейс.
Все основные требования, предъявляемые к программному
продукту, в полной мере реализованы в данной разработке.
ЛИТЕРАТУРА
1. Вьюкова
Н.И., Галатенко В.А., Ходулев А.Б. Систематический подход к программированию.-М.:
Наука., 1988. - 208 с.
2. Калверт
Ч. Delphi Энциклопедия пользователя: Пер. с англ./Чарлз Калверт.- ДиаСофт, К.:, 2000.
3. Коннолли
Т., Бегг К., Страчан А. Базы данных: Проектирование, реализация и
сопровождение. Теория и практика. Издание второе, исправленное, дополненное. -
Издательство “Питер”, Санкт-Петербург - 2002г.
4. Культин
Н.Б. Delphi в задачах и примерах. - БХВ-Петербург, СПб., 2004. - 288 с.: ил.
5. Офицеров
Д.В. и др. Программирование на персональных ЭВМ: Практикум: Учеб. пособие. -
Мн.: Выш.шк., 1993. -256 с.
6. Пономаренко
Сергей. Базы данных в Delphi 7. Самоучитель. - Издательство «Питер»,
Санкт-Петербург - 2003 г.
7. Форонов
В.В. Программирование баз данных в Delphi 7. Учебный курс.-СПб.: Питер,
2006.-459 с.: ил.
ПРИЛОЖЕНИЕ А
(обязательное)
Текст программы
unit Unit1;
//загрузочная форма
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
ProgressBar1: TProgressBar;
procedure Timer1Timer(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
i,k:Integer;
begin
k:=250;
timer1.Enabled:=true;
for i:=0 to 60 do
begin
ProgressBar1.Position:=ProgressBar1.Position+2;
Sleep(30);
if i mod 10=0 then begin
k:=k-30;
form1.AlphaBlendValue:=k;
end;
end;
ProgressBar1.Position:=0;
form2.Show;
form1.Hide;
timer1.Enabled:=false;
form2.PageControl1.ActivePage:=form2.TabSheet1;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
timer1.Enabled:=true;
end;
end.
unit Unit2;//главная
форма отображения информации
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, Menus,
bsSkinCtrls,
bsSkinData, BusinessSkinForm,ShellAPI;
type
TForm2 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
TabSheet3: TTabSheet;
DBGrid3: TDBGrid;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
bsSkinButton4: TbsSkinButton;
bsSkinMainMenu1: TbsSkinMainMenu;
bsSkinMainMenuBar1: TbsSkinMainMenuBar;
N12: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N31: TMenuItem;
N32: TMenuItem;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
procedure bsSkinButton4Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure N32Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N29Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9,
Unit10,
Unit11, Unit12, Unit13, Unit14, Unit15;
{$R *.dfm}
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Form1.close;
form2.Close;
form3.Close;
form5.Close;
form6.Close;
form7.Close;
form8.Close;
form9.Close;
form10.Close;
form11.close;
form12.close;
form13.close;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
form3.Show;
end;
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.BitBtn3Click(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 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.BitBtn4Click(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;
if datamodule4.ADOTable2 = nil then Exit;
if
MessageBox(0,'Вы действительно хотите удалить?','Подтверждение',
33)
<> IDOKthen Exit;
datamodule4.ADOTable2.Delete;
datamodule4.ADOTable2.Requery;
end;
end;
procedure TForm2.N3Click(Sender: TObject);
begin
form1.Close;
form2.Close;
form3.Close;
form5.Close;
form6.Close;
form7.Close;
form8.Close;
form9.Close;
form10.Close;
form11.Close;
form12.Close;
form13.Close;
end;
procedure TForm2.N7Click(Sender: TObject);
begin
form6.Caption:='Поиск по званию';
form8.Show;
end;
procedure TForm2.N8Click(Sender: TObject);
begin
form6.Caption:='Поиск по области';
form9.show;
end;
procedure TForm2.N9Click(Sender: TObject);
begin
form6.Caption:='Поиск по службе';
form10.show;
end;
procedure TForm2.N10Click(Sender: TObject);
begin
form6.Caption:='Поиск по подразделению';
form11.show;
end;
procedure TForm2.N11Click(Sender: TObject);
begin
form6.Caption:='Поиск по должности';
form12.show;
end;
procedure TForm2.N13Click(Sender: TObject);
begin
form6.Caption:='Поиск по месту приказа';
form13.show;
end;
procedure TForm2.bsSkinButton1Click(Sender: TObject);
begin
Form1.close;
form2.Close;
form3.Close;
form5.Close;
form6.Close;
form7.Close;
form8.Close;
form9.Close;
form10.Close;
form11.close;
form12.close;
form13.close;
form14.Close;
form15.Close;
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;
if datamodule4.ADOTable2 = nil then Exit;
if
MessageBox(0,'Вы действительно хотите удалить?','Подтверждение',
33)
<> IDOKthen Exit;
datamodule4.ADOTable2.Delete;
datamodule4.ADOTable2.Requery;
end;
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.bsSkinButton4Click(Sender: TObject);
begin
form3.Show;
end;
procedure TForm2.N20Click(Sender: TObject);
begin
form1.Close;
form2.Close;
form3.Close;
form5.Close;
form6.Close;
form7.Close;
form8.Close;
form9.Close;
form10.Close;
form11.Close;
form12.Close;
form13.Close;
form14.Close;
form15.Close;
end;
procedure TForm2.N22Click(Sender: TObject);
begin
form6.Caption:='Поиск по фамилии';
form6.bsSkinButton2.Visible:=true;
form14.show;
end;
procedure TForm2.N23Click(Sender: TObject);
begin
form6.Caption:='Поиск по званию';
form8.Show;
end;
procedure TForm2.N24Click(Sender: TObject);
begin
form6.Caption:='Поиск по области';
form9.show;
end;
procedure TForm2.N25Click(Sender: TObject);
begin
form6.Caption:='Поиск по службе';
form10.show;
end;
procedure TForm2.N26Click(Sender: TObject);
begin
form6.Caption:='Поиск по подразделению';
form11.show;
end;
procedure TForm2.N32Click(Sender: TObject);
begin
form6.Caption:='Поиск по должности';
form12.show;
end;
procedure TForm2.N27Click(Sender: TObject);
begin
form6.Caption:='Поиск по месту приказа';
form13.show;
end;
procedure TForm2.N17Click(Sender: TObject);
begin
if pagecontrol1.ActivePage=tabsheet1 then begin
form7.DataSource1.DataSet:=datamodule4.ADOQuery1;
form7.Show;
end;
if pagecontrol1.ActivePage=tabsheet2 then begin
form7.DataSource1.DataSet:=datamodule4.ADOQuery2;
form7.Show;
end;
if pagecontrol1.ActivePage=tabsheet3 then begin
form7.DataSource1.DataSet:=datamodule4.ADOTable2;
form7.Show;
end;
end;
procedure TForm2.N31Click(Sender: TObject);
begin
form15.show;
end;
procedure TForm2.N18Click(Sender: TObject);
begin
if pagecontrol1.ActivePage=tabsheet1 then
datamodule4.RvProject1.Execute;
if pagecontrol1.ActivePage=tabsheet2 then
datamodule4.RvProject2.Execute;
end;
procedure TForm2.N29Click(Sender: TObject);
begin
shellExeCute(handle,nil,'Справка.chm',nil,nil,sw_restore);
end;
end.
unit Unit3; //форма
добавления записи
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, Menus, StdCtrls, Buttons, ComCtrls, bsSkinCtrls,
bsSkinData,
BusinessSkinForm, bsdbctrls, Mask, bsSkinBoxCtrls;
type
TForm3 = class(TForm)
Label2: TLabel;
Label3: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Edit11: TEdit;
Edit13: TEdit;
Edit4: TEdit;
PopupMenu1: TPopupMenu;
N1,N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14,
N15, N16, N17, N18, N19,N20: TMenuItem;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
PopupMenu2: TPopupMenu;
N21,N22,N23,N24,N25, N26, N27, N28, N29,
N30,N31,N32,N33,N34,N35,N36,N37,N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,
N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,N59,N60,N61: TMenuItem;
DateTimePicker1: TDateTimePicker;
ComboBox3: TComboBox;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Edit6: TEdit;
Label5: TLabel;
Edit7: TEdit;
Label6: TLabel;
Edit8: TEdit;
bsSkinButton2: TbsSkinButton;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit4;
{$R *.dfm}
procedure TForm3.N2Click(Sender: TObject);
begin
edit4.Text:='рядовой милиции';
end;
procedure TForm3.N3Click(Sender: TObject);
begin
edit4.Text:='младший сержант милиции';
end;
procedure TForm3.N4Click(Sender: TObject);
begin
edit4.Text:='сержант
';
end;
procedure TForm3.N5Click(Sender: TObject);
begin
edit4.Text:='старший сержат';
end;
procedure TForm3.N6Click(Sender: TObject);
begin
edit4.Text:='старшина милиции';
end;
procedure TForm3.N7Click(Sender: TObject);
begin
edit4.Text:='прапорщик';
end;
procedure TForm3.N8Click(Sender: TObject);
begin
edit4.Text:='старший прапорщик';
end;
procedure TForm3.N10Click(Sender: TObject);
begin
edit4.Text:='младший лейтенант милиции';
end;
……….
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
form3.Hide;
end;
procedure TForm3.Button1Click(Sender: TObject);
var s,b:string;
a:integer;
begin
s:=datetostr(datetimepicker1.Date);
a:=strtoint(copy(s,7,4));
a:=a+1;
b:=copy(s,1,6);
s:=b+inttostr(a);
datamodule4.ADOQuery1.Insert;
datamodule4.ADOQuery1['Fam']:=edit1.Text;
datamodule4.ADOQuery1['Otc']:=edit3.Text;
datamodule4.ADOQuery1['Zvanie']:=edit4.Text;
datamodule4.ADOQuery1['Rugo']:=combobox2.Text;
datamodule4.ADOQuery1['Sl']:=edit6.Text;
datamodule4.ADOQuery1['Podr']:=edit7.Text;
datamodule4.ADOQuery1['Dolj']:=edit8.Text;
datamodule4.ADOQuery1['Vzisk']:=combobox1.Text;
datamodule4.ADOQuery1['Chpr']:=combobox3.Text;
datamodule4.ADOQuery1['Nompr']:=edit11.Text;
datamodule4.ADOQuery1['Datapr']:=datetimepicker1.Date;
datamodule4.ADOQuery1['Opis']:=edit13.Text;
datamodule4.ADOQuery1['Dataspr']:=strtodate(s);
datamodule4.ADOQuery1.Post;
form3.Hide;
end;
procedure TForm3.FormActivate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
combobox1.Text:='';
edit6.Text:='';
combobox2.Text:='';
edit7.Text:='';
edit8.Text:='';
combobox3.Text:='';
edit11.Text:='';
datetimepicker1.Date:=date();
edit13.Text:='';
end;
procedure TForm3.bsSkinButton1Click(Sender: TObject);
var s,b:string;
a:integer;
begin
if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or
(combobox2.Text='') or (combobox3.Text='') then
begin
ShowMessage('Введите все обязательные' +#13 + 'поля');
exit;
end
else begin
s:=datetostr(datetimepicker1.Date);
a:=strtoint(copy(s,7,4));
a:=a+1;
b:=copy(s,1,6);
s:=b+inttostr(a);
datamodule4.ADOQuery1.Insert;
datamodule4.ADOQuery1['Fam']:=edit1.Text;
datamodule4.ADOQuery1['Imia']:=edit2.Text;
datamodule4.ADOQuery1['Otc']:=edit3.Text;
datamodule4.ADOQuery1['Zvanie']:=edit4.Text;
datamodule4.ADOQuery1['Rugo']:=combobox2.Text;
datamodule4.ADOQuery1['Sl']:=edit6.Text;
datamodule4.ADOQuery1['Podr']:=edit7.Text;
datamodule4.ADOQuery1['Dolj']:=edit8.Text;
datamodule4.ADOQuery1['Vzisk']:=combobox1.Text;
datamodule4.ADOQuery1['Chpr']:=combobox3.Text;
datamodule4.ADOQuery1['Nompr']:=edit11.Text;
datamodule4.ADOQuery1['Datapr']:=datetimepicker1.Date;
datamodule4.ADOQuery1['Opis']:=edit13.Text;
datamodule4.ADOQuery1['Dataspr']:=strtodate(s);
datamodule4.ADOQuery1.Post;
form3.Hide;
end;
end;
procedure TForm3.bsSkinButton2Click(Sender: TObject);
begin
form3.Hide;
end;
end.
unit Unit4; //модуль
компонент
interface
uses
SysUtils, Classes, DB, ADODB, RpBase, RpSystem, RpRave,
RpDefine, RpCon,
RpConDS;
type
TDataModule4 = class(TDataModule)
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource3: TDataSource;
ADOQuery1Fam: TWideStringField;
ADOQuery1Imia: TWideStringField;
ADOQuery1Otc: TWideStringField;
ADOQuery1Zvanie: TWideStringField;
ADOQuery1Rugo: TWideStringField;
ADOQuery1Sl: TWideStringField;
ADOQuery1Podr: TWideStringField;
ADOQuery1Dolj: TWideStringField;
ADOQuery1Vzisk: TWideStringField;
ADOQuery1Chpr: TWideStringField;
ADOQuery1Nompr: TWideStringField;
ADOQuery1Datapr: TDateTimeField;
ADOQuery1Opis: TWideStringField;
ADOQuery1Nomspr: TWideStringField;
ADOQuery1Dataspr: TDateTimeField;
ADOQuery2Fam: TWideStringField;
ADOQuery2Imia: TWideStringField;
ADOQuery2Otc: TWideStringField;
ADOQuery2Zvanie: TWideStringField;
ADOQuery2Rugo: TWideStringField;
ADOQuery2Sl: TWideStringField;
ADOQuery2Podr: TWideStringField;
ADOQuery2Dolj: TWideStringField;
ADOQuery2Vzisk: TWideStringField;
ADOQuery2Chpr: TWideStringField;
ADOQuery2Nompr: TWideStringField;
ADOQuery2Datapr: TDateTimeField;
ADOQuery2Opis: TWideStringField;
ADOQuery2Nomspr: TWideStringField;
ADOQuery2Dataspr: TDateTimeField;
ADOTable1Fam: TWideStringField;
ADOTable1Imia: TWideStringField;
ADOTable1Otc: TWideStringField;
ADOTable1Zvanie: TWideStringField;
ADOTable1Rugo: TWideStringField;
ADOTable1Sl: TWideStringField;
ADOTable1Podr: TWideStringField;
ADOTable1Dolj: TWideStringField;
ADOTable1Vzisk: TWideStringField;
ADOTable1Chpr: TWideStringField;
ADOTable1Nompr: TWideStringField;
ADOTable1Datapr: TDateTimeField;
ADOTable1Opis: TWideStringField;
ADOTable1Nomspr: TWideStringField;
ADOTable1Dataspr: TDateTimeField;
ADOQuery3: TADOQuery;
DataSource4: TDataSource;
ADOTable2: TADOTable;
ADOTable2Fam: TWideStringField;
ADOTable2Imia: TWideStringField;
ADOTable2Otc: TWideStringField;
ADOTable2Zvanie: TWideStringField;
ADOTable2Rugo: TWideStringField;
ADOTable2Sl: TWideStringField;
ADOTable2Podr: TWideStringField;
ADOTable2Dolj: TWideStringField;
ADOTable2Vzisk: TWideStringField;
ADOTable2Chpr: TWideStringField;
ADOTable2Nompr: TWideStringField;
ADOTable2Datapr: TDateTimeField;
ADOTable2Opis: TWideStringField;
ADOTable2Nomspr: TWideStringField;
ADOTable2Dataspr: TDateTimeField;
RvDataSetConnection1: TRvDataSetConnection;
RvProject1: TRvProject;
RvSystem1: TRvSystem;
RvDataSetConnection2: TRvDataSetConnection;
RvProject2: TRvProject;
RvProject3: TRvProject;
RvDataSetConnection3: TRvDataSetConnection;
ADOQuery4: TADOQuery;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule4: TDataModule4;
implementation
{$R *.dfm}
end.
unit Unit5; //форма
редактирования записи
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, DB, StdCtrls, DBCtrls, ComCtrls, Mask, Buttons,
Menus,
bsSkinData, BusinessSkinForm, bsSkinCtrls;
type
TForm5 = class(TForm)
Label2: TLabel;
Label3: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
DateTimePicker1: TDateTimePicker;
DBEdit4: TDBEdit;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DataSource1: TDataSource;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
Label1: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit5: TDBEdit;
Label5: TLabel;
DBEdit6: TDBEdit;
Label6: TLabel;
DBEdit7: TDBEdit;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
DBComboBox3: TDBComboBox;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit4;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldValues['Datapr']:=DateTimePicker1.Date;
DataSource1.DataSet.Post;
form5.Hide;
end;
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
form5.Hide;
end;
procedure TForm5.bsSkinButton1Click(Sender: TObject);
var s,b:string;
a:integer;
begin
s:=datetostr(datetimepicker1.Date);
a:=strtoint(copy(s,7,4));
a:=a+1;
b:=copy(s,1,6);
s:=b+inttostr(a);
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldValues['Datapr']:=DateTimePicker1.Date;
DataSource1.DataSet.FieldValues['Dataspr']:=strtodate(s);
DataSource1.DataSet.Post;
form5.Hide;
end;
procedure TForm5.bsSkinButton2Click(Sender: TObject);
begin
form5.Hide;
end;
end.
unit Unit6; //форма
отображения найденной информации
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, bsSkinCtrls,
bsSkinData,
BusinessSkinForm;
type
TForm6 = class(TForm)
DBGrid1: TDBGrid;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
bsSkinButton3: TbsSkinButton;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
procedure bsSkinButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit4, Unit2, Unit1, Unit3, Unit5, Unit7;
{$R *.dfm}
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
dbgrid1.Columns[0].Visible:=true;
dbgrid1.Columns[1].Visible:=true;
dbgrid1.Columns[2].Visible:=true;
dbgrid1.Columns[3].Visible:=true;
dbgrid1.Columns[4].Visible:=true;
dbgrid1.Columns[5].Visible:=true;
dbgrid1.Columns[6].Visible:=true;
dbgrid1.Columns[7].Visible:=true;
dbgrid1.Columns[8].Visible:=true;
dbgrid1.Columns[9].Visible:=true;
dbgrid1.Columns[10].Visible:=true;
dbgrid1.Columns[11].Visible:=true;
dbgrid1.Columns[12].Visible:=true;
form2.show;
form6.Hide;
form6.bsSkinButton2.Visible:=false;
end;
procedure TForm6.BitBtn2Click(Sender: TObject);
begin
form7.DataSource1.DataSet:=datamodule4.ADOQuery3;
form7.Show;
end;
procedure TForm6.bsSkinButton1Click(Sender: TObject);
begin
dbgrid1.Columns[0].Visible:=true;
dbgrid1.Columns[1].Visible:=true;
dbgrid1.Columns[2].Visible:=true;
dbgrid1.Columns[3].Visible:=true;
dbgrid1.Columns[4].Visible:=true;
dbgrid1.Columns[5].Visible:=true;
dbgrid1.Columns[6].Visible:=true;
dbgrid1.Columns[7].Visible:=true;
dbgrid1.Columns[8].Visible:=true;
dbgrid1.Columns[9].Visible:=true;
dbgrid1.Columns[10].Visible:=true;
dbgrid1.Columns[11].Visible:=true;
dbgrid1.Columns[12].Visible:=true;
form2.show;
form6.Hide;
form6.bsSkinButton2.Visible:=false;
end;
procedure TForm6.bsSkinButton2Click(Sender: TObject);
begin
form7.DataSource1.DataSet:=datamodule4.ADOQuery3;
form7.Show;
end;
procedure TForm6.bsSkinButton3Click(Sender: TObject);
begin
datamodule4.RvProject3.Execute;
end;
end.
unit Unit7; //форма
досрочного снятия сотрудника
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, ComCtrls, bsSkinCtrls,
bsSkinData,
BusinessSkinForm;
type
TForm7 = class(TForm)
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DataSource1: TDataSource;
Edit1: TEdit;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsBusinessSkinForm2: TbsBusinessSkinForm;
bsSkinData2: TbsSkinData;
bsCompressedStoredSkin2: TbsCompressedStoredSkin;
bsBusinessSkinForm3: TbsBusinessSkinForm;
bsSkinData3: TbsSkinData;
bsCompressedStoredSkin3: TbsCompressedStoredSkin;
bsBusinessSkinForm4: TbsBusinessSkinForm;
bsSkinData4: TbsSkinData;
bsCompressedStoredSkin4: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses Unit4, Unit6, Unit5;
{$R *.dfm}
procedure TForm7.Button2Click(Sender: TObject);
begin
form6.show;
form7.Hide;
end;
procedure TForm7.Button1Click(Sender: TObject);
begin
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldValues['Nomspr']:=edit1.Text;
DataSource1.DataSet.FieldValues['Dataspr']:=DateTimePicker1.Date;
DataSource1.DataSet.Post;
form7.Hide;
end;
procedure TForm7.bsSkinButton1Click(Sender: TObject);
begin
DataSource1.DataSet.Edit;
DataSource1.DataSet.FieldValues['Nomspr']:=edit1.Text;
DataSource1.DataSet.FieldValues['Dataspr']:=DateTimePicker1.Date;
DataSource1.DataSet.Post;
form7.Hide;
end;
procedure TForm7.bsSkinButton2Click(Sender: TObject);
begin
form7.Hide;
end;
end.
unit Unit8; //Поиск по
званию (аналогично Unit9-по области; Unit10-по службе; Unit11-по подразделению; Unit12-по должности; Unit13-по месту приказа; Unit14-по фамилии)
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls, bsSkinCtrls, bsSkinData,
BusinessSkinForm;
type
TForm8 = class(TForm)
ComboBox1: TComboBox;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
bsSkinButton2: TbsSkinButton;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure bsSkinButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit6, Unit4, Unit2, Unit3;
{$R *.dfm}
procedure TForm8.Button1Click(Sender: TObject);
var zv: string[30];
begin
form8.Hide;
form6.Caption:='Поиск по званию';
zv:=form8.ComboBox1.Text;
if Form2.PageControl1.ActivePage=form2.tabsheet1 then begin
if zv<> '' then
begin
with datamodule4.ADOQuery3 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (Zvanie like "'+zv+ '%") and
(Rugo="Аппарат УВД")'); //выбор данных из таблицы, где
Open;
if RecordCount <> 0 then //чтение записей пока не дойдет до
последней
begin
datamodule4.DataSource4.DataSet:=datamodule4.adoquery3;
end
else
begin
ShowMessage('В БД сотрудников нет записей, удовлетворяющих' +
#13 + 'критерию запроса.'); exit;
end;
end;
end;
end;
if form2.PageControl1.ActivePage=form2.tabsheet2 then begin
if zv<> '' then
begin
with datamodule4.ADOQuery3 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (Zvanie like "'+zv+ '%") and
(Rugo<>"Аппарат УВД")'); //выбор данных
Open;
if RecordCount <> 0 then //чтение записей пока не дойдет до
последней
begin
datamodule4.DataSource4.DataSet:=datamodule4.adoquery3;
end
else
begin
ShowMessage('В БД сотрудников нет записей, удовлетворяющих' +
#13 + 'критерию запроса.'); exit;
end;
end;
end;
end;
if form2.pagecontrol1.ActivePage=form2.tabsheet3 then begin
if zv<> '' then
begin
with datamodule4.ADOQuery3 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from SnVzisk'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (zvanie like "'+zv+ '%")'); //выбор данных из
таблицы, где
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 TForm8.FormActivate(Sender: TObject);
begin
combobox1.Text:='';
end;
procedure TForm8.bsSkinButton1Click(Sender: TObject);
var zv: string[30];
begin
form8.Hide;
form6.Caption:='Поиск по званию';
zv:=form8.ComboBox1.Text;
if Form2.PageControl1.ActivePage=form2.tabsheet1 then begin
if zv<> '' then
begin
form6.Show;
form6.bsSkinButton3.Visible:=true;
with datamodule4.ADOQuery4 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (Zvanie like "'+zv+ '%") and
(Rugo="Аппарат УВД")'); //выбор данных
Open;
if RecordCount <> 0 then //чтение записей пока не дойдет до
последней
begin
datamodule4.DataSource4.DataSet:=datamodule4.adoquery4;
end
else
begin
form6.hide;
ShowMessage('В
БД сотрудников нет записей, удовлетворяющих' +
#13 + 'критерию запроса.'); exit;
end;
end;
end;
end;
if form2.PageControl1.ActivePage=form2.tabsheet2 then begin
if zv<> '' then
begin
form6.Show;
form6.bsSkinButton3.Visible:=true;
with datamodule4.ADOQuery4 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from Pract'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (Zvanie like "'+zv+ '%") and
(Rugo<>"Аппарат УВД")'); //выбор данных
Open;
if RecordCount <> 0 then //чтение записей пока не дойдет до
последней
begin
datamodule4.DataSource4.DataSet:=datamodule4.adoquery4;
end
else
begin
form6.hide;
ShowMessage('В
БД сотрудников нет записей, удовлетворяющих' +
#13 + 'критерию запроса.'); exit;
end;
end;
end;
end;
if form2.pagecontrol1.ActivePage=form2.tabsheet3 then begin
if zv<> '' then
begin
form6.Show;
form6.bsSkinButton3.Visible:=false;
with datamodule4.ADOQuery3 do begin
Close;
SQL.Clear; //очищение предыдущего запроса
SQL.Add('select * from SnVzisk'); //выбирает все данные из таблицы Sotr1
SQL.Add('where (zvanie like "'+zv+ '%")'); //выбор данных
Open;
if RecordCount <> 0 then //чтение записей пока не дойдет до
последней
begin
datamodule4.DataSource4.DataSet:=datamodule4.adoquery3;
end
else
begin
form6.hide;
ShowMessage('В
БД сотрудников нет записей, удовлетворяющих' +
#13 + 'критерию запроса.'); exit;
end;
end;
end;
end;
end;
procedure TForm8.bsSkinButton2Click(Sender: TObject);
begin
form8.Hide;
end;
end.
unit Unit15; //форма
информации о программе
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, bsSkinCtrls, bsSkinData,
BusinessSkinForm;
type
TForm15 = class(TForm)
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
bsSkinButton1: TbsSkinButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure bsSkinButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
implementation
{$R *.dfm}
procedure TForm15.bsSkinButton1Click(Sender: TObject);
begin
form15.Hide;
end;
end.