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

dm.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

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