Курсовые работы / ПРИС П _5
.pdfdm.COM.CommandText:='Insert into skid (nazv_sk,vel_sk) values ("'+e1.Text+'","'+e2.Text+'")';
dm.COM.Execute;
dm.sk.Requery(); showmessage('Запись добавлена'); end
else begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from skid WHERE
(nazv_sk = "'+e1.Text+'")'; dm.TEMP.Active:=true;
if (dm.TEMP.RecordCount>0) AND (tmp<>dm.TEMP.Fields[0].asstring) then exit;
dm.COM.CommandText:='UPDATE skid SET nazv_sk="'+e1.Text+'",vel_sk="'+e2.Text+'" WHERE (id_sk='+tmp+')';
dm.COM.Execute;
dm.sk.Requery(); showmessage('Запись изменена'); end;
BitBtn1Click(Sender);
end;
end;
procedure TFskid.e2KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
end.
unit SkidD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ToolWin, Grids, DBGrids, Buttons, ExtCtrls;
type
TFSkidD = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; DBGrid1: TDBGrid; ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton; cb: TComboBox;
dtp1: TDateTimePicker; dtp2: TDateTimePicker; Label3: TLabel;
procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure cbChange(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn2Click(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
FSkidD: TFSkidD;
implementation uses datm;
{$R *.dfm}
procedure TFSkidD.ToolButton2Click(Sender: TObject); begin
tm:=0;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_sk fROM skid'; dm.TEMP.Active:=true;
cb.Clear;
While not dm.TEMP.Eof do begin
cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=true;
end;
procedure TFSkidD.ToolButton4Click(Sender: TObject); begin
if dm.sdd.Fields[0].AsString='' then exit; tm:=1;
tmp:=dm.sdd.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sdd from skidD where id_sdd = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end else
begin
dm.COM.CommandText:='Update skidD set log_sdd = TRUE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_sk fROM skid'; dm.TEMP.Active:=true;
cb.Clear;
While not dm.TEMP.Eof do begin
cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
cb.Text:=dm.sdd.Fields[1].AsString;
cbChange(Sender);
52
dtp1.Date:=dm.sdd.Fields[2].AsDateTime;
dtp2.Date:=dm.sdd.Fields[3].AsDateTime;
panel1.Visible:=true;
end;
procedure TFSkidD.ToolButton6Click(Sender: TObject); begin
if dm.sdd.Fields[0].AsString='' then exit; tmp:=dm.sdd.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sdd from skidd where id_sdd = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end;
//**************Многопользовательский режим***************//
if application.MessageBox('Вы хотите удалить запись?','Удаление', mb_yesno+mb_iconquestion)=idyes then
begin
dm.COM.CommandText:='delete * FROM skidd WHERE (id_sdd='+tmp+')';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись удалена'); end;
end;
procedure TFSkidD.cbChange(Sender: TObject); begin
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select id_sk fROM skid WHERE (nazv_sk = "'+cb.Text+'")';
dm.TEMP.Active:=true; id_sk:=dm.temp.fields[0].asstring; end;
procedure TFSkidD.BitBtn1Click(Sender: TObject); begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skidd set log_sdd = FALSE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end; //**************Многопользовательский режим***************//
cb.Clear;dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=false;
end;
procedure TFSkidD.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skidd set log_sdd = FALSE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
cb.Clear;dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=false;close;
end;
procedure TFSkidD.BitBtn2Click(Sender: TObject); begin
if (cb.Text='') or (id_sk='') then showmessage('Не все поля заполнены')
else begin
if (dtp1.Date>dtp2.Date) then begin
showmessage('Начальная дата не может быть меньше конечной');
exit;
end;
if tm=0 then begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from skidd WHERE
(id_sk_sdd = '+id_sk+')'; dm.TEMP.Active:=true;
//if dm.TEMP.RecordCount>0 then exit; dm.COM.CommandText:='Insert into skidd
(id_sk_sdd,dt1_sdd,dt2_sdd) values ('+id_sk+',"'+datetostr(dtp1.Date)+'","'+datetostr(dtp2.Date)+'")';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись добавлена'); end
else begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from skidd WHERE
(id_sk_sdd = '+id_sk+')'; dm.TEMP.Active:=true;
if (dm.TEMP.RecordCount>0) AND (tmp<>dm.TEMP.Fields[0].asstring) then exit;
dm.COM.CommandText:='UPDATE skidd SET id_sk_sdd="'+id_sk+'",dt1_sdd="'+datetostr(dtp1.Date)+'",dt2_sdd ="'+datetostr(dtp2.Date)+'" WHERE (id_sdd='+tmp+')';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись изменена'); end;
BitBtn1Click(Sender);
end;
end;
end.
unit SkidD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
53
Dialogs, ComCtrls, StdCtrls, ToolWin, Grids, DBGrids, Buttons,
ExtCtrls;
type
TFSkidD = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; DBGrid1: TDBGrid; ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton; cb: TComboBox;
dtp1: TDateTimePicker; dtp2: TDateTimePicker; Label3: TLabel;
procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure cbChange(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn2Click(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
FSkidD: TFSkidD;
implementation uses datm;
{$R *.dfm}
procedure TFSkidD.ToolButton2Click(Sender: TObject); begin
tm:=0;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_sk fROM skid'; dm.TEMP.Active:=true;
cb.Clear;
While not dm.TEMP.Eof do begin
cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=true;
end;
procedure TFSkidD.ToolButton4Click(Sender: TObject); begin
if dm.sdd.Fields[0].AsString='' then exit; tm:=1;
tmp:=dm.sdd.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sdd from skidD where id_sdd = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end else
begin
dm.COM.CommandText:='Update skidD set log_sdd = TRUE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_sk fROM skid'; dm.TEMP.Active:=true;
cb.Clear;
While not dm.TEMP.Eof do begin
cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
cb.Text:=dm.sdd.Fields[1].AsString;
cbChange(Sender);
dtp1.Date:=dm.sdd.Fields[2].AsDateTime;
dtp2.Date:=dm.sdd.Fields[3].AsDateTime;
panel1.Visible:=true;
end;
procedure TFSkidD.ToolButton6Click(Sender: TObject); begin
if dm.sdd.Fields[0].AsString='' then exit; tmp:=dm.sdd.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sdd from skidd where id_sdd = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end;
//**************Многопользовательский режим***************//
if application.MessageBox('Вы хотите удалить запись?','Удаление', mb_yesno+mb_iconquestion)=idyes then
begin
dm.COM.CommandText:='delete * FROM skidd WHERE (id_sdd='+tmp+')';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись удалена'); end;
end;
procedure TFSkidD.cbChange(Sender: TObject); begin
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select id_sk fROM skid WHERE (nazv_sk = "'+cb.Text+'")';
54
dm.TEMP.Active:=true; id_sk:=dm.temp.fields[0].asstring; end;
procedure TFSkidD.BitBtn1Click(Sender: TObject); begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skidd set log_sdd = FALSE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
cb.Clear;dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=false;
end;
procedure TFSkidD.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skidd set log_sdd = FALSE WHERE id_sdd='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
cb.Clear;dtp1.Date:=date;dtp2.Date:=date;
panel1.Visible:=false;close;
end;
procedure TFSkidD.BitBtn2Click(Sender: TObject); begin
if (cb.Text='') or (id_sk='') then showmessage('Не все поля заполнены')
else begin
if (dtp1.Date>dtp2.Date) then begin
showmessage('Начальная дата не может быть меньше конечной');
exit;
end;
if tm=0 then begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from skidd WHERE
(id_sk_sdd = '+id_sk+')'; dm.TEMP.Active:=true;
//if dm.TEMP.RecordCount>0 then exit; dm.COM.CommandText:='Insert into skidd
(id_sk_sdd,dt1_sdd,dt2_sdd) values ('+id_sk+',"'+datetostr(dtp1.Date)+'","'+datetostr(dtp2.Date)+'")';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись добавлена'); end
else begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from skidd WHERE
(id_sk_sdd = '+id_sk+')'; dm.TEMP.Active:=true;
if (dm.TEMP.RecordCount>0) AND (tmp<>dm.TEMP.Fields[0].asstring) then exit;
dm.COM.CommandText:='UPDATE skidd SET id_sk_sdd="'+id_sk+'",dt1_sdd="'+datetostr(dtp1.Date)+'",dt2_sdd ="'+datetostr(dtp2.Date)+'" WHERE (id_sdd='+tmp+')';
dm.COM.Execute;
dm.sdd.Requery(); showmessage('Запись изменена'); end;
BitBtn1Click(Sender);
end;
end;
end.
unit sklad;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids;
type
TFsklad = class(TForm) DBGrid1: TDBGrid; Panel2: TPanel;
SpeedButton1: TSpeedButton; Label1: TLabel;
e2: TEdit;
procedure e2Change(Sender: TObject); procedure SpeedButton1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{Private declarations } public
{Public declarations } end;
var
Fsklad: TFsklad;
implementation uses datm;
{$R *.dfm}
procedure TFsklad.e2Change(Sender: TObject); begin
dm.s.Active:=false;
dm.s.CommandText:='select id_s,nazv_t,nazv_iz,kol_s FROM sklad,tel,izgot WHERE (id_iz=id_iz_t) AND (id_t=id_t_s) AND (nazv_t like "%'+e2.Text+'%")';
dm.s.Active:=true;
end;
procedure TFsklad.SpeedButton1Click(Sender: TObject); begin
dm.s.Active:=false;
dm.s.CommandText:='select id_s,nazv_t,nazv_iz,kol_s FROM sklad,tel,izgot WHERE (id_iz=id_iz_t) AND (id_t=id_t_s)';
55
dm.s.Active:=true;
e2.Text:='';
end;
procedure TFsklad.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin e2.Text:='';close; end;
end.
unit tel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ToolWin, Grids, DBGrids, Buttons, ExtCtrls,
Menus;
type
TFtel = class(TForm) Panel2: TPanel;
SpeedButton1: TSpeedButton; e2: TEdit;
DBGrid1: TDBGrid;
ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; Label1: TLabel; PopupMenu1: TPopupMenu; N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N2: TMenuItem;
N7: TMenuItem;
procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure e2Change(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N3Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N6Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Ftel: TFtel;
implementation
uses datm, atel, prod, azak, search; {$R *.dfm}
procedure TFtel.ToolButton2Click(Sender: TObject); begin
tm:=0;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_iz fROM izgot'; dm.TEMP.Active:=true;
fatel.cb.Clear;
While not dm.TEMP.Eof do begin
fatel.cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
fatel.ShowModal;
end;
procedure TFtel.ToolButton4Click(Sender: TObject); begin
if dm.t.Fields[0].AsString='' then exit; tm:=1;
tmp:=dm.t.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_t from tel where id_t = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end else
begin
dm.COM.CommandText:='Update tel set log_t = TRUE WHERE id_t='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select nazv_iz fROM izgot'; dm.TEMP.Active:=true;
fatel.cb.Clear;
While not dm.TEMP.Eof do begin
fatel.cb.Items.Add(dm.TEMP.Fields[0].AsString);
dm.TEMP.Next;
end;
fatel.e1.Text:=dm.t.Fields[1].AsString;
fatel.cb.Text:=dm.t.Fields[2].AsString;
Fatel.cbChange(Sender);
fatel.e2.Text:=dm.t.Fields[3].AsString;
fatel.e3.Text:=dm.t.Fields[4].AsString;
fatel.e4.Text:=dm.t.Fields[5].AsString;
fatel.e5.Text:=dm.t.Fields[6].AsString;
fatel.e6.Text:=dm.t.Fields[9].AsString;
fatel.cb1.checked:=dm.t.Fields[7].AsBoolean;
fatel.cb2.checked:=dm.t.Fields[8].AsBoolean;
fatel.ShowModal;
end;
56
procedure TFtel.ToolButton6Click(Sender: TObject); begin
if dm.t.Fields[0].AsString='' then exit; tmp:=dm.t.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_t from tel where id_t = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end;
//**************Многопользовательский режим***************//
if application.MessageBox('Вы хотите удалить запись?','Удаление', mb_yesno+mb_iconquestion)=idyes then
begin
dm.COM.CommandText:='delete * FROM tel WHERE (id_t='+tmp+')';
dm.COM.Execute;
dm.t.Requery(); showmessage('Запись удалена'); end;
end;
procedure TFtel.ToolButton8Click(Sender: TObject); begin
panel2.Visible:=true;
end;
procedure TFtel.SpeedButton1Click(Sender: TObject); begin
dm.t.Active:=false;
dm.t.CommandText:='select id_t,nazv_t,nazv_iz,ves_t,dl_t,sh_t,vis_t,gprs_t,mp3_t,st_t from izgot,tel WHERE (id_iz=id_iz_t)';
dm.t.Active:=true;
panel2.Visible:=false;
end;
procedure TFtel.e2Change(Sender: TObject); begin
dm.t.Active:=false;
dm.t.CommandText:='select id_t,nazv_t,nazv_iz,ves_t,dl_t,sh_t,vis_t,gprs_t,mp3_t,st_t from izgot,tel WHERE (id_iz=id_iz_t) AND (nazv_t like "%'+e2.Text+'%")';
dm.t.Active:=true;
end;
procedure TFtel.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin e2.Text:='';
panel2.Visible:=false;
close;
end;
procedure TFtel.N3Click(Sender: TObject); begin
if dm.t.Fields[0].AsString='' then exit; tmp:=inputbox('Поставка товара',dm.t.Fields[2].AsString + ' ' + dm.t.Fields[1].AsString,'');
if trim(tmp)='' then showmessage('Вы не ввели количество товара')
else begin try
if (strtoint(tmp)<=0) then begin
showmessage('Поставка не может быть меньше или равно
0');
exit;
end; except
showmessage('Должна быть количественная величина'); exit;
end;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='select id_s from sklad WHERE
(id_t_s = '+dm.t.Fields[0].AsString+')'; dm.TEMP.Active:=true;
if dm.TEMP.RecordCount>0 then begin
dm.COM.CommandText:='Update sklad set kol_s=kol_s+"'+tmp+'" where (id_t_s = '+dm.t.Fields[0].AsString+')';
dm.COM.Execute; showmessage('Поставка совершена'); end
else begin
dm.COM.CommandText:='Insert into sklad (kol_s,id_t_s) values ('+tmp+','+dm.t.Fields[0].AsString+')';
dm.COM.Execute; showmessage('Поставка совершена'); end;
end;
end;
procedure TFtel.N1Click(Sender: TObject); var ind:integer;
begin
if dm.t.Fields[0].AsString='' then exit; tmp:=dm.t.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_t from tel where id_t = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select id_t_s,kol_s FROM sklad WHERE (id_t_s = '+tmp+') and (kol_s)'; dm.TEMP.Active:=true;
if dm.TEMP.RecordCount>0 then begin ind:=dm.TEMP.Fields[1].Asinteger; if ind=0 then
begin
57
if application.MessageBox('На сколаде телефон отсутствует'+#13+'Вы хотите осуществить заказ телефона?','Заказ телефона',mb_yesno+mb_iconquestion)=idyes then
begin
//Вывод формы заказа
fazak.Label3.Caption:= dm.t.Fields[1].AsString + ' ' +dm.t.Fields[2].AsString;
fazak.dtp.Date:=date;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='select max(vel_sk) FROM
skid,skidd WHERE (id_sk = id_sk_sdd) AND (date() between dt1_sdd AND dt2_sdd)';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsString ='' then fazak.Label7.Caption:='0'
else fazak.Label7.Caption:=dm.TEMP.Fields[0].AsString;
fazak.Label9.Caption:=floattostr(dm.t.fieldbyname('st_t').asfloat- (dm.t.fieldbyname('st_t').asfloat*strtofloat(fazak.Label7.Caption))/ 100);
fazak.ShowModal;
end; end
else begin
//продажа телефона(вывод формы для продажи) fprod.Label3.Caption:= dm.t.Fields[1].AsString + ' '
+dm.t.Fields[2].AsString;
fprod.dtp.Date:=date;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='select max(vel_sk) FROM
skid,skidd WHERE (id_sk = id_sk_sdd) AND (date() between dt1_sdd AND dt2_sdd)';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsString ='' then fprod.Label7.Caption:='0'
else fprod.Label7.Caption:=dm.TEMP.Fields[0].AsString;
fprod.Label9.Caption:=floattostr(dm.t.fieldbyname('st_t').asfloat- (dm.t.fieldbyname('st_t').asfloat*strtofloat(fprod.Label7.Caption))/ 100);
tm:=0; fprod.Caption:='Продажа телефона'; fprod.ShowModal;
end; end
else begin
//попытка заказа
if application.MessageBox('На сколаде телефон отсутствует'+#13+'Вы хотите осуществить заказ телефона?','Заказ телефона',mb_yesno+mb_iconquestion)=idyes then
begin
//Вывод формы заказа
fazak.Label3.Caption:= dm.t.Fields[1].AsString + ' ' +dm.t.Fields[2].AsString;
fazak.dtp.Date:=date;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='select max(vel_sk) FROM
skid,skidd WHERE (id_sk = id_sk_sdd) AND (date() between dt1_sdd AND dt2_sdd)';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsString ='' then fazak.Label7.Caption:='0'
else fazak.Label7.Caption:=dm.TEMP.Fields[0].AsString;
fazak.Label9.Caption:=floattostr(dm.t.fieldbyname('st_t').asfloat-
(dm.t.fieldbyname('st_t').asfloat*strtofloat(fazak.Label7.Caption))/ 100);
fazak.ShowModal;
end;
end;
end;
procedure TFtel.N2Click(Sender: TObject); begin
if dm.t.Fields[0].AsString='' then exit; end;
procedure TFtel.N6Click(Sender: TObject); begin
fsearch.ShowModal;
end;
end.
unit zak;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Menus;
type
TFzak = class(TForm) DBGrid1: TDBGrid; Panel2: TPanel;
SpeedButton1: TSpeedButton; Label1: TLabel;
e2: TEdit;
PopupMenu1: TPopupMenu; N1: TMenuItem;
procedure SpeedButton1Click(Sender: TObject); procedure e2Change(Sender: TObject); procedure N1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Fzak: TFzak;
implementation
uses datm, zak2, prod; {$R *.dfm}
procedure TFzak.SpeedButton1Click(Sender: TObject); begin
dm.zk.Active:=false;
dm.zk.CommandText:='Select id_zk,fio_zk,nazv_t,nazv_iz,dataN_zk,st_zk,id_t_zk FROM tel,izgot,zak WHERE (id_iz = id_iz_t) AND (id_t = id_t_zk) AND (log_zk=false)';
dm.zk.Active:=true;
e2.Text:='';
end;
procedure TFzak.e2Change(Sender: TObject); begin
dm.zk.Active:=false;
58
dm.zk.CommandText:='Select id_zk,fio_zk,nazv_t,nazv_iz,dataN_zk,st_zk,id_t_zk FROM tel,izgot,zak WHERE (id_iz = id_iz_t) AND (id_t = id_t_zk) AND (log_zk=false) AND (nazv_t like "%'+e2.Text+'%")'; dm.zk.Active:=true;
end;
procedure TFzak.N1Click(Sender: TObject); begin
if dm.zk.Fields[0].AsString='' then exit; tmp:=dm.zk.Fieldbyname('id_t_zk').AsString;
fzak2.Label3.Caption:= dm.ZK.Fields[1].AsString + ' ' +dm.ZK.Fields[2].AsString;
fzak2.Label10.Caption:=datetostr(date); fzak2.Label9.Caption:=dm.zk.fieldbyname('st_zk').AsString; fzak2.Caption:='Продажа телефона';
fzak2.ShowModal;
end;
end.
unit zak2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;
type
TFzak2 = class(TForm) Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Panel2: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label9: TLabel;
e1: TEdit; e2: TEdit;
Label10: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn2Click(Sender: TObject);
procedure e1KeyPress(Sender: TObject; var Key: Char); private
{Private declarations } public
{Public declarations } end;
var
Fzak2: TFzak2;
implementation
uses datm;
{$R *.dfm}
procedure TFzak2.BitBtn1Click(Sender: TObject);
begin closequery; end;
procedure TFzak2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin dm.zk.Requery();
e1.Text:='';e2.Text:='';close;
end;
procedure TFzak2.BitBtn2Click(Sender: TObject); begin
if (e1.Text='') OR (e2.Text='')then showmessage('Не все поля заполнены')
else begin
try
if strtoint(e1.Text)<=0 then begin
showmessage('Срок не может быть отрицательным числом');
exit;
end; except
showmessage('Срок - числовое значение'); exit;
end;
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select * from prod where sn_pr = "'+e2.Text+'"';
dm.TEMP.Active:=true;
if dm.TEMP.RecordCount>0 then begin
showmessage('Телефон с данным серийным номером уже продан');
exit;
end;
dm.COM.CommandText:='Insert into prod (id_t_pr,dataN_pr,dataK_pr,srok_pr,sn_pr,st_pr) values ('+tmp+',"'+label10.caption+'","'+datetostr(incmonth(strtodate(labe l10.caption),strtoint(e1.Text)))+'",'+e1.Text+',"'+e2.Text+'","'+labe l9.caption+'")';
dm.COM.Execute;
dm.COM.CommandText:='Update zak SET log_zk=true WHERE id_zk = '+dm.zk.Fields[0].AsString+'';
dm.COM.Execute; showmessage('Телефон продан');
BitBtn1Click(Sender);
end;
end;
procedure TFzak2.e1KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
end.
unit zaPeriod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, WordXP, OleServer, Buttons, ComCtrls;
59
type |
|
TFzaPeriod = class(TForm) |
procedure TFzaPeriod.BitBtn1Click(Sender: TObject); |
dtp: TDateTimePicker; |
var tmp:string; |
BitBtn1: TBitBtn; |
i:integer; |
WordDocument1: TWordDocument; |
begin |
WordApplication1: TWordApplication; |
dm.TEMP.Active:=false; |
dtp2: TDateTimePicker; |
dm.TEMP.CommandText:='Select nazv_iz,nazv_t,count(id_gr) |
Label1: TLabel; |
from izgot,tel,prod,gar WHERE (id_iz=id_iz_t) and (id_t=id_t_pr) |
Label2: TLabel; |
and (id_pr=id_pr_gr) and (dataN_gr BETWEEN |
procedure BitBtn1Click(Sender: TObject); |
#'+fmain.data(dtp.Date)+'# and #'+fmain.data(dtp2.Date)+'#) |
private |
GROUP BY nazv_iz,nazv_t ORDER BY count(id_gr) desc'; |
{ Private declarations } |
dm.TEMP.Active:=true; |
public |
i:=1; |
{ Public declarations } |
While (i<=3) and (not dm.TEMP.Eof) do |
end; |
begin |
|
tmp:=tmp+'Изготовитель: '+dm.TEMP.fields[0].AsString+', |
var |
марка: '+dm.TEMP.Fields[1].AsString+' - '+ |
FzaPeriod: TFzaPeriod; |
dm.TEMP.Fields[2].AsString+' ремонт(а,ов)'+#13; |
|
dm.TEMP.Next; inc(i); |
implementation |
end; |
|
showmessage(tmp); |
uses datm, main; |
end; |
{$R *.dfm} |
end. |
60