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

end;

procedure TS_Skidka.FormClose(Sender: TObject; var Action: TCloseAction); begin

notEdit;

DM.SkidkaQuery.Close;

end;

procedure TS_Skidka.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);

var n:integer; begin ins:=false;

//Если нажата кнопка "Вставить", тогда

//передаём фокус в DBEdit1,если он доступен if Button=nbInsert then

begin ins:=true;

if DBEdit1.Enabled then DBEdit1.SetFocus; end;

//Если нажата кнопка "Обновить"

if (Button=nbRefresh) then

end;

procedure TS_Skidka.DBEdit1Change(Sender: TObject); begin

if (DBEdit1.Text<>'')and(not ins) then checkEdit; end;

procedure TS_Skidka.DBEdit2Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Skidka.DBEdit2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Skidka.Timer1Timer(Sender: TObject); begin

if DBNavigator1.Controls[6].Enabled then begin

DBNavigator1.BtnClick(nbEdit);

DBNavigator1.BtnClick(nbRefresh);

end;

end;

procedure TS_Skidka.DBEdit3Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Skidka.DBEdit3Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

end.

unit Sotrr;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids;

type

TS_Sotr = class(TForm) DBGrid1: TDBGrid; DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel;

DBNavigator1: TDBNavigator; Label6: TLabel;

Timer1: TTimer;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure DBNavigator1BeforeAction(Sender: TObject;

Button: TNavigateBtn);

procedure DBEdit1Change(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit4Enter(Sender: TObject); procedure DBEdit5Enter(Sender: TObject); procedure DBEdit5Exit(Sender: TObject); procedure DBEdit4Exit(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); procedure DBEdit2Exit(Sender: TObject);

private

{ Private declarations } procedure Refresh;

procedure isEdit; procedure notEdit;

function checkEdit:boolean; public

{ Public declarations } end;

const

nSkidka_SQL='SELECT * FROM Sotrudnik'; var

S_Sotr: TS_Sotr; ins:boolean;

implementation Uses DataM;

{$R *.dfm}

procedure TS_Sotr.Refresh; var i:integer;

begin DM.ADOConnection1.Connected:=true; DM.SotrQuery.SQL.Clear;

DM.SotrQuery.SQL.Add('SELECT * FROM Sotrudnik;'); DM.SotrQuery.Open;

end;

procedure TS_Sotr.FormCreate(Sender: TObject); begin

DM.ADOConnection1.Connected:=true;

DM.SotrQuery.SQL.Clear; DM.SotrQuery.SQL.Add('SELECT * FROM Sotrudnik;'); DM.SotrQuery.Open;

end;

procedure TS_Sotr.isEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE Sotrudnik SET Sotrudnik.EDIT = True WHERE Sotrudnik.id_sotr='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE id_sotr='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

procedure TS_Sotr.notEdit; begin

if DBEdit1.Text<>'' then

begin

DM.CheckEditQuery.SQL.Text:='UPDATE Sotrudnik SET Sotrudnik.EDIT = False WHERE Sotrudnik.id_sotr='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE id_sotr='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

function TS_Sotr.checkEdit:boolean; var bool:boolean;

begin checkEdit:=false;

if DBEdit1.Text<>'' then DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE id_sotr='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

if DBEdit7.Text<>'' then begin

bool:=not strtobool(DBEdit7.Text); DBEdit1.Enabled:=bool; DBEdit2.Enabled:=bool; DBEdit3.Enabled:=bool;

DBEdit4.Enabled:=bool;

DBEdit5.Enabled:=bool;

DBEdit7.Enabled:=bool;

Label6.Visible:= not bool; checkEdit:=not bool;

end;

end;

procedure TS_Sotr.FormClose(Sender: TObject; var Action: TCloseAction); begin

notEdit;

DM.SotrQuery.Close;

end;

procedure TS_Sotr.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);

begin ins:=false;

//Если нажата кнопка "Вставить", тогда

//передаём фокус в DBEdit1,если он доступен if Button=nbInsert then

begin ins:=true;

if DBEdit1.Enabled then DBEdit1.SetFocus; end;

//Если нажата кнопка "Обновить"

if (Button=nbRefresh) then

end;

procedure TS_Sotr.DBEdit1Change(Sender: TObject); begin

if (DBEdit1.Text<>'')and(not ins) then checkEdit;

end;

procedure TS_Sotr.Timer1Timer(Sender: TObject); begin

if DBNavigator1.Controls[6].Enabled then begin

DBNavigator1.BtnClick(nbEdit);

DBNavigator1.BtnClick(nbRefresh);

end;

end;

procedure TS_Sotr.DBEdit2Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Sotr.DBEdit3Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Sotr.DBEdit4Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Sotr.DBEdit5Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Sotr.DBEdit5Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Sotr.DBEdit4Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Sotr.DBEdit3Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Sotr.DBEdit2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

end .

unit Work;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Mask;

type

TS_Work = class(TForm) DBGrid1: TDBGrid; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit;

DBNavigator1: TDBNavigator; Label1: TLabel;

Label2: TLabel;

Label3: TLabel; GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton; Panel1: TPanel; ComboBox1: TComboBox; Edit1: TEdit;

Label4: TLabel;

Label5: TLabel;

Timer1: TTimer; DBEdit4: TDBEdit; Label6: TLabel;

procedure FormCreate(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure Edit1Change(Sender: TObject); procedure Timer1Timer(Sender: TObject);

// procedure DBEdit1Change(Sender: TObject); //procedure DBEdit1Change(Sender: TObject);

//procedure DBEdit2Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit3Enter(Sender: TObject);

procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);

procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Exit(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); //procedure DBEdit2Exit(Sender: TObject); //procedure DBEdit3Exit(Sender: TObject);

private

{ Private declarations } procedure Refresh; procedure isEdit;

procedure notEdit;

function checkEdit:boolean; public

{ Public declarations } end;

const

Works_SQL='SELECT * FROM Works'; var

S_Work: TS_Work;

ins:boolean;// признак редактирования

implementation Uses DataM; {$R *.dfm}

procedure TS_Work.Refresh; var i:integer;

begin DM.ADOConnection1.Connected:=true; DM.WorkQuery.SQL.Clear;

DM.WorkQuery.SQL.Add('SELECT * FROM Works;'); DM.WorkQuery.Open;

end;

procedure TS_Work.FormCreate(Sender: TObject); begin

DM.ADOConnection1.Connected:=true;

DM.WorkQuery.SQL.Clear; DM.WorkQuery.SQL.Add('SELECT * FROM Works;'); DM.WorkQuery.Open;

end;

procedure TS_Work.isEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE Works SET Works.EDIT = True WHERE Works.id_Work='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=Works_SQL+' WHERE id_Work='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

procedure TS_Work.notEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE Works SET Works.EDIT = False WHERE Works.id_Work='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=Works_SQL+' WHERE id_Work='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

function TS_Work.checkEdit:boolean; var bool:boolean;

begin checkEdit:=false;

if DBEdit1.Text<>'' then DM.CheckEditQuery.SQL.Text:=Works_SQL+' WHERE id_Work='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

if DBEdit4.Text<>'' then begin

bool:=not strtobool(DBEdit4.Text); DBEdit1.Enabled:=bool;

DBEdit2.Enabled:=bool;

DBEdit3.Enabled:=bool; Label6.Visible:= not bool; checkEdit:=not bool;

end;

end;

procedure TS_Work.DBGrid1TitleClick(Column: TColumn); var

s:string; //направление сорировки i:integer;

clr:TColor; // цвет колонки при сортировке begin

// по умолчанию сортировка по возрастанию

//цвет колонки - зеленый s:=' ASC';

clr:= clMoneyGreen;

//меняем цвет и направление если пользователь выбрал иное if RadioButton2.Checked then

begin

s:=' DESC'; clr:= clSkyBlue;

end;

//возвращаем исходный цвет всех колонок

//и подсвечиваем выбранную колонку

for i:=0 to DBGrid1.Columns.Count-1 do DBGrid1.Columns.Items[i].Title.Color:= clBtnFace; DBGrid1.Columns.Items[Column.Index].Title.Color:=clr; // выполняем сортировку по выбранной колонке

DM.WorkQuery.Sort:= DBGrid1.Columns.Items[Column.Index].FieldName+s;

end;

procedure TS_Work.Edit1Change(Sender: TObject); begin

if (DBEdit1.Text<>'')and(not ins) then checkEdit; begin

end;

end;

procedure TS_Work.DBEdit2Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Work.DBEdit3Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Work.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);

var n:integer; begin ins:=false;

//Если нажата кнопка "Вставить", тогда

//передаём фокус в DBEdit1,если он доступен if Button=nbInsert then

begin ins:=true;

if DBEdit1.Enabled then DBEdit1.SetFocus; end;

//Если нажата кнопка "Обновить"

if (Button=nbRefresh) then end;

//end;

procedure TS_Work.Timer1Timer(Sender: TObject); begin

if DBNavigator1.Controls[6].Enabled then begin

DBNavigator1.BtnClick(nbEdit);

DBNavigator1.BtnClick(nbRefresh);

end;

end;

procedure TS_Work.DBEdit1Change(Sender: TObject); begin

if (DBEdit1.Text<>'')and(not ins) then checkEdit; end;

procedure TS_Work.DBEdit2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Work.DBEdit3Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

end.

unit Zakaz;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, DBCtrls, Mask, ExtCtrls, Grids, DBGrids;

type

TS_Zakaz = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBLookupComboBox3: TDBLookupComboBox;

DBLookupComboBox5: TDBLookupComboBox; Label2: TLabel;

Label3: TLabel;

DateTimePicker1: TDateTimePicker; Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel; DBGrid2: TDBGrid; DBEdit4: TDBEdit;

DBLookupComboBox7: TDBLookupComboBox; DBNavigator2: TDBNavigator;

Label10: TLabel; DBGrid3: TDBGrid; Button1: TButton; Label11: TLabel; DBEdit3: TDBEdit; Timer1: TTimer; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; Label1: TLabel;

DBLookupComboBox6: TDBLookupComboBox;

DBLookupComboBox4: TDBLookupComboBox; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject);

procedure DateTimePicker1Change(Sender: TObject); procedure Timer1Timer(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure DBNavigator1BeforeAction(Sender: TObject;

Button: TNavigateBtn);

procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject);

procedure DBLookupComboBox1Enter(Sender: TObject); procedure DBLookupComboBox2Enter(Sender: TObject); procedure DBLookupComboBox3Enter(Sender: TObject); procedure DBLookupComboBox4Enter(Sender: TObject); procedure DBLookupComboBox5Enter(Sender: TObject);

procedure DBEdit3Enter(Sender: TObject);

procedure DBLookupComboBox3Exit(Sender: TObject); procedure DBLookupComboBox4Exit(Sender: TObject); procedure DBLookupComboBox5Exit(Sender: TObject); procedure DBEdit3Exit(Sender: TObject);

procedure DBLookupComboBox1Exit(Sender: TObject); procedure DBLookupComboBox2Exit(Sender: TObject); procedure DateTimePicker1Exit(Sender: TObject); procedure DateTimePicker1Enter(Sender: TObject);

private

{ Private declarations } procedure Refresh; procedure isEdit;

procedure notEdit;

function checkEdit:boolean;

public

{ Public declarations } end;

const

Zakaz_SQL='SELECT * FROM Zakaz'; Zakaz_Work_SQL='SELECT * FROM Zakaz_Work';

var

S_Zakaz: TS_Zakaz;

ins:boolean;// признак редактирования

implementation Uses DataM; {$R *.dfm}

procedure TS_Zakaz.Refresh; //var i:integer;

begin DM.ADOConnection1.Connected:=true; DM.ZaprosQuery.SQL.Clear;

DM.ZaprosQuery.SQL.Add('SELECT * FROM Zapros1;'); DM.ZaprosQuery.Open;

end;

procedure TS_Zakaz.FormCreate(Sender: TObject); var i:integer;

begin DM.ADOConnection1.Connected:=true; DM.ZakazQuery.SQL.Clear;

DM.ZakazQuery.SQL.Add('SELECT * FROM Zakaz;'); DM.ZakazQuery.Open;

end;

procedure TS_Zakaz.Button1Click(Sender: TObject); begin

Refresh;

end;

procedure TS_Zakaz.DateTimePicker1Change(Sender: TObject); begin

DBNavigator1.BtnClick(nbEdit);

DBEdit3.EditText:=datetostr(DateTimePicker1.Date);

end;

procedure TS_Zakaz.Timer1Timer(Sender: TObject);

begin

if DBNavigator1.Controls[6].Enabled then begin

DBNavigator1.BtnClick(nbEdit);

DBNavigator1.BtnClick(nbRefresh);

end;

end;

procedure TS_Zakaz.isEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE Zakaz SET Zakaz.EDIT = True WHERE Zakaz.id_zakaz='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+' WHERE id_zakaz='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

procedure TS_Zakaz.notEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE Zakaz SET Zakaz.EDIT = False WHERE Zakaz.id_zakaz='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL;

DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+' WHERE id_zakaz='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

end;

end;

function TS_Zakaz.checkEdit:boolean; var bool:boolean;

begin checkEdit:=false;

if DBEdit1.Text<>'' then DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+' WHERE id_zakaz='+DBEdit1.Text+';'; DM.CheckEditQuery.Open;

if DBEdit6.Text<>'' then begin

bool:=not strtobool(DBEdit6.Text); DBEdit1.Enabled:=bool; DBEdit2.Enabled:=bool; DBEdit3.Enabled:=bool; DateTimePicker1.Enabled:=bool; DBLookupComboBox1.Enabled:=bool; DBLookupComboBox2.Enabled:=bool; DBLookupComboBox3.Enabled:=bool; DBLookupComboBox5.Enabled:=bool; Label1.Visible:= not bool; checkEdit:=not bool;

end;

end;

procedure TS_Zakaz.FormClose(Sender: TObject; var Action: TCloseAction); begin

notEdit;

DM.ZakazQuery.Close;

end;

procedure TS_Zakaz.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);

var n:integer; begin ins:=false;

//Если нажата кнопка "Вставить", тогда

//передаём фокус в DBEdit1,если он доступен if Button=nbInsert then

begin ins:=true;

if DBEdit1.Enabled then DBEdit1.SetFocus; end;

//Если нажата кнопка "Обновить"

if (Button=nbRefresh) then end;

procedure TS_Zakaz.DBEdit1Change(Sender: TObject); begin

if (DBEdit1.Text<>'')and(not ins) then checkEdit; end;

procedure TS_Zakaz.DBEdit2Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBEdit2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBLookupComboBox1Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBLookupComboBox2Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBLookupComboBox3Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBLookupComboBox4Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBLookupComboBox5Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBEdit3Enter(Sender: TObject); begin

Timer1.Enabled:=false;

if (DBEdit1.Text<>'')and(not ins) then if not checkEdit then isEdit;

end;

procedure TS_Zakaz.DBLookupComboBox3Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBLookupComboBox4Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBLookupComboBox5Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBEdit3Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBLookupComboBox1Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DBLookupComboBox2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DateTimePicker1Exit(Sender: TObject); begin

Timer1.Enabled:=true;

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