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

n, count: integer;

DM.DogQuery.SQL.Add('Select * from Dogovor2 WHERE '+s+' LIKE

begin

"'+Edit1.text+'%"');

if DateTimePicker1.DateTime>DateTimePicker2.DateTime then

// Обновляем

begin

DM.DogQuery.Close;

ShowMessage('No!');

DM.DogQuery.Open;

end

 

else

end;

begin

 

s1:= FFormatDate(DateToStr(DateTimePicker1.Date));

end.

s2:= FFormatDate(DateToStr(DateTimePicker2.Date));

unit O3;

ADOQuery1.SQL.Clear;

 

 

interface

ADOQuery1.SQL.Add('SELECT [6].FIO, Sum([6].[Count-id_zakaz])

 

AS [Sum-Count-id_zakaz]'+

uses

' FROM [6] '+

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

' WHERE (([6].DataNach)>='+s1+' And ([6].DataNach)<='+s2+')'+

Forms,

' GROUP BY [6].FIO, [6].DataNach' +

Dialogs, StdCtrls, ComCtrls, DB, ADODB, Grids, DBGrids;

'ORDER BY Count([6].id_zakaz) DESC');

 

ADOQuery1.Open;

type

 

TO_YSLYGA = class(TForm)

end;

DataSource1: TDataSource;

end;

ADOQuery1: TADOQuery;

 

Label2: TLabel;

end.

Label3: TLabel;

unit O2;

Label4: TLabel;

 

DateTimePicker1: TDateTimePicker;

interface

DateTimePicker2: TDateTimePicker;

 

Button1: TButton;

uses

DBGrid1: TDBGrid;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

procedure Button1Click(Sender: TObject);

Forms,

private

Dialogs, StdCtrls, Menus, ComCtrls, Grids, DBGrids;

{ Private declarations }

 

function FFormatDate(s1: string): string;

type

public

TO_2 = class(TForm)

{ Public declarations }

DBGrid1: TDBGrid;

end;

HeaderControl1: THeaderControl;

 

SaveDialog1: TSaveDialog;

var

PopupMenu1: TPopupMenu;

O_YSLYGA: TO_YSLYGA;

ComboBox1: TComboBox;

period1,period2:string;

Edit1: TEdit;

 

Label1: TLabel;

implementation

procedure FormCreate(Sender: TObject);

 

procedure Edit1Change(Sender: TObject);

{$R *.dfm}

private

function TO_YSLYGA.FFormatDate(s1: string): string;

{ Private declarations }

begin

public

Insert((s1[1]+s1[2]),s1,4);

{ Public declarations }

Delete(s1,1,2);

end;

Insert((s1[4]+s1[5]),s1,1);

 

Delete(s1,6,2);

var

Delete(s1,3,1);

O_2: TO_2;

Insert('/',s1,3);

 

Delete(s1,6,1);

implementation

Insert('/',s1,6);

Uses DataM;

Insert('#',s1,1);

{$R *.dfm}

Insert('#',s1,12);

 

Result := s1;

procedure TO_2.FormCreate(Sender: TObject);

end;

var i:integer;

 

begin

procedure TO_YSLYGA.Button1Click(Sender: TObject);

DM.ADOConnection1.Connected:=true;

var s1,s2:string;

DM.DogQuery.SQL.Clear;

n, count: integer;

DM.DogQuery.SQL.Add('SELECT * FROM Dogovor2;');

begin

DM.DogQuery.Open;

if DateTimePicker1.DateTime>DateTimePicker2.DateTime then

for i:=0 to DBGrid1.Columns.Count-1 do

begin

ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption);

ShowMessage('No!');

 

end

end;

else

 

begin

procedure TO_2.Edit1Change(Sender: TObject);

s1:= FFormatDate(DateToStr(DateTimePicker1.Date));

Var S:String;

s2:= FFormatDate(DateToStr(DateTimePicker2.Date));

begin

ADOQuery1.SQL.Clear;

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

ADOQuery1.SQL.Add('SELECT [4].id_zakaz, [4].Nazvanie,

// Сохранение имени поля DBGrid1 в переменную S, по индексу

[4].DataNach, [4].Выражение1'+

выбранной записи в ComboBox1

' FROM [4] '+

S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName;

' WHERE (([4].DataNach)>='+s1+' And ([4].DataNach)<='+s2+')'+

DM.DogQuery.SQL.Clear;

' GROUP BY [4].id_zakaz, [4].Nazvanie, [4].DataNach,

// Формирования запроса по полю сохранённому в переменной S

[4].Выражение1'+

42

' ORDER BY [4].Выражение1 DESC');

begin

ADOQuery1.Open;

Form2.Close;

 

end;

end;

 

end;

procedure TForm2.DBLookupComboBox1Click(Sender: TObject);

end.

begin

unit OT22;

posetitel:= DBLookupComboBox1.Text;

 

if posetitel<>'' then

interface

begin

uses

Edit1.SetFocus;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

DM.pQuery.Close;

Forms,

DM.pQuery.SQL.Clear;

Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls;

 

 

DM.pQuery.SQL.Add('SELECT * FROM PWDTBL WHERE

type

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

TOT2 = class(TForm)

DM.pQuery.Open;

Label2: TLabel;

 

Label3: TLabel;

pwd:=DM.pQuery.FieldByName('PASS').AsString;

Label4: TLabel;

DM.pQuery.SQL.Clear;

DateTimePicker1: TDateTimePicker;

 

DateTimePicker2: TDateTimePicker;

DM.pQuery.SQL.Add('SELECT * FROM PWDTBL;');

Button1: TButton;

DM.pQuery.Open;

DataSource1: TDataSource;

end;

ADOQuery1: TADOQuery;

 

DBGrid1: TDBGrid;

 

private

end;

{ Private declarations }

 

public

procedure TForm2.BitBtn1Click(Sender: TObject);

{ Public declarations }

begin

end;

if posetitel<>'' then

var

if pwd<>Trim(Edit1.Text) then

OT2: TOT2;

MessageDlg('Неверный пароль',mtError, [mbOk], 0)

 

else

implementation

begin

 

flag:=false;

{$R *.dfm}

//anee iniiaiay oi?ia aua ia nicaaia, oi nicaa?i, oi anou yoi aoia a

 

nenoaio

end.

if not flag then

unit Parol;

begin

 

MainForm:= TMainForm.Create(self); // nicaaiea oi?iu iniiaiiai iai?

interface

flag:=true;

 

end;

uses

 

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

MainForm.Show;

Forms,

if posetitel='Администратор' then

Dialogs, DBCtrls, StdCtrls, Buttons, DB, ADODB;

begin

type

end;

TForm2 = class(TForm)

if posetitel='Менеджер' then

Label1: TLabel;

begin

Label2: TLabel;

//MainForm.Sotr.Enabled:=true;

BitBtn1: TBitBtn;

MainForm.Klient.Enabled:=true;

BitBtn2: TBitBtn;

MainForm.Oformlenie.Enabled:=true;

OpenDialog1: TOpenDialog;

MainForm.Oformlenie.Enabled:=true;

DBLookupComboBox1: TDBLookupComboBox;

MainForm.Work.Enabled:=true;

Edit1: TEdit;

MainForm.N9.Enabled:=true;

procedure BitBtn2Click(Sender: TObject);

MainForm.N12.Enabled:=false;

procedure DBLookupComboBox1Click(Sender: TObject);

 

procedure BitBtn1Click(Sender: TObject);

end;

private

if posetitel='Гость'then

{ Private declarations }

begin

public

 

{ Public declarations }

// MainForm.Sotr.Enabled:=false;

end;

MainForm.Klient.Enabled:=false;

 

MainForm.Oformlenie.Enabled:=false;

var

MainForm.Work.Enabled:=false;

Form2: TForm2;

MainForm.N9.Enabled:=false;

pwd:string; // верный пароль

MainForm.N12.Enabled:=false;

flag:boolean; // признак существования формы

 

posetitel:string;

end;

 

// ne?uaaai oi?io

implementation

Form2.Hide;

Uses DataM, MainFor, Zakaz;

DM.pQuery.SQL.Clear;

{$R *.dfm}

DM.pQuery.Close;

 

end // iieuciaaoaeu ia aua?ai

procedure TForm2.BitBtn2Click(Sender: TObject);

else MessageDlg('Выбери пользователя',mtWarning, [mbOk], 0);

43

end;

end.

unit Skidka;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Mask;

type

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

DBNavigator1: TDBNavigator; Label1: TLabel;

Label2: TLabel;

Label3: TLabel; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; RadioButton2: TRadioButton; DBEdit4: TDBEdit; DBEdit5: TDBEdit;

Label4: TLabel;

Timer1: TTimer;

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

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 Timer1Timer(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit3Exit(Sender: TObject);

private

{ Private declarations } procedure Refresh;

procedure isEdit; procedure notEdit;

function checkEdit:boolean; public

{ Public declarations } end;

const

nSkidka_SQL='SELECT * FROM nSkidka'; var

S_Skidka: TS_Skidka;

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

implementation Uses DataM; {$R *.dfm}

procedure TS_Skidka.Refresh; var i:integer;

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

DM.SkidkaQuery.SQL.Add('SELECT * FROM nSkidka;'); DM.SkidkaQuery.Open;

end;

procedure TS_Skidka.FormCreate(Sender: TObject); begin

DM.ADOConnection1.Connected:=true;

DM.SkidkaQuery.SQL.Clear; DM.SkidkaQuery.SQL.Add('SELECT * FROM nSkidka;'); DM.SkidkaQuery.Open;

end;

procedure TS_Skidka.isEdit; begin

if DBEdit1.Text<>'' then

begin

DM.CheckEditQuery.SQL.Text:='UPDATE nSkidka SET nSkidka.EDIT = True WHERE nSkidka.id_sk='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL; DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE id_sk='+DBEdit1.Text+';';

DM.CheckEditQuery.Open;

end;

end;

procedure TS_Skidka.notEdit; begin

if DBEdit1.Text<>'' then begin

DM.CheckEditQuery.SQL.Text:='UPDATE nSkidka SET nSkidka.EDIT = False WHERE nSkidka.id_sk='+DBEdit1.Text+';'; DM.CheckEditQuery.ExecSQL; DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE id_sk='+DBEdit1.Text+';';

DM.CheckEditQuery.Open;

end;

end;

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

begin checkEdit:=false;

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

DM.CheckEditQuery.Open; if DBEdit5.Text<>'' then

begin

bool:=not strtobool(DBEdit5.Text); DBEdit1.Enabled:=bool; DBEdit2.Enabled:=bool; DBEdit3.Enabled:=bool; Label4.Visible:= not bool; checkEdit:=not bool;

end;

end;

procedure TS_Skidka.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.SkidkaQuery.Sort:=

DBGrid1.Columns.Items[Column.Index].FieldName+s;

end;

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

begin notEdit;

DM.SkidkaQuery.Close;

end;

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

44

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;

45

end;

 

function TS_Sotr.checkEdit:boolean;

procedure TS_Sotr.DBEdit4Enter(Sender: TObject);

var bool:boolean;

begin

begin

Timer1.Enabled:=false;

checkEdit:=false;

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

if DBEdit1.Text<>'' then

if not checkEdit then isEdit;

DM.CheckEditQuery.SQL.Text:=nSkidka_SQL+' WHERE

end;

id_sotr='+DBEdit1.Text+';';

 

DM.CheckEditQuery.Open;

procedure TS_Sotr.DBEdit5Enter(Sender: TObject);

if DBEdit7.Text<>'' then

begin

begin

Timer1.Enabled:=false;

bool:=not strtobool(DBEdit7.Text);

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

DBEdit1.Enabled:=bool;

if not checkEdit then isEdit;

DBEdit2.Enabled:=bool;

end;

DBEdit3.Enabled:=bool;

 

DBEdit4.Enabled:=bool;

procedure TS_Sotr.DBEdit5Exit(Sender: TObject);

DBEdit5.Enabled:=bool;

begin

 

Timer1.Enabled:=true;

DBEdit7.Enabled:=bool;

notEdit;

 

end;

Label6.Visible:= not bool;

 

checkEdit:=not bool;

procedure TS_Sotr.DBEdit4Exit(Sender: TObject);

end;

begin

end;

Timer1.Enabled:=true;

 

notEdit;

 

end;

procedure TS_Sotr.FormClose(Sender: TObject; var Action:

procedure TS_Sotr.DBEdit3Exit(Sender: TObject);

TCloseAction);

begin

begin

Timer1.Enabled:=true;

notEdit;

notEdit;

DM.SotrQuery.Close;

end;

end;

 

 

procedure TS_Sotr.DBEdit2Exit(Sender: TObject);

procedure TS_Sotr.DBNavigator1BeforeAction(Sender: TObject;

begin

Button: TNavigateBtn);

Timer1.Enabled:=true;

begin

notEdit;

ins:=false;

end;

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

 

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

end .

if Button=nbInsert then

unit Work;

begin

 

ins:=true;

interface

if DBEdit1.Enabled then DBEdit1.SetFocus;

 

end;

uses

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

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

if (Button=nbRefresh) then

Forms,

 

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, Mask;

end;

 

 

type

procedure TS_Sotr.DBEdit1Change(Sender: TObject);

TS_Work = class(TForm)

begin

DBGrid1: TDBGrid;

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

DBEdit1: TDBEdit;

 

DBEdit2: TDBEdit;

end;

DBEdit3: TDBEdit;

 

DBNavigator1: TDBNavigator;

procedure TS_Sotr.Timer1Timer(Sender: TObject);

Label1: TLabel;

begin

Label2: TLabel;

if DBNavigator1.Controls[6].Enabled then

Label3: TLabel;

begin

GroupBox1: TGroupBox;

DBNavigator1.BtnClick(nbEdit);

RadioButton1: TRadioButton;

DBNavigator1.BtnClick(nbRefresh);

RadioButton2: TRadioButton;

 

Panel1: TPanel;

end;

ComboBox1: TComboBox;

end;

Edit1: TEdit;

procedure TS_Sotr.DBEdit2Enter(Sender: TObject);

Label4: TLabel;

begin

Label5: TLabel;

Timer1.Enabled:=false;

Timer1: TTimer;

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

DBEdit4: TDBEdit;

if not checkEdit then isEdit;

Label6: TLabel;

end;

procedure FormCreate(Sender: TObject);

 

procedure DBGrid1TitleClick(Column: TColumn);

procedure TS_Sotr.DBEdit3Enter(Sender: TObject);

procedure Edit1Change(Sender: TObject);

begin

procedure Timer1Timer(Sender: TObject);

Timer1.Enabled:=false;

// procedure DBEdit1Change(Sender: TObject);

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

//procedure DBEdit1Change(Sender: TObject);

if not checkEdit then isEdit;

//procedure DBEdit2Change(Sender: TObject);

end;

procedure DBEdit2Enter(Sender: TObject);

46

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

47

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

48

begin

end;

DM.CheckEditQuery.SQL.Text:='UPDATE Zakaz SET Zakaz.EDIT =

 

True WHERE Zakaz.id_zakaz='+DBEdit1.Text+';';

procedure TS_Zakaz.DBEdit2Exit(Sender: TObject);

DM.CheckEditQuery.ExecSQL;

begin

DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+' WHERE

Timer1.Enabled:=true;

id_zakaz='+DBEdit1.Text+';';

notEdit;

DM.CheckEditQuery.Open;

end;

end;

 

end;

procedure TS_Zakaz.DBLookupComboBox1Enter(Sender: TObject);

 

begin

procedure TS_Zakaz.notEdit;

Timer1.Enabled:=false;

begin

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

 

if not checkEdit then isEdit;

if DBEdit1.Text<>'' then

end;

begin

 

DM.CheckEditQuery.SQL.Text:='UPDATE Zakaz SET Zakaz.EDIT =

procedure TS_Zakaz.DBLookupComboBox2Enter(Sender: TObject);

False WHERE Zakaz.id_zakaz='+DBEdit1.Text+';';

begin

DM.CheckEditQuery.ExecSQL;

Timer1.Enabled:=false;

DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+' WHERE

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

id_zakaz='+DBEdit1.Text+';';

if not checkEdit then isEdit;

DM.CheckEditQuery.Open;

end;

end;

 

end;

procedure TS_Zakaz.DBLookupComboBox3Enter(Sender: TObject);

function TS_Zakaz.checkEdit:boolean;

begin

var bool:boolean;

Timer1.Enabled:=false;

begin

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

checkEdit:=false;

if not checkEdit then isEdit;

if DBEdit1.Text<>'' then DM.CheckEditQuery.SQL.Text:=Zakaz_SQL+'

end;

WHERE id_zakaz='+DBEdit1.Text+';';

 

DM.CheckEditQuery.Open;

procedure TS_Zakaz.DBLookupComboBox4Enter(Sender: TObject);

if DBEdit6.Text<>'' then

begin

begin

Timer1.Enabled:=false;

bool:=not strtobool(DBEdit6.Text);

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

DBEdit1.Enabled:=bool;

if not checkEdit then isEdit;

DBEdit2.Enabled:=bool;

end;

DBEdit3.Enabled:=bool;

 

DateTimePicker1.Enabled:=bool;

procedure TS_Zakaz.DBLookupComboBox5Enter(Sender: TObject);

DBLookupComboBox1.Enabled:=bool;

begin

DBLookupComboBox2.Enabled:=bool;

Timer1.Enabled:=false;

DBLookupComboBox3.Enabled:=bool;

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

DBLookupComboBox5.Enabled:=bool;

if not checkEdit then isEdit;

Label1.Visible:= not bool;

end;

checkEdit:=not bool;

 

end;

procedure TS_Zakaz.DBEdit3Enter(Sender: TObject);

end;

begin

procedure TS_Zakaz.FormClose(Sender: TObject; var Action:

Timer1.Enabled:=false;

TCloseAction);

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

begin

if not checkEdit then isEdit;

notEdit;

end;

DM.ZakazQuery.Close;

 

end;

procedure TS_Zakaz.DBLookupComboBox3Exit(Sender: TObject);

 

begin

procedure TS_Zakaz.DBNavigator1BeforeAction(Sender: TObject;

Timer1.Enabled:=true;

Button: TNavigateBtn);

notEdit;

var n:integer;

end;

begin

 

ins:=false;

procedure TS_Zakaz.DBLookupComboBox4Exit(Sender: TObject);

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

begin

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

Timer1.Enabled:=true;

if Button=nbInsert then

notEdit;

begin

end;

ins:=true;

 

if DBEdit1.Enabled then DBEdit1.SetFocus;

procedure TS_Zakaz.DBLookupComboBox5Exit(Sender: TObject);

end;

begin

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

Timer1.Enabled:=true;

if (Button=nbRefresh) then

notEdit;

end;

end;

procedure TS_Zakaz.DBEdit1Change(Sender: TObject);

procedure TS_Zakaz.DBEdit3Exit(Sender: TObject);

begin

begin

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

Timer1.Enabled:=true;

end;

notEdit;

 

end;

procedure TS_Zakaz.DBEdit2Enter(Sender: TObject);

 

begin

procedure TS_Zakaz.DBLookupComboBox1Exit(Sender: TObject);

Timer1.Enabled:=false;

begin

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

Timer1.Enabled:=true;

if not checkEdit then isEdit;

notEdit;

49

end;

procedure TS_Zakaz.DBLookupComboBox2Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DateTimePicker1Exit(Sender: TObject); begin

Timer1.Enabled:=true;

notEdit;

end;

procedure TS_Zakaz.DateTimePicker1Enter(Sender: TObject); begin

Timer1.Enabled:=false;

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

end;

end.

50

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