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