Курсовые работы / ПРИС П _5
.pdf('+tmp+',"'+datetostr(dtp1.Date)+'","'+datetostr(dtp1.Date)+'",'+e1.
Text+')';
dm.COM.Execute; showmessage('Телефон отдан в ремонт');
BitBtn1Click(Sender);
end;
end;
procedure TFagar.e1KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
end.
unit atel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFatel = class(TForm) Panel1: TPanel; Panel2: TPanel;
e1: TEdit; Label1: TLabel; cb: TComboBox; Label2: TLabel; e2: TEdit;
e4: TEdit; e5: TEdit; e3: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel; cb1: TCheckBox; cb2: TCheckBox; BitBtn1: TBitBtn; BitBtn2: TBitBtn; e6: TEdit; Label7: TLabel;
procedure cbKeyPress(Sender: TObject; var Key: Char); procedure cbChange(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn2Click(Sender: TObject);
procedure e2KeyPress(Sender: TObject; var Key: Char); procedure e3KeyPress(Sender: TObject; var Key: Char); procedure e4KeyPress(Sender: TObject; var Key: Char); procedure e5KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations } public
{Public declarations } end;
var
Fatel: TFatel;
implementation
uses datm;
{$R *.dfm}
procedure TFatel.cbKeyPress(Sender: TObject; var Key: Char); begin
key:=#0;
end;
procedure TFatel.cbChange(Sender: TObject); begin
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select id_iz fROM izgot WHERE nazv_iz="'+cb.text+'"';
dm.TEMP.Active:=true; id_iz:=dm.TEMP.Fields[0].AsString; end;
procedure TFatel.BitBtn1Click(Sender: TObject); begin
closequery;
end;
procedure TFatel.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin //**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update tel set log_t = FALSE WHERE id_t='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e1.Text:='';e2.Text:='';e3.Text:='';e4.Text:='';e5.Text:='';
cb.Clear;cb1.Checked:=false;cb2.Checked:=false;
close;
end;
procedure TFatel.BitBtn2Click(Sender: TObject); var ind:string;
begin
if (e1.Text='') OR (e2.Text='') OR (e3.Text='') OR (e4.Text='') or (e5.Text='')or (e6.Text='') or (cb.Text='')OR (id_iz='') then showmessage('Не все поля заполнены')
else begin
try strtofloat(e2.Text); strtofloat(e3.Text); strtofloat(e4.Text); strtofloat(e5.Text); strtofloat(e6.Text); except
showmessage('Характиристики - числовые значения'); exit;
end;
if tm=0 then begin
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select * from tel WHERE (nazv_t = "'+e1.Text+'") AND (id_iz_t = '+id_iz+')';
dm.TEMP.Active:=true;
if dm.TEMP.RecordCount>0 then exit;
42
dm.COM.CommandText:='Insert into tel (nazv_t,id_iz_t,ves_t,dl_t,sh_t,vis_t,gprs_t,mp3_t,st_t) values ("'+e1.Text+'",'+id_iz+',"'+e2.Text+'","'+e3.Text+'","'+e4.Text+'","' +e5.Text+'","'+booltostr(cb1.Checked)+'","'+booltostr(cb2.Checke d)+'","'+e6.Text+'")';
dm.COM.Execute;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select max(id_t) from tel'; dm.TEMP.Active:=true; ind:=dm.TEMP.Fields[0].AsString;
dm.COM.CommandText:='Insert into reg (id_t_r,cena_r,data_r) values ('+ind+',"'+e6.Text+'",date())';
dm.COM.Execute;
dm.t.Requery(); showmessage('Запись добавлена'); end
else begin
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select * from tel WHERE (nazv_t = "'+e1.Text+'") AND (id_iz_t = '+id_iz+')';
dm.TEMP.Active:=true;
if (dm.TEMP.RecordCount>0) AND (tmp<>dm.TEMP.Fields[0].asstring) then exit;
dm.COM.CommandText:='UPDATE tel SET nazv_t="'+e1.Text+'",id_iz_t="'+id_iz+'",ves_t="'+e2.Text+'",dl_t ="'+e3.Text+'",sh_t="'+e4.Text+'",vis_t="'+e5.Text+'",gprs_t="'+b ooltostr(cb1.Checked)+'",mp3_t="'+booltostr(cb2.Checked)+'",st_t ="'+e6.Text+'" WHERE (id_t='+tmp+')';
dm.COM.Execute;
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select id_r from reg WHERE
(id_t_r = '+tmp+') AND (data_r = date()) '; dm.TEMP.Active:=true;
if dm.TEMP.RecordCount=0 then begin
dm.COM.CommandText:='Insert into reg (id_t_r,cena_r,data_r) values ('+tmp+',"'+e6.Text+'",date())';
dm.COM.Execute; end
else begin
dm.COM.CommandText:='Update reg set cena_r = "'+e6.Text+'" WHERE id_r = '+tmp+'';
dm.COM.Execute;
end;
dm.t.Requery(); showmessage('Запись изменена'); end;
BitBtn1Click(Sender);
end;
end;
procedure TFatel.e2KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
procedure TFatel.e3KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
procedure TFatel.e4KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
procedure TFatel.e5KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
end.
unit azak;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TFazak = class(TForm) Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Panel2: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel;
dtp: TDateTimePicker; Label4: TLabel;
e1: TEdit;
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
Fazak: TFazak;
implementation
uses datm;
{$R *.dfm}
procedure TFazak.BitBtn1Click(Sender: TObject); begin
closequery;
end;
procedure TFazak.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
e1.Text:=''; dtp.Date:=date;close; end;
procedure TFazak.BitBtn2Click(Sender: TObject); begin
if e1.Text='' then showmessage('Заполнены не все поля') else
begin
43
dm.COM.CommandText:='Insert into zak |
try |
(id_t_zk,dataN_zk,st_zk,fio_zk) values |
if iz.Active=true then |
('+tmp+',"'+datetostr(dtp.Date)+'","'+label9.caption+'","'+e1.Text+' |
begin |
")'; |
ind:=iz.RecNo; |
dm.COM.Execute; |
iz.Requery(); |
showmessage('Телефон заказан'); |
iz.RecNo:=ind; |
BitBtn1Click(Sender); |
end; |
end; |
if t.Active=true then |
end; |
begin |
|
ind:=t.RecNo; |
procedure TFazak.e1KeyPress(Sender: TObject; var Key: Char); |
t.Requery(); |
begin |
t.RecNo:=ind; |
if (key in['0'..'9', #8]) then key:=#0; |
end; |
end; |
if sk.Active=true then |
|
begin |
end. |
ind:=sk.RecNo; |
|
sk.Requery(); |
unit datm; |
sk.RecNo:=ind; |
|
end; |
interface |
if sdd.Active=true then |
|
begin |
uses |
ind:=sdd.RecNo; |
SysUtils, Classes, ADODB, DB, ExtCtrls, ImgList, Controls; |
sdd.Requery(); |
|
sdd.RecNo:=ind; |
type |
end; |
TDM = class(TDataModule) |
if s.Active=true then |
ADO: TADOConnection; |
begin |
TEMP: TADODataSet; |
ind:=s.RecNo; |
COM: TADOCommand; |
s.Requery(); |
Iz: TADODataSet; |
s.RecNo:=ind; |
IzS: TDataSource; |
end; |
t: TADODataSet; |
if pr.Active=true then |
tS: TDataSource; |
begin |
sk: TADODataSet; |
ind:=pr.RecNo; |
sks: TDataSource; |
pr.Requery(); |
sdd: TADODataSet; |
pr.RecNo:=ind; |
sdds: TDataSource; |
end; |
S: TADODataSet; |
if zk.Active=true then |
SS: TDataSource; |
begin |
Pr: TADODataSet; |
ind:=zk.RecNo; |
PrS: TDataSource; |
zk.Requery(); |
zk: TADODataSet; |
zk.RecNo:=ind; |
zkS: TDataSource; |
end; |
Gr: TADODataSet; |
if gr.Active=true then |
GrS: TDataSource; |
begin |
Timer1: TTimer; |
ind:=gr.RecNo; |
IM: TImageList; |
gr.Requery(); |
temp2: TADODataSet; |
gr.RecNo:=ind; |
procedure Timer1Timer(Sender: TObject); |
end; |
private |
except |
{ Private declarations } |
end; |
public |
end; |
{ Public declarations } |
|
end; |
end. |
var |
unit find; |
DM: TDM; |
|
tm:integer; |
interface |
tmp,tmp2:string; |
|
pas,login:string; |
uses |
id_iz,id_sk:string; |
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
implementation |
Controls, Forms, |
|
Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls; |
{$R *.dfm} |
|
|
type |
procedure TDM.Timer1Timer(Sender: TObject); |
TFfind = class(TForm) |
var ind:integer; |
Panel1: TPanel; |
begin |
BitBtn1: TBitBtn; |
44
BitBtn2: TBitBtn; Panel2: TPanel;
dtp1: TDateTimePicker; dtp2: TDateTimePicker; Label1: TLabel; Label2: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn2Click(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
Ffind: TFfind;
implementation
uses datm, main;
{$R *.dfm}
procedure TFfind.BitBtn1Click(Sender: TObject); begin
closequery;
end;
procedure TFfind.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin dtp1.Date:=date;dtp2.Date:=date;close; end;
procedure TFfind.BitBtn2Click(Sender: TObject); begin
dm.temp.Active:=false;
dm.temp.CommandText:='select sum(st_pr) FROM prod,tel,izgot WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (dataN_pr between #'+fmain.data(dtp1.Date)+'# AND #'+fmain.data(dtp2.Date)+'#)';
dm.temp.Active:=true;
dm.pr.Active:=false;
dm.pr.CommandText:='select id_pr,nazv_t,nazv_iz,dataN_pr,sn_pr,st_pr,dataK_pr FROM prod,tel,izgot WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (dataN_pr between #'+fmain.data(dtp1.Date)+'# AND #'+fmain.data(dtp2.Date)+'#)';
dm.pr.Active:=true;
BitBtn1Click(Sender); showmessage('Общая сумма составила: '
+dm.TEMP.Fields[0].AsString ); end;
end.
unit Gar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,dateutils;
type
TFGar = 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
FGar: TFGar;
implementation uses datm;
{$R *.dfm}
procedure TFGar.SpeedButton1Click(Sender: TObject); begin
dm.gr.Active:=false;
dm.gr.CommandText:='select id_gr,nazv_t,nazv_iz,dataN_gr,dataK_gr,srok_gr FROM tel,izgot,gar,prod WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (id_pr = id_pr_gr) AND (log_gr=false)'; dm.gr.Active:=true;
e2.Text:='';
end;
procedure TFGar.e2Change(Sender: TObject); begin
dm.gr.Active:=false;
dm.gr.CommandText:='select id_gr,nazv_t,nazv_iz,dataN_gr,dataK_gr,srok_gr FROM tel,izgot,gar,prod WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (id_pr = id_pr_gr) AND (nazv_t like "%'+e2.Text+'%") AND (log_gr=false)';
dm.gr.Active:=true;
end;
procedure TFGar.N1Click(Sender: TObject); begin
if dm.gr.Fields[0].AsString='' then exit; tmp:=dm.gr.Fieldbyname('id_gr').AsString; dm.TEMP.Active:=false;
dm.TEMP.CommandText:='Select id_pr_gr FROM gar WHERE (id_gr = '+tmp+')';
dm.TEMP.Active:=true;
dm.COM.CommandText:='Update prod SET dataK_pr="'+datetostr(incmonth(date,dm.Gr.Fieldbyname('srok_gr ').AsInteger))+'" WHERE id_pr='+dm.TEMP.Fields[0].AsString+'';
dm.COM.Execute;
dm.COM.CommandText:='Update gar set log_gr=TRUE WHERE id_gr = '+tmp+'';
dm.COM.Execute; showmessage('Телефон возвращен'); dm.Gr.Requery();
45
end;
end.
unit izgot;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Grids, DBGrids, Buttons, StdCtrls, ExtCtrls;
type
TFizgot = class(TForm) Panel1: TPanel;
e: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Panel2: TPanel; e2: TEdit;
SpeedButton1: TSpeedButton; DBGrid1: TDBGrid; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton;
procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure SpeedButton1Click(Sender: TObject); procedure e2Change(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Fizgot: TFizgot;
implementation uses datm; {$R *.dfm}
procedure TFizgot.ToolButton2Click(Sender: TObject); begin
tm:=0;
panel1.Visible:=true;
end;
procedure TFizgot.ToolButton4Click(Sender: TObject); begin
if dm.iz.Fields[0].AsString='' then exit; tm:=1;
tmp:=dm.iz.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_iz from izgot where id_iz = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end else
begin
dm.COM.CommandText:='Update izgot set log_iz = TRUE WHERE id_iz='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e.Text:=dm.iz.Fields[1].AsString;
panel1.Visible:=true;
end;
procedure TFizgot.ToolButton6Click(Sender: TObject); begin
if dm.iz.Fields[0].AsString='' then exit; tmp:=dm.iz.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_iz from izgot where id_iz = '+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 izgot WHERE (id_iz='+tmp+')';
dm.COM.Execute;
dm.iz.Requery(); showmessage('Запись удалена'); end;
end;
procedure TFizgot.BitBtn2Click(Sender: TObject); begin
if (e.Text='') then showmessage('Не все поля заполнены') else
begin
if tm=0 then begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from izgot WHERE
(nazv_iz = "'+e.Text+'")'; dm.TEMP.Active:=true;
if dm.TEMP.RecordCount>0 then exit; dm.COM.CommandText:='Insert into izgot (nazv_iz) values
("'+e.Text+'")';
dm.COM.Execute;
46
dm.iz.Requery(); showmessage('Запись добавлена'); end
else begin
dm.TEMP.Active:=false; dm.TEMP.CommandText:='Select * from izgot WHERE
(nazv_iz = "'+e.Text+'")'; dm.TEMP.Active:=true;
if (dm.TEMP.RecordCount>0) AND (tmp<>dm.TEMP.Fields[0].asstring) then exit;
dm.COM.CommandText:='UPDATE izgot SET nazv_iz="'+e.Text+'" WHERE (id_iz='+tmp+')';
dm.COM.Execute;
dm.iz.Requery(); showmessage('Запись изменена'); end;
BitBtn1Click(Sender);
end;
end;
procedure TFizgot.BitBtn1Click(Sender: TObject); begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update izgot set log_iz = FALSE WHERE id_iz='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e.Text:='';
panel1.Visible:=false;
end;
procedure TFizgot.ToolButton8Click(Sender: TObject); begin
panel2.Visible:=true;
end;
procedure TFizgot.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update izgot set log_iz = FALSE WHERE id_iz='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e.Text:='';e2.Text:='';
panel1.Visible:=false;
panel2.Visible:=false;
close;
end;
procedure TFizgot.SpeedButton1Click(Sender: TObject); begin
dm.Iz.Active:=false;
dm.Iz.CommandText:='select id_iz,nazv_iz from izgot';
dm.Iz.Active:=true;
e2.Text:='';
panel2.Visible:=false;
end;
procedure TFizgot.e2Change(Sender: TObject); begin
dm.Iz.Active:=false;
dm.Iz.CommandText:='select id_iz,nazv_iz from izgot WHERE (nazv_iz like "%'+e2.Text+'%")';
dm.Iz.Active:=true;
end;
end.
unit ot;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, WordXP, OleServer;
type
TFot = class(TForm) dtp: TDateTimePicker; BitBtn1: TBitBtn;
WordDocument1: TWordDocument; WordApplication1: TWordApplication; procedure BitBtn1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Fot: TFot;
implementation
uses datm, main;
{$R *.dfm}
procedure TFot.BitBtn1Click(Sender: TObject); var p:integer;
Template,NewTemplate,FindText, NewStr, Replace,ReplaceWith:OleVariant;
LinkToFile,SaveWithDocument,Range:OleVariant; Table1: Table;
i,k: integer; //Reg: TRegistry; flag:boolean;
begin
WordApplication1.Connect; // Устанавливаем связь с сервером
//Открываем шаблон otchet.dot в Word
Template:=ExtractFilePath(Application.EXEName)+'Прайс.dot'; //путь к шаблону документа
WordApplication1.Documents.Add(Template,EmptyParam,Empty
Param,EmptyParam);// создаем документ на основе шаблона
WordDocument1.ConnectTo(WordApplication1.ActiveDocument)
; //Связываем компонент WordDocument1 c активным документом (т.е. с только что созданным документом)
47
dm.TEMP.Active:=false; dm.TEMP.CommandText:='select distinct
id_t,nazv_t,nazv_iz,ves_t,dl_t,sh_t,vis_t,gprs_t,mp3_t,st_t from izgot,tel,reg WHERE (id_iz=id_iz_t) AND (id_t_r = id_t) AND (data_r <= #'+fmain.data(dtp.Date)+'#) ';
dm.TEMP.Active:=true;
p:=dm.TEMP.RecordCount;
//showmessage(inttostr(p));
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select id_t,nazv_t,nazv_iz,ves_t,dl_t,sh_t,vis_t,gprs_t,mp3_t,cena_r from izgot,tel,reg WHERE (id_iz=id_iz_t) AND (id_t_r = id_t) AND (data_r <= #'+fmain.data(dtp.Date)+'#)order by data_r desc';
dm.TEMP.Active:=true;
//Заполняем таблицу списка объектов
Table1:=WordDocument1.Tables.Item(1); //связываем имя
Table1 с первой таблицей документа //WordDocument1.Tables - это массив таблиц документа (тип
Tables), а WordDocument1.Tables.Item(i) - i-ая таблица i:=2;
dm.temp.First; k:=1;
While (not dm.temp.Eof) and (k<=p) do begin Table1.Rows.Add(EmptyParam);
Table1.Cell(i, 1).Range.Text := dm.temp.Fields[1].AsString; Table1.Cell(i, 2).Range.Text := dm.temp.Fields[2].AsString; Table1.Cell(i, 3).Range.Text := dm.temp.Fields[3].AsString; Table1.Cell(i, 4).Range.Text := dm.temp.Fields[4].AsString; Table1.Cell(i, 5).Range.Text := dm.temp.Fields[5].AsString; Table1.Cell(i, 6).Range.Text := dm.temp.Fields[6].AsString; Table1.Cell(i, 7).Range.Text := dm.temp.Fields[7].AsString; Table1.Cell(i, 8).Range.Text := dm.temp.Fields[8].AsString; Table1.Cell(i, 9).Range.Text := dm.temp.Fields[9].AsString; inc(i);dm.temp.next; k:=k+1;
end; Table1.Rows.Item(i).Delete;
WordApplication1.Visible:=true; //делаем приложение MS Word видимым
WordApplication1.Disconnect; // Разрываем связь с сервером end;
end.
unit prod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ToolWin, Grids, DBGrids, StdCtrls, Buttons,
ExtCtrls,dateutils;
type
TFprod = class(TForm) Panel1: TPanel; Panel2: TPanel; Label1: TLabel;
dtp: TDateTimePicker; Label2: TLabel; Label3: TLabel;
e1: TEdit; Label4: TLabel;
Label5: TLabel; e2: TEdit; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn;
procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure e1KeyPress(Sender: TObject; var Key: Char); private
{Private declarations } public
{Public declarations } end;
var
Fprod: TFprod;
implementation
uses datm;
{$R *.dfm}
procedure TFprod.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+',"'+datetostr(dtp.Date)+'","'+datetostr(incmonth(dtp.Date,s trtoint(e1.Text)))+'",'+e1.Text+',"'+e2.Text+'","'+label9.caption+'")'
;
dm.COM.Execute;
dm.COM.CommandText:='Update sklad SET kol_s=kol_s-1 WHERE id_t_s = '+tmp+'';
dm.COM.Execute; showmessage('Телефон продан');
BitBtn1Click(Sender);
end;
48
end;
procedure TFprod.BitBtn1Click(Sender: TObject); begin
closequery;
end;
procedure TFprod.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin dtp.Date:=date;e1.Text:='';e2.Text:='';close; end;
procedure TFprod.e1KeyPress(Sender: TObject; var Key: Char); begin
if not (key in['0'..'9', #8]) then key:=#0; end;
end.
unit prod2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Menus;
type
TFprod2 = class(TForm) DBGrid1: TDBGrid; Panel2: TPanel;
SpeedButton1: TSpeedButton; Label1: TLabel;
e2: TEdit;
PopupMenu1: TPopupMenu; N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure SpeedButton1Click(Sender: TObject); procedure e2Change(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N1Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
Fprod2: TFprod2;
implementation
uses datm, agar, find; {$R *.dfm}
procedure TFprod2.SpeedButton1Click(Sender: TObject); begin
dm.pr.Active:=false;
dm.pr.CommandText:='select id_pr,nazv_t,nazv_iz,dataN_pr,sn_pr,st_pr,dataK_pr FROM prod,tel,izgot WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr)';
dm.pr.Active:=true;
e2.Text:='';
end;
procedure TFprod2.e2Change(Sender: TObject); begin
dm.pr.Active:=false;
dm.pr.CommandText:='select id_pr,nazv_t,nazv_iz,dataN_pr,sn_pr,st_pr,dataK_pr FROM prod,tel,izgot WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (nazv_t like "'+e2.Text+'")';
dm.pr.Active:=true;
end;
procedure TFprod2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin e2.Text:='';close; end;
procedure TFprod2.N1Click(Sender: TObject); begin
if dm.pr.Fields[0].AsString='' then exit; tmp:=inputbox('Поставка товара','Введите серийный номер:',''); dm.pr.Active:=false;
dm.pr.CommandText:='select id_pr,nazv_t,nazv_iz,dataN_pr,sn_pr,st_pr,dataK_pr FROM prod,tel,izgot WHERE (id_iz = id_iz_t) AND (id_t = id_t_pr) AND (sn_pr like "%'+tmp+'%")';
dm.pr.Active:=true;
end;
procedure TFprod2.N3Click(Sender: TObject); begin
if dm.pr.Fields[0].AsString='' then exit;
if dm.Pr.FieldByName('dataK_pr').AsDateTime<date then begin
showmessage('Срок гарантийного обслуживания истек'); exit;
end else
begin tmp:=dm.pr.Fields[0].AsString; fagar.ShowModal;
end;
end;
procedure TFprod2.N5Click(Sender: TObject); begin
ffind.ShowModal;
end;
end.
unit search;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;
type
TFsearch = class(TForm) Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn;
49
Panel2: TPanel; |
|
Label4: TLabel; |
interface |
e1: TEdit; |
|
cb1: TCheckBox; |
uses |
cb2: TCheckBox; |
Windows, Messages, SysUtils, Variants, Classes, Graphics, |
e2: TEdit; |
Controls, Forms, |
Label1: TLabel; |
Dialogs, StdCtrls, ComCtrls, ToolWin, Grids, DBGrids, Buttons, |
procedure BitBtn1Click(Sender: TObject); |
ExtCtrls; |
procedure FormCloseQuery(Sender: TObject; var CanClose: |
|
Boolean); |
type |
procedure BitBtn2Click(Sender: TObject); |
TFskid = class(TForm) |
private |
Panel1: TPanel; |
{ Private declarations } |
e1: TEdit; |
public |
BitBtn1: TBitBtn; |
{ Public declarations } |
BitBtn2: TBitBtn; |
end; |
Panel2: TPanel; |
|
SpeedButton1: TSpeedButton; |
var |
e3: TEdit; |
Fsearch: TFsearch; |
DBGrid1: TDBGrid; |
|
ToolBar1: TToolBar; |
implementation |
ToolButton1: TToolButton; |
|
ToolButton2: TToolButton; |
uses datm; |
ToolButton3: TToolButton; |
|
ToolButton4: TToolButton; |
{$R *.dfm} |
ToolButton5: TToolButton; |
|
ToolButton6: TToolButton; |
procedure TFsearch.BitBtn1Click(Sender: TObject); |
ToolButton7: TToolButton; |
begin |
ToolButton8: TToolButton; |
closequery; |
e2: TEdit; |
end; |
Label1: TLabel; |
|
Label2: TLabel; |
procedure TFsearch.FormCloseQuery(Sender: TObject; var |
procedure ToolButton2Click(Sender: TObject); |
CanClose: Boolean); |
procedure ToolButton4Click(Sender: TObject); |
begin |
procedure ToolButton6Click(Sender: TObject); |
cb1.Checked:=false;cb2.Checked:=false; |
procedure ToolButton8Click(Sender: TObject); |
e1.Text:='';e2.Text:='';close; |
procedure SpeedButton1Click(Sender: TObject); |
end; |
procedure e3Change(Sender: TObject); |
|
procedure BitBtn1Click(Sender: TObject); |
procedure TFsearch.BitBtn2Click(Sender: TObject); |
procedure FormCloseQuery(Sender: TObject; var CanClose: |
begin |
Boolean); |
if (e1.Text='') OR (e2.Text='') then showmessage('Нужно ввести |
procedure BitBtn2Click(Sender: TObject); |
числовые значения') |
procedure e2KeyPress(Sender: TObject; var Key: Char); |
else |
private |
begin |
{ Private declarations } |
try |
public |
strtoint(e1.Text); |
{ Public declarations } |
strtoint(e2.Text); |
end; |
except |
|
showmessage('Характеристики - числовые значения'); |
var |
exit; |
Fskid: TFskid; |
end; |
|
|
implementation |
dm.t.Active:=false; |
uses datm; |
dm.t.CommandText:='select |
{$R *.dfm} |
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 (gprs_t = |
procedure TFskid.ToolButton2Click(Sender: TObject); |
'+booltostr(cb1.Checked)+') AND (mp3_t = |
begin |
'+booltostr(cb2.Checked)+')AND (ves_t<='+e1.text+') AND (st_t |
tm:=0; |
<= '+e2.Text+') '; |
panel1.Visible:=true; |
dm.t.Active:=true; |
end; |
BitBtn1Click(Sender); |
|
|
procedure TFskid.ToolButton4Click(Sender: TObject); |
end; |
begin |
end; |
if dm.sk.Fields[0].AsString='' then exit; |
|
tm:=1; |
end. |
tmp:=dm.sk.Fields[0].AsString; |
|
//**************Многопользовательский |
unit skid; |
режим***************// |
50
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sk from skid where id_sk = '+tmp+'';
dm.TEMP.Active:=true;
if dm.TEMP.Fields[0].AsBoolean=true then begin
showmessage('Запись используется другим пользователем!'); exit;
end else
begin
dm.COM.CommandText:='Update skid set log_sk = TRUE WHERE id_sk='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e1.Text:=dm.sk.Fields[1].AsString;
e2.Text:=dm.sk.Fields[2].AsString;
panel1.Visible:=true;
end;
procedure TFskid.ToolButton6Click(Sender: TObject); begin
if dm.sk.Fields[0].AsString='' then exit; tmp:=dm.sk.Fields[0].AsString;
//**************Многопользовательский режим***************//
dm.TEMP.Active:=false;
dm.TEMP.CommandText:='select log_sk from skid where id_sk = '+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 skid WHERE (id_sk='+tmp+')';
dm.COM.Execute;
dm.sk.Requery(); showmessage('Запись удалена'); end;
end;
procedure TFskid.ToolButton8Click(Sender: TObject); begin
panel2.Visible:=true;
end;
procedure TFskid.SpeedButton1Click(Sender: TObject); begin
dm.sk.Active:=false;
dm.sk.CommandText:='select id_sk,nazv_sk,vel_sk from skid'; dm.sk.Active:=true;
panel2.Visible:=false;
end;
procedure TFskid.e3Change(Sender: TObject); begin
dm.sk.Active:=false;
dm.sk.CommandText:='select id_sk,nazv_sk,vel_sk from skid WHERE (nazv_sk like "%'+e3.Text+'%")'; dm.sk.Active:=true;
end;
procedure TFskid.BitBtn1Click(Sender: TObject); begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skid set log_sk = FALSE WHERE id_sk='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e1.Text:='';e2.Text:='';
panel1.Visible:=false;
end;
procedure TFskid.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
//**************Многопользовательский режим***************//
if tm=1 then begin
dm.COM.CommandText:='Update skid set log_sk = FALSE WHERE id_sk='+tmp+'';
dm.COM.Execute;
end;
//**************Многопользовательский режим***************//
e1.Text:='';e2.Text:='';e3.Text:='';
panel1.Visible:=false;
panel2.Visible:=false;
close;
end;
procedure TFskid.BitBtn2Click(Sender: TObject); begin
if (e1.Text='') or (e2.Text='') then showmessage('Не все поля заполнены')
else begin
try
if (strtofloat(e2.Text)<=0) OR (strtofloat(e2.Text)>=100) then begin
showmessage('Размер скидки (0,100)'); exit;
end; except
showmessage('Стоимость - числовое значение'); exit;
end;
if tm=0 then 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 then exit;
51