Курсовые работы / ПРИС П _12
.pdfdm.SotrQuery.FieldValues['EDIT']:=false;
DM.SotrQuery.Post;
end;
procedure TFrmEditSotr.Button2Click(Sender: TObject);
begin
no:=true;
no1:=true;
DM.SotrQuery.Cancel;
FrmEditSotr.Close;
end;
procedure TFrmEditSotr.Button1Click(Sender: TObject);
var
i:integer;
begin
if (dbedit1.Text='') or (dbedit2.Text='')
or (dbedit3.Text='') or (dbedit5.Text='')
or (dbedit6.Text='') then
begin
MessageDlg('Введите все данные!',mtError,[mbOk],0);
Abort;
end;
dm.SotrQuery.FieldValues['edit']:=false;
DM.SotrQuery.Post;
if yes1=true then
For I :=DbListBox1.Items.Count-count1 to DbListBox1.Items.Count-1 Do
begin
DM.ADOQuery10.SQL.Clear;
DM.ADOQuery10.SQL.Add('select * from sotr, audit, soed where sotr.s_id = soed.s_id and audit.a_id = soed.a_id and sotr.s_id=:PARAM');
DM.ADOQuery10.Parameters.ParamByName('PARAM').
Value:=dm.SotrQuery.Fields[0].AsInteger;
DM.ADOQuery10.Open;
dm.AdoQuery10.Append;
DM.ADOQuery13.SQL.Clear;
DM.ADOQuery13.SQL.Add('select a_id from audit where a_nomer="'+DbListBox1.items[i]+'"');
DM.ADOQuery13.Open;
dm.AdoQuery10.FieldByName('soed.s_id').AsInteger:=dm
.SotrQuery.Fields[0].AsInteger;
dm.AdoQuery10.FieldByName('soed.a_id').AsInteger:=D M.ADOQuery13.Fields[0].AsInteger;
dm.ADOQuery10.Post;
end;
if yes=true then
for i:=1 to count do
DM.ADOQuery10.Connection.CommitTrans;
FrmEditSotr.Close;
end;
procedure TFrmEditSotr.Button3Click(Sender: TObject);
begin
DbListBox1.Items.Add(DbListBox2.items[DbListBox2.Ite
mIndex]);
DM.ADOQuery13.SQL.Clear;
DM.ADOQuery13.SQL.Add('select a_id from audit where a_nomer="'+DbListBox2.items[DbListBox2.ItemIndex]+'" ');
DM.ADOQuery13.Open;
yes1:=true;
count1:=count1+1;
end;
procedure TFrmEditSotr.FormShow(Sender: TObject);
62
begin
DM.ADOQuery10.SQL.Clear;
DM.ADOQuery10.SQL.Add('select * from sotr, audit, soed where sotr.s_id = soed.s_id and audit.a_id = soed.a_id and sotr.s_id=:PARAM');
DM.ADOQuery10.Parameters.ParamByName('PARAM').
Value:=dm.SotrQuery.Fields[0].AsInteger;
DM.ADOQuery10.Open;
end;
procedure TFrmEditSotr.Button4Click(Sender: TObject);
begin
try
dm.ADOQuery10.Connection.BeginTrans;
dm.ADOQuery10.SQL.Clear;
dm.AdoQuery10.SQL.Text := 'delete from soed where soed.s_id='+inttostr(key)+
' and soed.a_id =(select a_id from audit where a_nomer="'+DbListBox1.items[DbListBox1.ItemIndex]+'" )';
dm.ADOQuery10.ExecSQL;
DbListBox1.DeleteSelected;
yes:=true;
count:=count+1;
count1:=count1-1;
except
Showmessage('Ошибка. Выделите аудиторию которую надо удалить.');
end;
end;
end.
unit EditOborud;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ComCtrls;
type
TFrmEditOborud = class(TForm)
Button1: TButton;
Button2: TButton;
DBEdit1: TDBEdit;
Label1: TLabel;
DBEdit2: TDBEdit;
Label2: TLabel;
DBEdit3: TDBEdit;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label4: TLabel;
Label5: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject); procedure DateTimePicker2CloseUp(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
procedure openform(ed:boolean);
var
FrmEditOborud: TFrmEditOborud;
63
implementation
uses DataModule;
{$R *.dfm}
procedure openform(ed:boolean); begin
if ed then begin
FrmEditOborud.Caption:='Измененние';
DM.OborudQuery.Edit;
DM.OborudQuery.FieldValues['edit']:=true;
DM.OborudQuery.Post;
DM.OborudQuery.Edit;
FrmEditOborud.DateTimePicker1.Date:= dm.OborudQuery.FieldValues['o_date'];
FrmEditOborud.DateTimePicker2.Date:= dm.OborudQuery.FieldValues['o_datelastinv'];
end else begin
FrmEditOborud.Caption:='Добавление'; FrmEditOborud.DateTimePicker1.Date:= now; FrmEditOborud.DateTimePicker2.Date:= now; DM.OborudQuery.Append;
end;
FrmEditOborud.ShowModal;
end;
procedure TFrmEditOborud.FormClose(Sender: TObject; var Action: TCloseAction);
begin DM.OborudQuery.Cancel;
DM.OborudQuery.Edit;
dm.OborudQuery.FieldValues['edit']:=false;// признак редактирования - не редактируется
DM.OborudQuery.Post;
end;
procedure TFrmEditOborud.Button2Click(Sender: TObject);
begin
DM.OborudQuery.Cancel; //Отмена несохраненных изменений
DM.OborudQuery.Edit;
dm.OborudQuery.FieldValues['edit']:=false;// признак редактирования - не редактируется
DM.OborudQuery.Post; //подтверждение изменений
FrmEditOborud.Close;
end;
procedure TFrmEditOborud.Button1Click(Sender: TObject);
begin
if (dbedit1.Text='') or (dbedit2.Text='') or (dbedit3.Text='') then
begin
MessageDlg('Введите все данные!',mtError,[mbOk],0);
Abort;
end;
dm.OborudQuery.FieldValues['edit']:=false;
DM.OborudQuery.Post;
FrmEditOborud.Close;
end;
procedure TFrmEditOborud.DateTimePicker1CloseUp(Sender: TObject);
begin
64
dm.OborudQuery.FieldValues['o_date']:=DateTimePicker 1.Datetime;
end;
procedure TFrmEditOborud.DateTimePicker2CloseUp(Sender: TObject);
begin
dm.OborudQuery.FieldValues['o_datelastinv']:=DateTime Picker2.Datetime;
end;
end.
unit EditAudit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls;
type
TFrmEditAudit = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBComboBox1: TDBComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
procedure openform(ed:boolean);
var
FrmEditAudit: TFrmEditAudit;
implementation
uses DataModule;
{$R *.dfm}
procedure openform(ed:boolean); begin
if ed then begin
FrmEditAudit.Caption:='Измененние';
DM.AuditQuery.Edit;
DM.AuditQuery.FieldValues['edit']:=true;
DM.AuditQuery.Post;
DM.AuditQuery.Edit;
end else begin
FrmEditAudit.Caption:='Добавление';
DM.AuditQuery.Append;
end;
FrmEditAudit.ShowModal;
end;
procedure TFrmEditAudit.FormClose(Sender: TObject;
65
var Action: TCloseAction); begin DM.AuditQuery.Cancel; DM.AuditQuery.Edit;
dm.AuditQuery.FieldValues['edit']:=false;
DM.AuditQuery.Post;
end;
procedure TFrmEditAudit.Button2Click(Sender: TObject); begin
DM.AuditQuery.Cancel; DM.AuditQuery.Edit;
dm.AuditQuery.FieldValues['edit']:=false
DM.AuditQuery.Post;
FrmEditAudit.Close;
end;
procedure TFrmEditAudit.Button1Click(Sender: TObject); begin
if (dbedit1.Text='') or (DBComboBox1.Text = '') then begin
MessageDlg('Введите все данные!',mtError,[mbOk],0);
Abort;
end;
dm.AuditQuery.FieldValues['edit']:=false;
DM.AuditQuery.Post;
FrmEditAudit.Close;
end;
end.
unit ChUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls ;
type
TFrm_ChUser = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
Frm_ChUser: TFrm_ChUser;
UserIndex: Integer;
implementation
uses Main, DataModule, authorization; {$R *.dfm}
procedure TFrm_ChUser.Button1Click(Sender: TObject); var LogPass: array of string;
I,H, Counts: integer;
66
ResultLogPass: string; begin
Counts:=0;
SetLength (LogPass,800);
dm.ADODataSetUserTable.Active:=true;
dm.ADODataSetUserTable.First;
for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do
begin
LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];
dm.ADODataSetUserTable.Next;
Inc(Counts);
end;
ResultLogPass:= Trim(Edit1.Text)+' '+Trim(Edit2.Text);
for H := 0 to Counts do
begin
if ResultLogPass = LogPass[H] then begin
UserIndex:=H;
close; end Else
Label3.Caption:='Не верный логин или пароль';
end;
chek:= Edit1.Text;
if chek='Администратор' then FrmMain.N11.Enabled:=true; if chek='Пользователь' then FrmMain.N11.Enabled:=false; if chek='Гость' then
FrmMain.N11.Enabled:=false;
end;
procedure TFrm_ChUser.Button2Click(Sender: TObject); begin
close end;
procedure TFrm_ChUser.FormShow(Sender: TObject); begin
label3.Caption:='';
edit1.Clear;
edit2.Clear;
end;
end.
unit change_password;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFrm_change_password = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
67
Label3: TLabel;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
Frm_change_password: TFrm_change_password;
implementation
uses Main, authorization, DataModule;
{$R *.dfm}
procedure TFrm_change_password.Button1Click(Sender: TObject);
var LogPass: array of string; I,H, Counts: integer; ResultLogPass: string;
begin Counts:=0;
SetLength (LogPass,800);
dm.ADODataSetUserTable.Active:=true;
dm.ADODataSetUserTable.First;
for I := 0 to dm.ADODataSetUserTable.RecordCount -1 do
begin
LogPass[I]:= dm.ADODataSetUserTable.FieldValues ['login']+' '+dm.ADODataSetUserTable.FieldValues ['pass'];
dm.ADODataSetUserTable.Next;
Inc(Counts);
end;
ResultLogPass:= Trim(Edit1.Text)+' '+Trim(Edit4.Text);
for H := 0 to Counts do |
begin |
if (ResultLogPass = LogPass[H]) and (Edit2.Text=Edit3.Text) then
begin
UserIndex:=H;
dm.update_pas.SQL.Clear;
dm.update_pas.sql.add('update users set pass=par1 where id_user=par2');
dm.update_pas.Parameters.Refresh;
dm.update_pas.Parameters.ParamByName('par1').Value:= Edit2.Text;
dm.update_pas.Parameters.ParamByName('par2').Value:= UserIndex+1;
dm.update_pas.ExecSQL;
close;
end
Else
Label5.Caption:='Не верный логин или пароль';
end;
end;
procedure TFrm_change_password.Button2Click(Sender: TObject);
begin
close;
68
end;
procedure TFrm_change_password.FormShow(Sender: TObject);
begin label5.Caption:=''; edit1.Clear; edit2.Clear; edit3.Clear; edit4.Clear;
dm.ADOConnection.Close;
dm.ADOConnection.Open;
end;
end.
69