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

Листинг Б.11 – Oborud

unit Oborud; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,accessdb; type

TFOborud = class(TForm) DBGrid1: TDBGrid; Panel1: TPanel; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn6: TBitBtn; Panel2: TPanel;

e: TEdit; BitBtn4: TBitBtn; BitBtn5: TBitBtn; BitBtn1: TBitBtn;

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

FOborud: TFOborud; implementation

uses datm, aoborud; {$R *.dfm}

procedure TFOborud.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin e.Clear; end;

procedure TFOborud.BitBtn3Click(Sender: TObject); begin

if dm.ob.RecordCount=0 then showmessage('Записи отсутствуют')

else begin tm:=1;

id_ob:=dm.ob.Fields[0].AsString;

if accessdb.Delete('ob','oborud',id_ob)=false then showmessage('Запись используется другим пользователем')

else dm.ob.Requery(); end;

end;

procedure TFOborud.BitBtn2Click(Sender: TObject); begin

if dm.ob.RecordCount=0 then showmessage('Записи отсутствуют')

else begin tm:=1;

id_pod:=dm.ob.Fieldbyname('id_pod').asstring; id_ob:=dm.ob.Fields[0].AsString;

if accessdb.Update('ob','oborud',id_ob)=false then showmessage('Запись используется другим пользователем')

else begin

faoborud.cb1.Text:=dm.ob.fieldbyname('podr').AsString; faoborud.e1.Text:=dm.ob.fieldbyname('nazv_ob').AsString; faoborud.e2.Text:=dm.ob.fieldbyname('zn_ob').AsString; faoborud.e3.Text:=dm.ob.fieldbyname('st_ob').AsString; faoborud.e4.Text:=dm.ob.fieldbyname('rabota_ob').AsString;

faoborud.dtp1.date:=dm.ob.fieldbyname('datav_ob').AsDateTime; faoborud.dtp2.date:=dm.ob.fieldbyname('datap_ob').AsDateTime;

faoborud.Caption:=caption+' :: '+bitbtn2.caption; faoborud.ShowModal;

42

end;

end;

end;

procedure TFOborud.BitBtn4Click(Sender: TObject); begin

dm.ob.Active:=false;

dm.ob.CommandText:='select id_ob,([nazv_np]&", "&[nazv_lu]&", "&[nazv_pod]) as podr,nazv_ob,st_ob,datav_ob,datap_ob,zn_ob,id_np,id_lu,id_pod, kod_np,kod_lu,kod_pod,rabota_ob from nasp,luchr,podrazd,oborud '+

'WHERE (id_np=id_np_lu) and (id_lu=id_lu_pod) and (id_pod = id_pod_ob) and (nazv_ob like "%'+e.Text+'%")'; dm.ob.Active:=true;

end;

procedure TFOborud.BitBtn5Click(Sender: TObject); begin

dm.ob.Active:=false;

dm.ob.CommandText:='select id_ob,([nazv_np]&", "&[nazv_lu]&", "&[nazv_pod]) as podr,nazv_ob,st_ob,datav_ob,datap_ob,zn_ob,id_np,id_lu,id_pod, kod_np,kod_lu,kod_pod,rabota_ob from nasp,luchr,podrazd,oborud '+

'WHERE (id_np=id_np_lu) and (id_lu=id_lu_pod) and (id_pod = id_pod_ob) and (nazv_ob like "%'+e.Text+'%") order by st_ob'; dm.ob.Active:=true;

end;

procedure TFOborud.BitBtn1Click(Sender: TObject); begin

dm.ob.Active:=false;

dm.ob.CommandText:='select id_ob,([nazv_np]&", "&[nazv_lu]&", "&[nazv_pod]) as podr,nazv_ob,st_ob,datav_ob,datap_ob,zn_ob,id_np,id_lu,id_pod, kod_np,kod_lu,kod_pod,rabota_ob from nasp,luchr,podrazd,oborud '+

'WHERE (id_np=id_np_lu) and (id_lu=id_lu_pod) and (id_pod = id_pod_ob) and (nazv_ob like "%'+e.Text+'%") order by datav_ob';

dm.ob.Active:=true;

end;

procedure TFOborud.BitBtn6Click(Sender: TObject); var

rem,st:string; begin

if dm.ob.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_ob:=dm.ob.Fields[0].AsString; id_pod:=dm.ob.Fieldbyname('id_pod').asstring; rem:=inputbox('Вид работ','Введите вид ремонтных работ',''); st:=inputbox('Стоимость','Введите стоимость работ','0');

if (length(rem)<1) OR (length(rem)>254) then showmessage('Ошибка при вводе вида ремонтных работ')

else begin

try

if (strtofloat(st)<0) then begin

showmessage('Стоимость работ не может быть отрицательной');

exit;

end; except

showmessage('Ошибка при вводе стоимости работ'); exit;

end;

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_zk from remont,zakaz WHERE (id_ob_rm='+id_ob+') and (data_zk = date()) and (id_zk=id_zk_rm) and (id_pod_zk='+id_pod+')';

dm.temp.Active:=true;

if dm.temp.RecordCount>0 then showmessage('В этот день ремонт данного оборудования производился')

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_zk from

remont,zakaz

begin

WHERE

(data_zk = date()) and

(id_zk=id_zk_rm) and

 

(id_pod_zk='+id_pod+')';

 

 

 

dm.temp.Active:=true;

 

 

 

if

dm.temp.RecordCount>0

then

 

id_zk:=dm.temp.Fields[0].AsString

 

 

 

else

 

 

 

 

begin

 

 

 

 

dm.com.CommandText:='Insert

into

zakaz

 

(id_pod_zk,data_zk) values ('+id_pod+',date())';

 

 

dm.com.Execute;

 

 

 

dm.temp.Active:=false;

 

 

 

dm.temp.CommandText:='select max(id_zk) from zakaz';

 

dm.temp.Active:=true;

 

 

 

id_zk:=dm.temp.Fields[0].AsString;

 

 

 

end;

 

 

 

 

dm.com.CommandText:='insert

into

remont

 

(id_ob_rm,st_rm,rem_rm,id_zk_rm)

 

values

 

('+id_ob+',"'+st+'","'+rem+'",'+id_zk+')';

 

 

 

dm.com.Execute;

 

 

 

showmessage('Оборудование Отправлено на ремонт'); end;

end;

end;

end;

end.

Листинг Б.12 – ot

unit ot; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, WordXP, OleServer, StdCtrls, Buttons,Registry; type

TFot = class(TForm) Label1: TLabel; cb1: TComboBox; Label2: TLabel; cb2: TComboBox; BitBtn1: TBitBtn; Button1: TButton;

WordApplication1: TWordApplication; WordDocument1: TWordDocument;

procedure cb1KeyPress(Sender: TObject; var Key: Char);

procedure cb2KeyPress(Sender: TObject; var Key: Char);

procedure Button1Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure FormShow(Sender: TObject); procedure BitBtn1Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

Fot: TFot;

implementation

uses datm;

{$R *.dfm}

procedure TFot.cb1KeyPress(Sender: TObject; var Key: Char);

key:=#0;

end;

procedure TFot.cb2KeyPress(Sender: TObject; var Key: Char);

begin key:=#0; end;

procedure TFot.Button1Click(Sender: TObject); begin

closequery;

end;

procedure TFot.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin cb1.Clear;cb2.Clear; close;

end;

procedure TFot.FormShow(Sender: TObject); begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select nazv_np From nasp ORDER BY nazv_np';

dm.temp.Active:=true; While not dm.temp.Eof do

begin cb1.Items.Add(dm.temp.Fields[0].AsString); dm.temp.Next;

end;

dm.temp.Active:=false;

dm.temp.CommandText:='Select distinct nazv_pod From podrazd ORDER BY nazv_pod';

dm.temp.Active:=true; While not dm.temp.Eof do

begin cb2.Items.Add(dm.temp.Fields[0].AsString); dm.temp.Next;

end;

end;

43

procedure TFot.BitBtn1Click(Sender: TObject); var peremen:string;

Template,NewTemplate,FindText, NewStr, Replace,ReplaceWith:OleVariant;

LinkToFile,SaveWithDocument,Range:OleVariant; Table1: Table;

i: integer;

Reg: TRegistry; flag:boolean;

summa,data,nom,tel,otdel:string; begin

WordApplication1.Connect; // Устанавливаем связь с сервером

//Открываем шаблон otchet.dot в Word

Template:=ExtractFilePath(Application.EXEName)+'data\

Шаблоны\ЛУчр.dot'; //путь к шаблону документа

WordApplication1.Documents.Add(Template,EmptyParam ,EmptyParam,EmptyParam);// создаем документ на основе шаблона

WordDocument1.ConnectTo(WordApplication1.ActiveDo cument); //Связываем компонент WordDocument1 c

активным документом (т.е. с только что созданным документом)

dm.TEMP.Active:=false;

dm.TEMP.CommandText:='Select nazv_np,nazv_lu,fio_lu,tel_lu from nasp,luchr where (id_np=id_np_lu) and (nazv_np like "%'+cb1.Text+'%")';// and (nazv_pod like "%'+cb2.Text+'%")';

dm.TEMP.Active:=true;

//Заполняем таблицу списка объектов

Table1:=WordDocument1.Tables.Item(1); //связываем имя Table1 с первой таблицей документа

//WordDocument1.Tables - это массив таблиц документа (тип Tables), а

WordDocument1.Tables.Item(i) - i-ая таблица i:=2;

dm.temp.First;

While not dm.temp.Eof do begin

Table1.Rows.Add(EmptyParam);

Table1.Cell(i, 1).Range.Text := dm.temp.Fields[0].AsString;

Table1.Cell(i, 2).Range.Text := dm.temp.Fields[1].AsString;

Table1.Cell(i, 3).Range.Text := dm.temp.Fields[2].AsString;

Table1.Cell(i, 4).Range.Text := dm.temp.Fields[3].AsString;

inc(i);dm.temp.next;

end; Table1.Rows.Item(i).Delete;

WordApplication1.Visible:=true; //делаем приложение

MS Word видимым

WordApplication1.Disconnect; // Разрываем связь с сервером

end;

end.

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms,

Dialogs,inifiles, StdCtrls;

type

TFpass = class(TForm)

Листинг Б.13 – pass

 

unit pass;

Label1: TLabel;

interface

Label2: TLabel;

uses

cb: TComboBox;

 

 

e: TEdit;

 

44

Button1: TButton;

Button2: TButton;

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure FormShow(Sender: TObject);

procedure cbKeyPress(Sender: TObject; var Key: Char); procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject); private

{Private declarations } public

{Public declarations } end;

var

Fpass: TFpass;

implementation

uses datm, main, luchr, NasP, Oborud, Podrazd, Zakaz;

{$R *.dfm}

procedure TFpass.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if application.MessageBox('Вы уверены?','Выход из программы!',mb_yesno+mb_iconquestion)=idyes then

begin dm.ado.Connected:=false; application.Terminate; end

else canclose:=false; end;

procedure TFpass.FormShow(Sender: TObject); var inifile:tinifile;

dbp:string; begin

IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data\opti ons.ini');

DBP := IniFile.ReadString('options', 'DBPath', ''); application.Title:=IniFile.ReadString('options', 'Title', ''); fmain.Caption:=IniFile.ReadString('options', 'mform', ''); avtor:=IniFile.ReadString('options', 'avtor', ''); gruppa:=IniFile.ReadString('options', 'gruppa', ''); IniFile.Free;

fpass.Caption:=application.Title;

dm.od.InitialDir:=ExtractFilePath(Application.ExeName)+'Data\'; try

dm.ADO.Connected:=false;

dm.ADO.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+dbp+';Persist Security Info=False';

dm.ADO.Connected:=true; except

if application.MessageBox('Произошла ошибка при подключении к базе данных!'#13'Хотите указать месторасположение базы данных?','База данных',mb_yesno+mb_iconquestion)=idyes then

begin

if dm.od.Execute then begin

IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Data\opti ons.ini');

inifile.WriteString('options','DBPath',dm.od.FileName);

IniFile.Free;

dbp:=dm.od.FileName;

dm.ADO.Connected:=false;

dm.ADO.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+dbp+';Persist Security Info=False';

dm.ADO.Connected:=true; end

else

45

begin dm.ado.Connected:=false;

showmessage('Вы вышли из программы'); application.Terminate;

end; end

else begin

dm.ado.Connected:=false; showmessage('Вы вышли из программы'); application.Terminate;

end;

end;

cb.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='Select login from pass order by login'; dm.temp.Active:=true;

while not dm.temp.Eof do begin

cb.Items.Add(dm.temp.Fields[0].AsString);

dm.temp.Next;

end;

end;

procedure TFpass.cbKeyPress(Sender: TObject; var Key: Char); begin

key:=#0;

end;

procedure TFpass.Button2Click(Sender: TObject); begin

closequery;

end;

procedure TFpass.Button1Click(Sender: TObject); begin

if (cb.Text='') OR (e.Text='') then showmessage('Вы не выбрали имя пользователя и/или не ввели пароль')

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select login from pass where (login="'+cb.Text+'") and (pass="'+e.Text+'")';

dm.temp.Active:=true;

if dm.temp.RecordCount=0 then showmessage('Данный пароль не соответствует выбранному имени пользователя')

else begin

if (dm.temp.Fields[0].AsString='Администратор') then begin

end

else if (dm.temp.Fields[0].AsString='Заполнитель')then begin

fmain.N3.Enabled:=false;

fmain.N4.Enabled:=false;

fzakaz.BitBtn6.Enabled:=false;

fmain.N16.Enabled:=false; end

else if (dm.temp.Fields[0].AsString='Технический отдел')then begin

fmain.N3.Enabled:=false;

fmain.N4.Enabled:=false;

fluchr.BitBtn1.Enabled:=false;

fluchr.BitBtn2.Enabled:=false;

fluchr.BitBtn3.Enabled:=false;

fluchr.BitBtn6.Enabled:=false;

fnasp.BitBtn1.Enabled:=false;

fnasp.BitBtn2.Enabled:=false;

fnasp.BitBtn3.Enabled:=false;

foborud.BitBtn2.Enabled:=false;

foborud.BitBtn3.Enabled:=false;

foborud.BitBtn6.Enabled:=false;

fpodrazd.BitBtn2.Enabled:=false;

fpodrazd.BitBtn3.Enabled:=false;

fpodrazd.BitBtn6.Enabled:=false;

end; fmain.sb1.Panels[0].Text:='Пользователь:

'+dm.temp.Fields[0].AsString;

fpass.Hide;

fmain.ShowModal;

end;

end;

end;

end.

Листинг Б.14 – Podrazd

unit Podrazd; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,accessdb;

type

TFPodrazd = class(TForm) DBGrid1: TDBGrid; Panel1: TPanel;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn6: TBitBtn; Panel2: TPanel; e: TEdit; BitBtn4: TBitBtn; BitBtn5: TBitBtn;

procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject);

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure BitBtn4Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

FPodrazd: TFPodrazd;

implementation

uses datm, aPodrazd, aoborud;

{$R *.dfm}

procedure TFPodrazd.BitBtn2Click(Sender: TObject); begin

if dm.pod.RecordCount=0 then showmessage('Записи отсутствуют')

else begin tm:=1;

id_lu:=dm.pod.Fieldbyname('id_lu').asstring; id_pod:=dm.pod.Fields[0].AsString;

if accessdb.Update('pod','podrazd',id_pod)=false then showmessage('Запись используется другим пользователем')

else begin

fapodrazd.cb1.Text:=dm.pod.fieldbyname('lu').AsString;

fapodrazd.e1.Text:=dm.pod.fieldbyname('nazv_pod').AsStr ing; fapodrazd.e2.Text:=dm.pod.fieldbyname('fio_pod').AsStrin g; fapodrazd.e3.Text:=dm.pod.fieldbyname('tel_pod').AsStrin g;

fapodrazd.e4.Text:=dm.pod.fieldbyname('kod_pod').AsStri ng;

fapodrazd.Caption:=caption+' :: '+bitbtn2.caption; fapodrazd.ShowModal;

end;

end;

end;

procedure TFPodrazd.BitBtn3Click(Sender: TObject); begin

if dm.pod.RecordCount=0 then showmessage('Записи отсутствуют')

else begin tm:=1;

id_pod:=dm.pod.Fields[0].AsString;

if accessdb.Delete('pod','podrazd',id_pod)=false then showmessage('Запись используется другим пользователем')

else dm.pod.Requery(); end;

end;

procedure TFPodrazd.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin e.Clear; end;

procedure TFPodrazd.BitBtn4Click(Sender: TObject); begin

dm.pod.Active:=false;

dm.pod.CommandText:='Select id_pod,nazv_pod,fio_pod,tel_pod,([nazv_lu]&" ("&[nazv_np]&")") as lu,id_lu,kod_pod,kod_lu from podrazd,luchr,nasp where (id_lu=id_lu_pod) and (id_np=id_np_lu) and (nazv_pod like "%'+e.Text+'%")'; dm.pod.Active:=true;

end;

procedure TFPodrazd.BitBtn5Click(Sender: TObject); begin

dm.pod.Active:=false;

dm.pod.CommandText:='Select id_pod,nazv_pod,fio_pod,tel_pod,([nazv_lu]&" ("&[nazv_np]&")") as lu,id_lu,kod_pod,kod_lu from podrazd,luchr,nasp where (id_lu=id_lu_pod) and (id_np=id_np_lu) and (nazv_pod like "%'+e.Text+'%") order by nazv_np,nazv_lu';

46

dm.pod.Active:=true;

end;

procedure TFPodrazd.BitBtn6Click(Sender: TObject); begin

if dm.pod.RecordCount=0 then showmessage('Записи отсутствуют')

else begin tm:=0;

id_pod:=dm.pod.Fields[0].AsString; faoborud.Caption:=caption+' :: '+BitBtn6.Caption; faoborud.cb1.text:=dm.pod.fieldbyname('lu').AsString+' -

'+dm.pod.fieldbyname('nazv_pod').AsString; faoborud.dtp1.Date:=date; faoborud.dtp2.Date:=date; faoborud.ShowModal;

end;

end;

end.

Листинг Б.15 – UEasyPath

unit UEasyPath;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

function PathWithoutExt(Path:string):string; function NameFile(Path:string;Ext:boolean):string; function PathToFile(Path:string):string;

function Ext(Path:string):string;

implementation

function PathWithoutExt(Path:string):string; var s:string;

i:integer; begin i:=1;

while s<>'.' do begin

s:=copy(path,length(path)-i+1,1); inc(i);

end; result:=copy(path,0,length(path)-i+1); end;

function NameFile(Path:string;Ext:boolean):string; var s,s1:string;

i:integer; begin i:=1;

while s<>'\' do begin

s:=copy(path,length(path)-i+1,1); inc(i);

end; s1:=copy(path,length(path)-i+3,i); if Ext=true then result:=s1

else begin i:=1;

while s<>'.' do begin

s:=copy(s1,length(s1)-i+1,1); inc(i);

end; result:=copy(s1,0,length(s1)-i+1);

end;

end;

function PathToFile(Path:string):string; var s:string;

i:integer; begin i:=1;

while s<>'\' do begin

s:=copy(path,length(path)-i+1,1); inc(i);

end; result:=copy(path,0,length(path)-i+2); end;

function Ext(Path:string):string; var s:string;

i:integer; begin i:=1;

while s<>'.' do begin

s:=copy(path,length(path)-i+1,1); inc(i);

end; result:=copy(path,length(path)-i+3,i); end;

end.

47

Листинг Б.16 – Zakaz

unit Zakaz;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, WordXP, OleServer,registry;

type

TFZakaz = class(TForm) DBGrid1: TDBGrid; Panel1: TPanel; BitBtn6: TBitBtn;

WordApplication1: TWordApplication; WordDocument1: TWordDocument; procedure BitBtn6Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

FZakaz: TFZakaz;

implementation

uses datm;

{$R *.dfm}

procedure TFZakaz.BitBtn6Click(Sender: TObject); var peremen:string;

Template,NewTemplate,FindText, NewStr, Replace,ReplaceWith:OleVariant;

LinkToFile,SaveWithDocument,Range:OleVariant; Table1: Table;

i: integer;

Reg: TRegistry; flag:boolean;

summa,data,nom,tel,otdel:string; begin

if dm.zk.RecordCount=0 then showmessage('Записи отсутствуют')

else begin

id_zk:=dm.zk.Fieldbyname('id_zk').asstring;

WordApplication1.Connect; // Устанавливаем связь с сервером //Открываем шаблон otchet.dot в Word

Template:=ExtractFilePath(Application.EXEName)+'data\Шаблон ы\Акт.dot'; //путь к шаблону документа

WordApplication1.Documents.Add(Template,EmptyParam,Empty Param,EmptyParam);// создаем документ на основе шаблона

WordDocument1.ConnectTo(WordApplication1.ActiveDocument) ; //Связываем компонент WordDocument1 c активным документом (т.е. с только что созданным документом)

dm.TEMP.Active:=false;

dm.TEMP.CommandText:='Select id_zk,data_zk,count(id_ob) as kol, sum(st_ob) as summa,([nazv_np]&", "&[nazv_lu]&", "&[nazv_pod]) as podr,nazv_pod,tel_pod from oborud,zakaz,nasp,luchr,podrazd '+

'WHERE (id_zk=id_zk_ob) and (id_np=id_np_lu) and (id_lu=id_lu_pod) and (id_pod=id_pod_zk) and (id_zk='+id_zk+') GROUP BY id_zk,data_zk,([nazv_np]&", "&[nazv_lu]&", "&[nazv_pod]),nazv_pod,tel_pod ';

dm.TEMP.Active:=true; //nom:=dm.temp.fieldbyname('id_zk').AsString;

48

data:=dm.temp.fieldbyname('data_zk').AsString; summa:=dm.temp.fieldbyname('summa').AsString; tel:=dm.temp.fieldbyname('tel_pod').AsString; otdel:=dm.temp.fieldbyname('podr').AsString;

dm.TEMP.Active:=false;

dm.TEMP.CommandText:='Select nazv_ob,rabota_ob,st_ob from oborud WHERE (id_zk_ob='+id_zk+')';

dm.TEMP.Active:=true;

Replace:=true; // параметр, задающий режим замены

FindText:='#1'; // что меняем ReplaceWith:=otdel; // на что меняем

WordDocument1.Range.Find.Execute(FindText,EmptyParam,Emp tyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,ReplaceWith,Replace,EmptyParam,Em

ptyParam,EmptyParam,EmptyParam);

Replace:=true; // параметр, задающий режим замены

FindText:='#2'; // что меняем ReplaceWith:=tel; // на что меняем

WordDocument1.Range.Find.Execute(FindText,EmptyParam,Emp tyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,ReplaceWith,Replace,EmptyParam,Em

ptyParam,EmptyParam,EmptyParam);

Replace:=true; // параметр, задающий режим замены

FindText:='#3'; // что меняем ReplaceWith:=nom; // на что меняем

WordDocument1.Range.Find.Execute(FindText,EmptyParam,Emp tyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,ReplaceWith,Replace,EmptyParam,Em

ptyParam,EmptyParam,EmptyParam);

Replace:=true; // параметр, задающий режим замены

FindText:='#4'; // что меняем ReplaceWith:=data; // на что меняем

WordDocument1.Range.Find.Execute(FindText,EmptyParam,Emp tyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,ReplaceWith,Replace,EmptyParam,Em

ptyParam,EmptyParam,EmptyParam);

{ Replace:=true; // параметр, задающий режим замены

FindText:='#5'; // что меняем ReplaceWith:=summa; // на что меняем

WordDocument1.Range.Find.Execute(FindText,EmptyParam,Emp tyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,ReplaceWith,Replace,EmptyParam,Em ptyParam,EmptyParam,EmptyParam); }

//Заполняем таблицу списка объектов

Table1:=WordDocument1.Tables.Item(1); //связываем имя

Table1 с первой таблицей документа

//WordDocument1.Tables - это массив таблиц документа (тип

Tables), а WordDocument1.Tables.Item(i) - i-ая таблица i:=2;

dm.temp.First;

While not dm.temp.Eof do begin

Table1.Rows.Add(EmptyParam);

Table1.Cell(i, 1).Range.Text := dm.temp.Fields[0].AsString; Table1.Cell(i, 2).Range.Text := dm.temp.Fields[1].AsString; Table1.Cell(i, 3).Range.Text := dm.temp.Fields[2].AsString; inc(i);dm.temp.next;

end; Table1.Rows.Item(i).Delete;

WordApplication1.Visible:=true; //делаем приложение MS Word видимым

WordApplication1.Disconnect; // Разрываем связь с сервером end;

end;

end.

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