Курсовые работы / ПРИС КП_И_19
.pdfend;
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;