Скачиваний:
9
Добавлен:
17.06.2023
Размер:
1.8 Mб
Скачать

dm.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

Соседние файлы в папке Курсовые работы