Приложение А (1230876), страница 3
Текст из файла (страница 3)
Y: Integer);
begin
label5.Width:=220;
Label5.Height:=55;
Label5.Caption:='Занесите данные в поля "ФИО" и "Пароль", выберите должность, группу и нажмите кнопку "Добавить"';
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
if (Edit1.Text='') or (Edit2.Text='') or (CB1.ItemIndex=-1) or (Cb2.ItemIndex=-1)then
begin
if ((Edit1.Text<>'') and (Edit2.Text<>'') and (CB1.Text='Начальник отдела')) then
begin
EditSotr(nil);
CB2.Enabled:=true;
end
else
Messagedlg('Введены не все данные для изменения выбранной записи', mtInformation,[mbOk],1);
end
else
begin
EditSotr(nil);
end;
end;
procedure TForm6.Button2MouseLeave(Sender: TObject);
begin
Label5.Caption:='';
end;
procedure TForm6.Button2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label5.Width:=220;
Label5.Height:=55;
Label5.Caption:='Выберите запись для изменения, занесите данные в поля "ФИО" и "Пароль", выберите должность, группу и нажмите кнопку "Изменить"';
end;
procedure TForm6.Button3Click(Sender: TObject);
var i:integer;
begin
i:=MessageDlg('Вы действительно хотите удалить текущую запись?',mtConfirmation,[mbYes,mbNo],2);
if i=mrYes then
begin
DM.DS_SOTR.Delete;
DM.DS_SOTR.Close;
DM.DS_SOTR.Open;
end;
end;
procedure TForm6.Button3MouseLeave(Sender: TObject);
begin
Label5.Caption:='';
end;
procedure TForm6.Button3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label5.Width:=220;
Label5.Height:=55;
Label5.Caption:='Выберите нужную запись и нажмите кнопку "Удалить"';
end;
procedure TForm6.CB1Select(Sender: TObject);
begin
DM.DS_DLJN.Open;
Dm.DS_DLJN.First;
while CB1.Items.Strings[CB1.ItemIndex]<>DM.DS_DLJN.FBN('NAME_DOLJN').AsString do
begin
DM.DS_DLJN.Next;
end;
DOLJN:=DM.DS_DLJN.FBN('ID_DOLJN').AsInteger;
DM.DS_DLJN.Close;
if CB1.Text='Начальник отдела' then
begin
CB2.Enabled:=false;
CB2.ItemIndex:=-1;
GROUP:=0;
end
else CB2.Enabled:=true;
end;
procedure TForm6.CB2Select(Sender: TObject);
begin
GROUP:=CB2.ItemIndex+1;
end;
procedure TForm6.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Ord(key) >= $401) and (Ord(key) <= $451) or (Ord(key)=$20) or (Key=#08) then
begin end
else key:=#0;
end;
procedure TForm6.FormActivate(Sender: TObject);
begin
DM.DS_SOTR.Open;
CB1.Clear;
CB2.Clear;
DM.DS_DLJN.Open;
DM.DS_DLJN.First;
while NOT DM.DS_DLJN.Eof do
begin
CB1.Items.Add(DM.DS_DLJN.FBN('NAME_DOLJN').AsString);
DM.DS_DLJN.Next;
end;
DM.DS_GROUP.Open;
DM.DS_GROUP.First;
while NOT DM.DS_GRoup.Eof do
begin
CB2.Items.Add(DM.DS_GRoup.FBN('NAME_GROUP').AsString);
DM.DS_GRoup.Next;
end;
end;
end.
Листинг кода программы, отвечающего за работу в окне "Список должностей":
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls;
type
TForm7 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses unit2;
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
begin
if Edit1.Text='' then
MEssageDlg('Введите название должности',mtInformation,[mbOk],1)
else
begin
DM.DS_DLJN.Last;
DM.DS_DLJN.Insert;
DM.DS_DLJN.FBN('NAME_DOLJN').AsString:=Edit1.text;
DM.DS_DLJN.Post;
DM.DS_DLJN.Close;
DM.DS_DLJN.open;
DM.DS_DLJN.First;
Edit1.Text:='';
end;
end;
procedure TForm7.Button2Click(Sender: TObject);
var i:integer;
begin
i:=MessageDlg('Вы действительно хотите удалить текущую запись?',mtConfirmation,[mbYes,mbNo],2);
if i=mrYes then
begin
DM.DS_DLJN.Delete;
DM.DS_DLJN.Close;
DM.DS_DLJN.Open;
end;
end;
procedure TForm7.FormActivate(Sender: TObject);
begin
DM.DS_DLJN.Open;
DM.DS_DLJN.First;
end;
end.
Листинг кода программы, отвечающего за работу в окне "Список объектов":
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids;
type
TForm9 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
Label1: TLabel;
RB1: TRadioButton;
RB2: TRadioButton;
Edit1: TEdit;
Label2: TLabel;
Button3: TButton;
procedure RB1Click(Sender: TObject);
procedure RB2Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses unit2;
{$R *.dfm}
procedure TForm9.Button1Click(Sender: TObject);
begin
if (Edit1.Text='') or (Memo1.Text='') then
Messagedlg('Введите шифр или титул', mtInformation,[mbOk],1)
else
begin
DM.DS_OBJ.Last;
DM.DS_OBJ.Insert;
DM.DS_OBJ.FBN('SHIFR_').AsString:=Edit1.Text;
DM.DS_OBJ.FBN('TITUL_').AsString:=Memo1.Text;
DM.DS_OBJ.Post;
DM.DB.DefaultTransaction.CommitRetaining;
DM.DS_OBJ.Close;
Dm.DS_OBJ.Open;
Edit1.Clear;
Memo1.Clear;
end;
end;
procedure TForm9.Button2Click(Sender: TObject);
var i:integer;
begin
i:=MessageDlg('Вы действительно хотите удалить текущую запись?',mtConfirmation,[mbYes,mbNo],2);
if i=mrYes then
begin
DM.DS_OBJ.Delete;
DM.DS_OBJ.Close;
DM.DS_OBJ.Open;
end;
end;
procedure TForm9.Button3Click(Sender: TObject);
begin
DM.DS_OBJ.Edit;
DM.DS_OBJ.FBN('SHIFR_').AsString:=EDit1.Text;
DM.DS_OBJ.FBN('TITUL_').AsString:=Memo1.Text;
DM.DS_OBJ.Post;
DM.DB.DefaultTransaction.CommitRetaining;
DM.DS_OBJ.Close;
DM.DS_OBJ.Open;
end;
procedure TForm9.DBGrid1CellClick(Column: TColumn);
begin
memo1.Text:=DM.DS_OBJ.FBN('TITUL_').AsString;
Edit1.Text:=DM.DS_OBJ.FBN('SHIFR_').AsString;
end;
procedure TForm9.RB1Click(Sender: TObject);
begin
if Rb1.Checked then
begin
Button1.Enabled:=false;
Button2.Enabled:=false;
Memo1.ReadOnly:=true;
end;
end;
procedure TForm9.RB2Click(Sender: TObject);
begin
if Rb2.Checked then
begin
Button1.Enabled:=true;
Button2.Enabled:=true;
Memo1.Clear;
Edit1.Clear;
Memo1.ReadOnly:=false;
end;
end;
end.
Листинг кода программы, отвечающего за работу АРМа инженера:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls,DB;
type
TForm1 = class(TForm)
Label1: TLabel;
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
CB1: TComboBox;
CB2: TComboBox;
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
Memo3: TMemo;
RB1: TRadioButton;
RB2: TRadioButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure CB1Select(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
procedure RB1Click(Sender: TObject);
procedure RB2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit2,unit3;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var TIME1,Razn:TDateTime;
hour,min,sec,msec:word;
begin
if (CB1.ItemIndex=-1) or (CB2.ItemIndex=-1) then
MessageDlg('Заполнены не все поля',mtInformation,[mbOk],1)
else
begin
DM.DS_WRK.Insert;
DM.DS_WRK.FBN('DATE_').AsDateTime:=Date;
DM.DS_WRK.FBN('TIME_').AsDateTime:=Time;
DM.DS_WRK.FBN('SOTR_').AsInteger:=id_sotr;
DM.DS_WRK.FBN('SHIFR_').AsInteger:=CB1.ItemIndex+1;
DM.DS_WRK.FBN('STAD_').AsInteger:=CB2.ItemIndex+1;
DM.DS_WRK.FBN('WORK_').AsString:=Memo3.Text;
DM.DS_WRK.FBN('DISCR_').AsString:=Memo2.Text;
DM.DS_WRK.FBN('ZATR_TIME').AsInteger:=0;
DM.DS_WRK.Post;
DM.DB.DefaultTransaction.CommitRetaining;
DM.DS_WRK.first;
Dm.DS_WRK.Next;
if DM.DS_WRK.RecordCount>1 then
if (DM.DS_WRK.FBN('DATE_').AsDateTime=Date) and
(Dm.DS_WRK.FBN('ZATR_TIME').AsInteger=0) then
begin
TIME1:=StrToTime(DM.DS_WRK.FBN('TIME_').AsString);
DM.DS_WRK.Edit;
Razn:=time-TIME1+StrToTime('01:00:00');
DecodeTime(razn,hour,min,sec,msec);
DM.DS_WRK.FBN('ZATR_TIME').AsInteger:=hour;
DM.DS_WRK.Post;
DM.DB.DefaultTransaction.CommitRetaining;
DM.DS_WRK.Next;
end;
DM.DS_WRK.Close;
DM.DS_WRK.Open;
RB1.Checked:=true;
Memo1.Clear;
Memo2.Clear;
Memo3.Clear;
CB1.ItemIndex:=-1;
CB2.ItemIndex:=-1;
end;
end;
procedure TForm1.CB1Select(Sender: TObject);
var n:string;
begin
n:=CB1.Items.Strings[CB1.ItemIndex];
DM.DS_OBJ.First;
while NOT DM.DS_OBJ.Eof do
begin
if DM.DS_OBJ.FBN('SHIFR_').asString=n then
Memo1.Text:=DM.DS_OBJ.FBN('TITUL_').AsString;
DM.DS_OBJ.Next;
end;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var n:string;
begin
n:=DM.DS_WRK.FBN('SHIFR_1').asString;
DM.DS_OBJ.Open;
DM.DS_OBJ.First;
while NOT DM.DS_OBJ.Eof do
begin
if DM.DS_OBJ.FBN('SHIFR_').asString=n then
begin
Memo1.Text:=DM.DS_OBJ.FBN('TITUL_').AsString;
end;
DM.DS_OBJ.Next;
end;
Memo3.Text:=DM.DS_WRK.FBN('WORK_').AsString;
Memo2.Text:=DM.DS_WRK.FBN('DISCR_').AsString;
end;
procedure TForm1.FormActivate(Sender: TObject);
var s:string;
begin
Label1.Caption:=Name1;
DM.DS_WRK.SQLs.SelectSQL.Add(' and SOTR_='+IntToStr(id_sotr)+' Order by DATE_ desc, TIME_ desc');
DM.DS_WRK.Open;
CB1.clear;
CB2.clear;
DM.DS_OBJ.Open;
DM.DS_OBJ.First;
while NOT DM.DS_OBJ.Eof do
begin
s:=DM.DS_OBJ.FBN('SHIFR_').AsString;
CB1.Items.Add(s);
DM.DS_OBJ.Next;
end;
DM.DS_STAD.Open;
DM.DS_STAD.First;
while NOT DM.DS_STAD.Eof do
begin
s:=DM.DS_STAD.FBN('NAME_STAD').AsString;
CB2.Items.Add(s);
DM.DS_STAD.Next;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Destroy;
DM.DB.Connected:=false;
DM.DT.Active:=false;
Application.Terminate;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var TIME1,Razn:TDateTime;
hour,min,sec,msec:word;
begin
if DM.DS_WRK.Active then
begin
DM.DS_WRK.First;
if DM.DS_WRK.RecordCount>=1 then
if DM.DS_WRK.FBN('ZATR_TIME').asInteger=0 then
begin
DM.DS_WRK.Edit;
TIME1:=StrToTime(DM.DS_WRK.FBN('TIME_').AsString);
Razn:=time-TIME1+StrToTime('01:00:00');
DecodeTime(razn,hour,min,sec,msec);
DM.DS_WRK.FBN('ZATR_TIME').AsInteger:=hour;
DM.DS_WRK.Post;
DM.DB.DefaultTransaction.CommitRetaining;
end;
end;
end;
procedure TForm1.RB1Click(Sender: TObject);
begin
if RB1.Checked then
begin
Button1.Enabled:=false;
CB1.Enabled:=false;
CB2.Enabled:=false;
Label2.Enabled:=false;
Label3.Enabled:=false;
Memo3.ReadOnly:=true;
Memo2.ReadOnly:=true;
Memo2.Clear;
Memo3.Clear;
Memo1.Clear;
CB1.ItemIndex:=-1;















