Курсовые работы / ПРИС П _4
.pdfПРИЛОЖЕНИЕ А
Функциональная модель информационной системы по стандарту IDEF0 и методологии SADT
Функциональная модель представлена на рисунках А.1-А.6.
Рисунок А.1 – Бизнес - процесс
Рисунок А.2 –Декомпозиция процесса
22
Рисунок А.3 – Декомпозиция процесса «Планирование работ»
Рисунок А.4 – Декомпозиция процесса «Создание нового пользователя»
23
Рисунок А.6 – Декомпозиция процесса «Формирование отчета»
24
ПРИЛОЖЕНИЕ Б Свойства полей
Рисунок Б. 1 – Свойтсво полей таблицы «Prem»
Рисунок Б. 2 – Свойтсво полей таблицы «Prod»
Рисунок Б. 3 – Свойтсво полей таблицы «Rab»
Рисунок Б. 4 – Свойтсво полей таблицы «rCen»
Рисунок Б. 5 – Свойтсво полей таблицы «pass»
25
Рисунок Б. 6 – Свойтсво полей таблицы «Tabel»
26
ПРИЛОЖЕНИЕ В Листинг программы
unit pass; |
|
showmessage('База данных по |
программы',mb_yesno+mb_iconqu |
|
interface |
|
указанному пути не |
estion)=idyes then |
|
uses |
|
найдена!'); |
|
begin |
Windows, Messages, |
exit; |
|
showmessage('Программа |
|
SysUtils, Variants, Classes, |
end; |
|
будет закрыта!'); |
|
Graphics, Controls, Forms, |
try |
|
application.Terminate; |
|
Dialogs, Buttons, StdCtrls, |
dm.ADO.Connected:=false; |
end |
||
ExtCtrls,inifiles; |
dm.ADO.ConnectionString:='Pro |
else canclose:=false; |
||
type |
|
vider=Microsoft.Jet.OLEDB.4.0 |
end; |
|
TFpass = class(TForm) |
;Data Source='+dbp+';Persist |
procedure |
||
Panel1: TPanel; |
Security Info=False'; |
TFpass.BitBtn1Click(Sender: |
||
Panel2: TPanel; |
dm.ADO.Connected:=true; |
TObject); |
||
BitBtn1: TBitBtn; |
except |
|
begin |
|
BitBtn2: TBitBtn; |
showmessage('Произошла ошибка |
if e1.Text='' then |
||
Label1: TLabel; |
при подключении к базе'); |
showmessage('Вы не ввели имя |
||
e1: TEdit; |
exit; |
|
пользователя') |
|
Label2: TLabel; |
end; |
|
else if e2.Text='' then |
|
e2: TEdit; |
end; |
|
showmessage('Вы не ввели |
|
Label3: TLabel; |
procedure |
|
пароль') |
|
e3: TEdit; |
TFpass.SpeedButton1Click(Send |
else |
||
SpeedButton1: |
er: TObject); |
|
begin |
|
TSpeedButton; |
|
var inifile:tinifile; |
dm.temp.Active:=false; |
|
procedure |
|
dbp:string; |
|
|
FormShow(Sender: TObject); |
begin |
|
dm.temp.CommandText:='select |
|
procedure |
|
if dm.od.Execute then |
log from pass where |
|
SpeedButton1Click(Sender: |
begin |
|
(login="'+e1.Text+'") and |
|
TObject); |
|
e3.Text:=dm.od.FileName; |
(pass="'+e2.Text+'")'; |
|
procedure |
|
try |
|
dm.temp.Active:=true; |
BitBtn2Click(Sender: |
dm.ADO.Connected:=false; |
if dm.temp.RecordCount>0 |
||
TObject); |
|
dm.ADO.ConnectionString:='Pro |
then |
|
procedure |
|
vider=Microsoft.Jet.OLEDB.4.0 |
begin |
|
FormCloseQuery(Sender: |
;Data |
|
if |
|
TObject; var CanClose: |
Source='+dm.od.FileName+';Per |
dm.temp.Fields[0].AsBoolean=t |
||
Boolean); |
|
sist Security Info=False'; |
rue then |
|
procedure |
|
dm.ADO.Connected:=true; |
begin |
|
BitBtn1Click(Sender: |
except |
|
fpass.Hide; |
|
TObject); |
|
showmessage('Произошла |
fmain.showmodal; |
|
private |
|
ошибка при подключении к |
end |
|
{ Private declarations } |
базе'); |
|
else |
|
public |
|
exit; |
|
begin |
{ Public declarations } |
end; |
|
|
|
end; |
|
IniFile |
:= |
fmain.N4.Visible:=false; |
var |
|
TIniFile.Create(ExtractFilePa |
|
|
Fpass: TFpass; |
th(Application.ExeName)+'opti |
fmain.N2.Visible:=false; |
||
implementation |
ons.ini'); |
// |
fpass.Hide; |
|
uses datm, main; |
загрузка из фала настроек |
fmain.showmodal; |
||
{$R *.dfm} |
|
пути к базе |
|
end; |
procedure |
|
|
|
end |
TFpass.FormShow(Sender: |
inifile.WriteString('Options' |
else |
||
TObject); |
|
, 'DBPath', dm.od.FileName); |
begin |
|
var inifile:tinifile; |
IniFile.Free; |
|
showmessage('Проверьте |
|
dbp:string; |
|
end; |
|
правильность пароля'); |
begin |
|
end; |
|
exit; |
IniFile |
:= |
procedure |
|
end; |
TIniFile.Create(ExtractFilePa |
TFpass.BitBtn2Click(Sender: |
end; |
||
th(Application.ExeName)+'opti |
TObject); |
|
end; |
|
ons.ini'); |
// |
begin |
|
end. |
загрузка из фала настроек |
closequery; |
|
program Psixi; |
|
пути к базе |
|
end; |
|
uses |
DBP := |
|
procedure |
|
Forms, |
IniFile.ReadString('Options', |
TFpass.FormCloseQuery(Sender: |
pass in 'pass.pas' {Fpass}, |
||
'DBPath', |
|
TObject; var CanClose: |
datm in 'datm.pas' {dm: |
|
ExtractFilePath(Application.E |
Boolean); |
|
TDataModule}, |
|
xeName)+''); |
|
begin |
|
main in 'main.pas' {fmain}, |
e3.Text:=dbp; |
|
if application.MessageBox('Вы |
Chpass in 'Chpass.pas' |
|
IniFile.Free; |
|
хотите выйти из |
|
{FChpass}, |
if fileexists(dbp)=false then |
программы?','Выход из |
diagnoz in 'diagnoz.pas' |
||
begin |
|
|
|
{Fdiagnoz}, |
27
aDiagnoz in 'aDiagnoz.pas' |
ToolBar2: TToolBar; |
dm.temp.Active:=false; |
{FaDiagnoz}, |
e1: TEdit; |
dm.temp.CommandText:='Select |
pacient in 'pacient.pas' |
Button4: TButton; |
kto_vid from vidacha order by |
{Fpacient}, |
Button7: TButton; |
kto_vid'; |
aPacient in 'aPacient.pas' |
ToolBar3: TToolBar; |
dm.temp.Active:=true; |
{FaPacient}, |
Button5: TButton; |
While not dm.temp.Eof do |
Vidacha in 'Vidacha.pas' |
Button6: TButton; |
begin |
{FVidacha}, |
DBGrid1: TDBGrid; |
fasprav.cb2.Items.Add(dm.temp |
avidacha in 'avidacha.pas' |
ToolButton1: TToolButton; |
.fields[0].AsString); |
{Favidacha}, |
Button8: TButton; |
dm.temp.Next; |
Sprav in 'Sprav.pas' |
WordApplication1: |
end; |
{FSprav}, |
TWordApplication; |
fasprav.ShowModal; |
aSprav in 'aSprav.pas' |
WordDocument1: |
end; |
{FaSprav}, |
TWordDocument; |
procedure |
ot1 in 'ot1.pas' {fot1}, |
Button9: TButton; |
TFSprav.Button2Click(Sender: |
ot2 in 'ot2.pas' {Fot2}; |
ToolButton2: TToolButton; |
TObject); |
{$R *.res} |
procedure |
begin |
begin |
Button1Click(Sender: |
if |
Application.Initialize; |
TObject); |
dm.sp.Fields[0].AsString='' |
Application.Title := |
procedure |
then |
'Психоневрологический |
Button2Click(Sender: |
begin |
диспансер'; |
TObject); |
showmessage('Запись для |
|
procedure |
редактирования отсутствует'); |
Application.CreateForm(TFpass |
Button3Click(Sender: |
exit; |
, Fpass); |
TObject); |
end; |
Application.CreateForm(Tdm, |
procedure |
if |
dm); |
Button7Click(Sender: |
dm.sp.Fields[5].AsBoolean=TRU |
|
TObject); |
E then |
Application.CreateForm(Tfmain |
procedure |
begin |
, fmain); |
Button5Click(Sender: |
showmessage('Данную запись |
|
TObject); |
изменить невозможно'); |
Application.CreateForm(TFChpa |
procedure |
exit; |
ss, FChpass); |
Button6Click(Sender: |
end; |
|
TObject); |
tmp:=dm.sp.Fields[0].AsString |
Application.CreateForm(TFdiag |
procedure |
;tm:=1; |
noz, Fdiagnoz); |
Button4Click(Sender: |
//*************************** |
|
TObject); |
*** |
Application.CreateForm(TFaDia |
procedure |
if |
gnoz, FaDiagnoz); |
FormCloseQuery(Sender: |
fmain.Update('sp','sprav')=fa |
|
TObject; var CanClose: |
lse then |
Application.CreateForm(TFpaci |
Boolean); |
begin |
ent, Fpacient); |
procedure |
showmessage('Данная запись |
|
Button8Click(Sender: |
используется другим |
Application.CreateForm(TFaPac |
TObject); |
пользователем'); |
ient, FaPacient); |
procedure |
exit; |
|
FormShow(Sender: TObject); |
end; |
Application.CreateForm(TFVida |
procedure |
//*************************** |
cha, FVidacha); |
Button9Click(Sender: |
*** |
|
TObject); |
dm.temp.Active:=false; |
Application.CreateForm(TFavid |
private |
dm.temp.CommandText:='Select |
acha, Favidacha); |
{ Private declarations } |
id_pc,fio_pc from pacient |
|
public |
where (datas_pc is not null) |
Application.CreateForm(TFSpra |
{ Public declarations } |
order by fio_pc '; |
v, FSprav); |
end; |
dm.temp.Active:=true; |
|
var |
While not dm.temp.Eof do |
Application.CreateForm(TFaSpr |
FSprav: TFSprav; |
begin |
av, FaSprav); |
implementation |
fasprav.cb1.Items.Add(dm.temp |
|
uses datm, aSprav, main; |
.fields[0].AsString+') |
Application.CreateForm(Tfot1, |
{$R *.dfm} |
'+dm.temp.fields[1].AsString) |
fot1); |
procedure |
; |
|
TFSprav.Button1Click(Sender: |
dm.temp.Next; |
Application.CreateForm(TFot2, |
TObject); |
end; |
Fot2); |
begin |
dm.temp.Active:=false; |
Application.Run; |
tm:=0; |
dm.temp.CommandText:='Select |
end. |
fasprav.cb1.Clear;fasprav.cb2 |
kto_vid from vidacha order by |
unit Sprav; |
.Clear; |
kto_vid'; |
interface |
dm.temp.Active:=false; |
dm.temp.Active:=true; |
uses |
dm.temp.CommandText:='Select |
While not dm.temp.Eof do |
Windows, Messages, |
id_pc,fio_pc from pacient |
begin |
SysUtils, Variants, Classes, |
where (datas_pc is not null) |
fasprav.cb2.Items.Add(dm.temp |
Graphics, Controls, Forms, |
order by fio_pc '; |
.fields[0].AsString); |
Dialogs, Grids, DBGrids, |
dm.temp.Active:=true; |
dm.temp.Next; |
StdCtrls, ToolWin, ComCtrls, |
While not dm.temp.Eof do |
end; |
WordXP, OleServer,registry; |
begin |
dm.temp.Active:=false; |
type |
fasprav.cb1.Items.Add(dm.temp |
dm.temp.CommandText:='Select |
TFSprav = class(TForm) |
.fields[0].AsString+') |
id_pc,fio_pc from |
ToolBar1: TToolBar; |
'+dm.temp.fields[1].AsString) |
pacient,sprav where |
Button1: TButton; |
; |
(id_pc=id_pc_sp) and |
Button2: TButton; |
dm.temp.Next; |
(id_sp='+tmp+')'; |
Button3: TButton; |
end; |
dm.temp.Active:=true; |
28
fasprav.cb1.Text:=dm.temp.fie |
end; |
Table1: Table; |
ldbyname('id_pc').AsString+') |
procedure |
i: integer; |
'+dm.temp.fieldbyname('fio_pc |
TFSprav.Button5Click(Sender: |
flag:boolean; |
').AsString; |
TObject); |
Reg: TRegistry; |
fasprav.cb2.Text:=dm.sp.field |
begin |
begin |
byname('kto_vid').AsString; |
e1.Clear; |
//Проверяем, инсталлирован |
fasprav.dtp1.date:=dm.sp.fiel |
dm.sp.Active:=false; |
ли Word |
dbyname('data_sp').asdatetime |
dm.sp.CommandText:='(select |
Reg := TRegistry.Create; |
; |
id_sp,fio_pc,kto_vid,cena_sp, |
Reg.RootKey := |
FaSprav.cb1Change(Sender);FaS |
data_sp from |
HKEY_CLASSES_ROOT; |
prav.cb2Change(Sender); |
vidacha,pacient,sprav where |
|
fasprav.ShowModal; |
(id_pc=id_pc_sp) and |
flag:=reg.KeyExists('Word.App |
end; |
(id_vid=id_vid_sp) order by |
lication'); |
procedure |
data_sp) UNION (select |
reg.Free; |
TFSprav.Button3Click(Sender: |
id_np,fio_np,kto_vid,cena_np, |
//flag:=true; |
TObject); |
data_np from vidacha,NePsix |
if flag=false then |
begin |
where (id_vid=id_vid_np) |
begin |
if |
order by data_np)'; |
|
dm.sp.Fields[0].AsString='' |
dm.sp.Active:=true; |
application.MessageBox('Word |
then |
end; |
не |
begin |
procedure |
устанволен','Отчет',mb_ok+mb_ |
showmessage('Запись для |
TFSprav.Button6Click(Sender: |
iconstop); |
редактирования отсутствует'); |
TObject); |
exit; |
exit; |
begin |
end; |
end; |
e1.Clear; |
if |
tmp:=dm.sp.Fields[0].AsString |
dm.sp.Active:=false; |
dm.sp.Fields[5].AsBoolean=TRU |
;tm:=1; |
dm.sp.CommandText:='(select |
E then |
if |
id_sp,fio_pc,kto_vid,cena_sp, |
begin |
dm.sp.Fields[5].AsBoolean=FAL |
data_sp from |
WordApplication1.Connect; |
SE then |
vidacha,pacient,sprav where |
// Устанавливаем связь с |
begin |
(id_pc=id_pc_sp) and |
сервером |
if |
(id_vid=id_vid_sp) order by |
//Открываем шаблон |
fmain.Delete('sp','sprav',tmp |
cena_sp) UNION (select |
otchet.dot в Word |
)=false then |
id_np,fio_np,kto_vid,cena_np, |
Template:=ExtractFilePath(App |
begin |
data_np from vidacha,NePsix |
lication.EXEName)+'\Шаблоны\С |
showmessage('Данная |
where (id_vid=id_vid_np) |
правка.dot'; //путь к шаблону |
запись используется другим |
order by cena_np)'; |
документа |
пользователем'); |
dm.sp.Active:=true; |
WordApplication1.Documents.Ad |
exit; |
end; |
d(Template,EmptyParam,EmptyPa |
end |
procedure |
ram,EmptyParam);// создаем |
else dm.sp.Requery(); |
TFSprav.Button4Click(Sender: |
документ на основе шаблона |
end |
TObject); |
WordDocument1.ConnectTo(WordA |
else |
begin |
pplication1.ActiveDocument); |
begin |
dm.sp.Active:=false; |
//Связываем компонент |
if |
dm.sp.CommandText:='(select |
WordDocument1 c активным |
fmain.Delete('np','nepsix',tm |
id_sp,fio_pc,kto_vid,cena_sp, |
документом (т.е. с только что |
p)=false then |
data_sp,lg_vid from |
созданным документом) |
begin |
vidacha,pacient,sprav where |
//Заполняем таблицу списка |
showmessage('Данная |
(id_pc=id_pc_sp) and |
объектов |
запись используется другим |
(id_vid=id_vid_sp) and |
Replace:=true; // параметр, |
пользователем'); |
(fio_pc like |
задающий режим замены |
exit; |
"%'+e1.Text+'%")) UNION |
FindText:='#1'; // что |
end |
(select |
меняем |
else dm.sp.Requery(); |
id_np,fio_np,kto_vid,cena_np, |
ReplaceWith:=dm.sp.fieldbynam |
end; |
data_np,lg_np from |
e('data_sp').AsString; // на |
|
vidacha,NePsix where |
что меняем |
nd; |
(id_vid=id_vid_np) and |
WordDocument1.Range.Find.Exec |
|
(fio_np like |
ute(FindText,EmptyParam,Empty |
procedure |
"%'+e1.Text+'%"))'; |
Param, |
TFSprav.Button7Click(Sender: |
dm.sp.Active:=true; |
EmptyParam,EmptyParam,EmptyPa |
TObject); |
end; |
ram,EmptyParam, |
begin |
procedure |
EmptyParam,EmptyParam,Replace |
e1.Clear; |
TFSprav.FormCloseQuery(Sender |
With,Replace,EmptyParam,Empty |
dm.sp.Active:=false; |
: TObject; var CanClose: |
Param,EmptyParam,EmptyParam); |
dm.sp.CommandText:='(select |
Boolean); |
Replace:=true; // параметр, |
id_sp,fio_pc,kto_vid,cena_sp, |
begin |
задающий режим замены |
data_sp,lg_vid from |
e1.Clear;close; |
FindText:='#2'; // что |
vidacha,pacient,sprav where |
end; |
меняем |
(id_pc=id_pc_sp) and |
|
ReplaceWith:=dm.sp.fieldbynam |
(id_vid=id_vid_sp) and |
procedure |
e('fio_pc').AsString; // на |
(fio_pc like |
TFSprav.Button8Click(Sender: |
что меняем |
"%'+e1.Text+'%")) UNION |
TObject); |
WordDocument1.Range.Find.Exec |
(select |
var |
ute(FindText,EmptyParam,Empty |
id_np,fio_np,kto_vid,cena_np, |
|
Param, |
data_np,lg_np from |
Template,NewTemplate,FindText |
EmptyParam,EmptyParam,EmptyPa |
vidacha,NePsix where |
, NewStr, |
ram,EmptyParam, |
(id_vid=id_vid_np) and |
Replace,ReplaceWith:OleVarian |
EmptyParam,EmptyParam,Replace |
(fio_np like |
t; |
With,Replace,EmptyParam,Empty |
"%'+e1.Text+'%"))'; |
LinkToFile,SaveWithDocument,R |
Param,EmptyParam,EmptyParam); |
dm.sp.Active:=true; |
ange:OleVariant; |
dm.temp.Active:=false; |
29
|
EmptyParam,EmptyParam,Replace |
, NewStr, |
dm.temp.CommandText:='select |
With,Replace,EmptyParam,Empty |
Replace,ReplaceWith:OleVarian |
adr_np,dr_np from nepsix |
Param,EmptyParam,EmptyParam); |
t; |
WHERE |
Replace:=true; // параметр, |
LinkToFile,SaveWithDocument,R |
(id_np='+dm.sp.Fields[0].AsSt |
задающий режим замены |
ange:OleVariant; |
ring+')'; |
FindText:='#2'; // что |
Table1: Table; |
dm.temp.Active:=true; |
меняем |
i: integer; |
Replace:=true; // параметр, |
ReplaceWith:=dm.sp.fieldbynam |
flag:boolean; |
задающий режим замены |
e('fio_pc').AsString; // на |
Reg: TRegistry; |
FindText:='#3'; // что |
что меняем |
begin |
меняем |
WordDocument1.Range.Find.Exec |
fio:=inputbox('Выдача |
ReplaceWith:=dm.temp.fieldbyn |
ute(FindText,EmptyParam,Empty |
справки','ФИО |
ame('dr_np').AsString; // на |
Param, |
обратившегося',''); |
что меняем |
EmptyParam,EmptyParam,EmptyPa |
if fio='' then |
WordDocument1.Range.Find.Exec |
ram,EmptyParam, |
begin |
ute(FindText,EmptyParam,Empty |
EmptyParam,EmptyParam,Replace |
showmessage('Вы не ввели |
Param, |
With,Replace,EmptyParam,Empty |
ФИО обратившегося'); |
EmptyParam,EmptyParam,EmptyPa |
Param,EmptyParam,EmptyParam); |
exit; |
ram,EmptyParam, |
dm.temp.Active:=false; |
end; |
EmptyParam,EmptyParam,Replace |
|
data:=inputbox('Выдача |
With,Replace,EmptyParam,Empty |
dm.temp.CommandText:='select |
справки','День рождения',''); |
Param,EmptyParam,EmptyParam); |
adr_pc,dr_pc from |
try |
Replace:=true; // параметр, |
pacient,sprav WHERE |
|
задающий режим замены |
(id_pc=id_pc_sp) and |
data:=datetostr(strtodate(dat |
FindText:='#4'; // что |
(id_sp='+dm.sp.Fields[0].AsSt |
a)); |
меняем |
ring+')'; |
except |
ReplaceWith:=dm.temp.fieldbyn |
dm.temp.Active:=true; |
showmessage('Ошибка в |
ame('adr_np').AsString; // на |
Replace:=true; // параметр, |
формате даты! Формат: |
что меняем |
задающий режим замены |
дд.мм.гггг'); |
WordDocument1.Range.Find.Exec |
FindText:='#3'; // что |
exit; |
ute(FindText,EmptyParam,Empty |
меняем |
end; |
Param, |
ReplaceWith:=dm.temp.fieldbyn |
dm.temp.Active:=false; |
EmptyParam,EmptyParam,EmptyPa |
ame('dr_pc').AsString; // на |
dm.temp.CommandText:='select |
ram,EmptyParam, |
что меняем |
id_pc from pacient where |
EmptyParam,EmptyParam,Replace |
WordDocument1.Range.Find.Exec |
(fio_pc="'+fio+'") and |
With,Replace,EmptyParam,Empty |
ute(FindText,EmptyParam,Empty |
(dr_pc=#'+fmain.data(strtodat |
Param,EmptyParam,EmptyParam); |
Param, |
e(data))+'#)'; |
|
EmptyParam,EmptyParam,EmptyPa |
dm.temp.Active:=true; |
WordApplication1.Visible:=tru |
ram,EmptyParam, |
if dm.temp.RecordCount>0 then |
e; //делаем приложение MS |
EmptyParam,EmptyParam,Replace |
showmessage('Данный пациент |
Word видимым |
With,Replace,EmptyParam,Empty |
состоит/состоял на |
|
Param,EmptyParam,EmptyParam); |
учете!'+#13+'Воспользуйтесь |
WordApplication1.Disconnect; |
Replace:=true; // параметр, |
другим сервисом выдачи |
// Разрываем связь с серверо |
задающий режим замены |
справок') |
end |
FindText:='#4'; // что |
else |
else |
меняем |
begin |
begin |
ReplaceWith:=dm.temp.fieldbyn |
adr:=inputbox('Выдача |
WordApplication1.Connect; |
ame('adr_pc').AsString; // на |
справки','Адрес |
// Устанавливаем связь с |
что меняем |
обратившегося',''); |
сервером |
WordDocument1.Range.Find.Exec |
if fio='' then |
//Открываем шаблон |
ute(FindText,EmptyParam,Empty |
begin |
otchet.dot в Word |
Param, |
showmessage('Вы не ввели |
Template:=ExtractFilePath(App |
EmptyParam,EmptyParam,EmptyPa |
адрес обратившегося'); |
lication.EXEName)+'\Шаблоны\С |
ram,EmptyParam, |
exit; |
правка.dot'; //путь к шаблону |
EmptyParam,EmptyParam,Replace |
end; |
документа |
With,Replace,EmptyParam,Empty |
kto:=inputbox('Выдача |
WordApplication1.Documents.Ad |
Param,EmptyParam,EmptyParam); |
справки','Кто |
d(Template,EmptyParam,EmptyPa |
|
запрашивает?',''); |
ram,EmptyParam);// создаем |
WordApplication1.Visible:=tru |
if fio='' then |
документ на основе шаблона |
e; //делаем приложение MS |
begin |
WordDocument1.ConnectTo(WordA |
Word видимым |
showmessage('Вы не ввели |
pplication1.ActiveDocument); |
|
адрес обратившегося'); |
//Связываем компонент |
WordApplication1.Disconnect; |
exit; |
WordDocument1 c активным |
// Разрываем связь с серверо |
end; |
документом (т.е. с только что |
end; |
dm.temp.Active:=false; |
созданным документом) |
end; |
|
//Заполняем таблицу списка |
procedure |
dm.temp.CommandText:='select |
объектов |
TFSprav.FormShow(Sender: |
st_vid,id_vid from vidacha |
Replace:=true; // параметр, |
TObject); |
where (kto_vid="'+kto+'")'; |
задающий режим замены |
begin |
dm.temp.Active:=true; |
FindText:='#1'; // что |
dbgrid1.DataSource:=dm.sps; |
if dm.temp.RecordCount<1 |
меняем |
end; |
then showmessage('Данной |
ReplaceWith:=dm.sp.fieldbynam |
procedure |
структуры нет в БД') |
e('data_sp').AsString; // на |
TFSprav.Button9Click(Sender: |
else |
что меняем |
TObject); |
begin |
WordDocument1.Range.Find.Exec |
var |
|
ute(FindText,EmptyParam,Empty |
fio,adr,data,kto,cena,id:stri |
cena:=dm.temp.Fields[0].AsStr |
Param, |
ng; |
ing; |
EmptyParam,EmptyParam,EmptyPa |
|
|
ram,EmptyParam, |
Template,NewTemplate,FindText |
|
30
|
With,Replace,EmptyParam,Empty |
procedure |
id:=dm.temp.Fields[1].AsStrin |
Param,EmptyParam,EmptyParam); |
Button4Click(Sender: |
g; |
Replace:=true; // параметр, |
TObject); |
end; |
задающий режим замены |
procedure |
dm.com.CommandText:='Insert |
FindText:='#3'; // что |
Button5Click(Sender: |
into nepsix |
меняем |
TObject); |
(fio_np,id_vid_np,data_np,cen |
ReplaceWith:=data; // на |
procedure |
a_np,dr_np,adr_np) values |
что меняем |
Button6Click(Sender: |
("'+fio+'",'+id+',"'+datetost |
WordDocument1.Range.Find.Exec |
TObject); |
r(date)+'","'+cena+'","'+data |
ute(FindText,EmptyParam,Empty |
procedure |
+'","'+adr+'")'; |
Param, |
FormShow(Sender: TObject); |
dm.com.Execute; |
EmptyParam,EmptyParam,EmptyPa |
private |
//Проверяем, инсталлирован |
ram,EmptyParam, |
{ Private declarations } |
ли Word |
EmptyParam,EmptyParam,Replace |
public |
Reg := TRegistry.Create; |
With,Replace,EmptyParam,Empty |
{ Public declarations } |
Reg.RootKey := |
Param,EmptyParam,EmptyParam); |
end; |
HKEY_CLASSES_ROOT; |
Replace:=true; // параметр, |
var |
|
задающий режим замены |
FVidacha: TFVidacha; |
flag:=reg.KeyExists('Word.App |
FindText:='#4'; // что |
implementation |
lication'); |
меняем |
uses datm, avidacha, main; |
reg.Free; |
ReplaceWith:=adr; // на что |
{$R *.dfm} |
//flag:=true; |
меняем |
procedure |
if flag=false then |
WordDocument1.Range.Find.Exec |
TFVidacha.Button1Click(Sender |
begin |
ute(FindText,EmptyParam,Empty |
: TObject); |
|
Param, |
begin |
application.MessageBox('Word |
EmptyParam,EmptyParam,EmptyPa |
tm:=0; |
не |
ram,EmptyParam, |
favidacha.ShowModal; |
устанволен','Отчет',mb_ok+mb_ |
EmptyParam,EmptyParam,Replace |
end; |
iconstop); |
With,Replace,EmptyParam,Empty |
procedure |
exit; |
Param,EmptyParam,EmptyParam); |
TFVidacha.Button2Click(Sender |
end; |
|
: TObject); |
WordApplication1.Connect; |
WordApplication1.Visible:=tru |
begin |
// Устанавливаем связь с |
e; //делаем приложение MS |
if |
сервером |
Word видимым |
dm.vid.Fields[0].AsString='' |
//Открываем шаблон |
|
then |
otchet.dot в Word |
WordApplication1.Disconnect; |
begin |
Template:=ExtractFilePath(App |
// Разрываем связь с серверо |
showmessage('Запись для |
lication.EXEName)+'\Шаблоны\С |
end; |
редактирования отсутствует'); |
правка.dot'; //путь к шаблону |
end; |
exit; |
документа |
end. |
end; |
WordApplication1.Documents.Ad |
unit Vidacha; |
tmp:=dm.vid.Fields[0].AsStrin |
d(Template,EmptyParam,EmptyPa |
interface |
g;tm:=1; |
ram,EmptyParam);// создаем |
uses |
//*************************** |
документ на основе шаблона |
Windows, Messages, |
*** |
WordDocument1.ConnectTo(WordA |
SysUtils, Variants, Classes, |
if |
pplication1.ActiveDocument); |
Graphics, Controls, Forms, |
fmain.Update('vid','vidacha') |
//Связываем компонент |
Dialogs, Grids, DBGrids, |
=false then |
WordDocument1 c активным |
StdCtrls, ToolWin, ComCtrls; |
begin |
документом (т.е. с только что |
|
showmessage('Данная запись |
созданным документом) |
type |
используется другим |
//Заполняем таблицу списка |
TFVidacha = class(TForm) |
пользователем'); |
объектов |
ToolBar1: TToolBar; |
exit; |
Replace:=true; // параметр, |
Button1: TButton; |
end; |
задающий режим замены |
Button2: TButton; |
//*************************** |
FindText:='#1'; // что |
Button3: TButton; |
*** |
меняем |
ToolBar2: TToolBar; |
favidacha.e1.Text:=dm.vid.fie |
|
e1: TEdit; |
ldbyname('kto_vid').AsString; |
ReplaceWith:=datetostr(date); |
Button4: TButton; |
favidacha.e2.Text:=dm.vid.fie |
// на что меняем |
Button7: TButton; |
ldbyname('st_vid').AsString; |
WordDocument1.Range.Find.Exec |
ToolBar3: TToolBar; |
tmpc:=favidacha.e2.Text; |
ute(FindText,EmptyParam,Empty |
Button5: TButton; |
favidacha.ShowModal; |
Param, |
Button6: TButton; |
end; |
EmptyParam,EmptyParam,EmptyPa |
DBGrid1: TDBGrid; |
procedure |
ram,EmptyParam, |
ToolButton1: TToolButton; |
TFVidacha.Button3Click(Sender |
EmptyParam,EmptyParam,Replace |
procedure |
: TObject); |
With,Replace,EmptyParam,Empty |
Button1Click(Sender: |
begin |
Param,EmptyParam,EmptyParam); |
TObject); |
if |
Replace:=true; // параметр, |
procedure |
dm.vid.Fields[0].AsString='' |
задающий режим замены |
Button2Click(Sender: |
then |
FindText:='#2'; // что |
TObject); |
begin |
меняем |
procedure |
showmessage('Запись для |
ReplaceWith:=fio; // на что |
Button3Click(Sender: |
редактирования отсутствует'); |
меняем |
TObject); |
exit; |
WordDocument1.Range.Find.Exec |
procedure |
end; |
ute(FindText,EmptyParam,Empty |
Button7Click(Sender: |
tmp:=dm.vid.Fields[0].AsStrin |
Param, |
TObject); |
g;tm:=1; |
EmptyParam,EmptyParam,EmptyPa |
procedure |
if |
ram,EmptyParam, |
FormCloseQuery(Sender: |
fmain.Delete('vid','vidacha', |
EmptyParam,EmptyParam,Replace |
TObject; var CanClose: |
tmp)=false then |
|
Boolean); |
begin |
31