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

showmessage('Данная запись

Label2: TLabel;

end

используется другим

e1: TEdit;

else

пользователем');

e2: TEdit;

begin

exit;

procedure

dm.temp.Active:=false;

end

BitBtn2Click(Sender:

 

else dm.vid.Requery();

TObject);

dm.temp.CommandText:='Select

end;

procedure

id_d from diagnoz where

procedure

FormCloseQuery(Sender:

(nazv_d="'+e1.Text+'") or

TFVidacha.Button7Click(Sender

TObject; var CanClose:

(sh_d="'+e2.text+'")';

: TObject);

Boolean);

dm.temp.Active:=true;

begin

procedure

if

e1.Clear;

BitBtn1Click(Sender:

(dm.temp.RecordCount>0) and

dm.vid.Active:=false;

TObject);

(tmp<>dm.temp.Fields[0].asstr

dm.vid.CommandText:='select

private

ing) then

id_vid, kto_vid, st_vid from

{ Private declarations }

showmessage('Подобная запись

Vidacha';

public

уже существует')

dm.vid.Active:=true;

{ Public declarations }

else

end;

end;

begin

procedure

var

 

TFVidacha.FormCloseQuery(Send

FaDiagnoz: TFaDiagnoz;

dm.com.CommandText:='Update

er: TObject; var CanClose:

implementation

diagnoz SET

Boolean);

uses datm;

nazv_d="'+e1.Text+'",sh_d="'+

begin

{$R *.dfm}

e2.Text+'" WHERE

e1.Clear;close;

procedure

(id_d='+tmp+')';

end;

TFaDiagnoz.BitBtn2Click(Sende

dm.com.Execute;

procedure

r: TObject);

showmessage('Запись

TFVidacha.Button4Click(Sender

begin

успешно изменена');

: TObject);

closequery;

dm.d.Requery();

begin

end;

closequery;

dm.vid.Active:=false;

procedure

end;

dm.vid.CommandText:='select

TFaDiagnoz.FormCloseQuery(Sen

end;

id_vid, kto_vid, st_vid from

der: TObject;

end;

Vidacha where (kto_vid like

var CanClose: Boolean);

end;

"%'+e1.Text+'%")';

begin

end.

dm.vid.Active:=true;

if tm=1 then

unit aPacient;

end;

begin

interface

procedure

dm.com.CommandText:='Update

uses

TFVidacha.Button5Click(Sender

diagnoz set log_d=FALSE WHERE

Windows, Messages,

: TObject);

(id_d='+tmp+')';

SysUtils, Variants, Classes,

begin

dm.com.Execute;

Graphics, Controls, Forms,

e1.Clear;

end;

Dialogs, StdCtrls, Buttons,

dm.vid.Active:=false;

e1.Clear;e2.Clear;

ExtCtrls, ComCtrls, Grids,

dm.vid.CommandText:='select

close;

DBGrids, DB, ADODB,jpeg;

id_vid, kto_vid, st_vid from

end;

type

Vidacha order by kto_vid';

procedure

TFaPacient = class(TForm)

dm.vid.Active:=true;

TFaDiagnoz.BitBtn1Click(Sende

Panel1: TPanel;

end;

r: TObject);

BitBtn1: TBitBtn;

procedure

begin

BitBtn2: TBitBtn;

TFVidacha.Button6Click(Sender

if (e1.Text='') or

Panel2: TPanel;

: TObject);

(e2.Text='') then

Label1: TLabel;

begin

showmessage('Вы не заполнили

Label2: TLabel;

e1.Clear;

одно или несколько полей')

e1: TEdit;

dm.vid.Active:=false;

else

e2: TEdit;

dm.vid.CommandText:='select

begin

Panel3: TPanel;

id_vid, kto_vid, st_vid from

if tm=0 then

Image1: TImage;

Vidacha order by st_vid';

begin

Panel4: TPanel;

dm.vid.Active:=true;

dm.temp.Active:=false;

GroupBox1: TGroupBox;

end;

 

cb: TComboBox;

procedure

dm.temp.CommandText:='Select

SpeedButton1:

TFVidacha.FormShow(Sender:

id_d from diagnoz where

TSpeedButton;

TObject);

(nazv_d="'+e1.Text+'") or

SpeedButton2:

begin

(sh_d="'+e2.text+'")';

TSpeedButton;

dbgrid1.DataSource:=dm.vids;

dm.temp.Active:=true;

DBGrid1: TDBGrid;

end;

if dm.temp.RecordCount>0

Label3: TLabel;

end.

then showmessage('Подобная

dtp1: TDateTimePicker;

unit aDiagnoz;

запись уже существует')

cb1: TComboBox;

interface

else

Label4: TLabel;

uses

begin

cb2: TComboBox;

Windows, Messages,

 

Label5: TLabel;

SysUtils, Variants, Classes,

dm.com.CommandText:='Insert

cb3: TComboBox;

Graphics, Controls, Forms,

into diagnoz (nazv_d,sh_d)

Label6: TLabel;

Dialogs, StdCtrls, Buttons,

values

Label7: TLabel;

ExtCtrls;

("'+e1.Text+'","'+e2.Text+'")

e3: TEdit;

type

';

Label8: TLabel;

TFaDiagnoz = class(TForm)

dm.com.Execute;

dtp2: TDateTimePicker;

Panel1: TPanel;

showmessage('Запись

pd: TADODataSet;

BitBtn1: TBitBtn;

успешно добавлена');

pds: TDataSource;

BitBtn2: TBitBtn;

dm.d.Requery();

od: TOpenDialog;

Panel2: TPanel;

closequery;

Label9: TLabel;

Label1: TLabel;

end;

 

32

procedure

 

tr(dtp1.date)+'",pol_pc="'+cb

BitBtn2Click(Sender:

dm.temp.CommandText:='Select

1.Text+'",trud_pc="'+cb2.Text

TObject);

id_pc from pacient where

+'",inv_pc="'+cb3.Text+'",tel

procedure

(fio_pc="'+e1.Text+'") and

_pc="'+e3.Text+'",datap_pc="'

FormCloseQuery(Sender:

(adr_pc="'+e2.text+'")';

+datetostr(dtp2.Date)+'",foto

TObject; var CanClose:

dm.temp.Active:=true;

_pc="'+NameFile(od.FileName,t

Boolean);

if dm.temp.RecordCount>0

rue)+'" WHERE

procedure

then showmessage('Подобная

(id_pc='+tmp+')';

BitBtn1Click(Sender:

запись уже существует')

dm.com.Execute;

TObject);

else

if

procedure

begin

fileexists(ExtractFilePath(Ap

cb1KeyPress(Sender: TObject;

if

plication.ExeName)+'Фото\'+Na

var Key: Char);

(fileexists(ExtractFilePath(A

meFile(od.FileName,true))=fal

procedure

pplication.ExeName)+'Фото\'+N

se then

cbKeyPress(Sender: TObject;

ameFile(od.FileName,true))=tr

begin

var Key: Char);

ue) then

copyfile(pchar(od.FileName),p

procedure

begin

char(ExtractFilePath(Applicat

cb2KeyPress(Sender: TObject;

showmessage('Фото с

ion.ExeName)+'Фото\'+NameFile

var Key: Char);

данным именем уже

(od.FileName,true)),true);

procedure

существует');

end;

cb3KeyPress(Sender: TObject;

exit;

showmessage('Запись

var Key: Char);

end;

успешно изменена');

procedure

copyfile(pchar(od.FileName),p

dm.pc.Requery();

cbChange(Sender: TObject);

char(ExtractFilePath(Applicat

closequery;

procedure

ion.ExeName)+'Фото\'+NameFile

end;

SpeedButton1Click(Sender:

(od.FileName,true)),true);

end;

TObject);

 

end;

procedure

dm.com.CommandText:='Insert

end;

SpeedButton2Click(Sender:

into pacient

procedure

TObject);

(fio_pc,adr_pc,dr_pc,pol_pc,t

TFaPacient.cb1KeyPress(Sender

procedure

rud_pc,inv_pc,tel_pc,datap_pc

: TObject; var Key: Char);

Image1Click(Sender: TObject);

,foto_pc) values

begin

procedure

("'+e1.Text+'","'+e2.Text+'",

key:=#0;

FormShow(Sender: TObject);

"'+datetostr(dtp1.date)+'","'

end;

private

+cb1.Text+'","'+cb2.Text+'","

procedure

{ Private declarations }

'+cb3.Text+'","'+e3.Text+'","

TFaPacient.cbKeyPress(Sender:

public

'+datetostr(dtp2.Date)+'","'+

TObject; var Key: Char);

{ Public declarations }

NameFile(od.FileName,true)+'"

begin

end;

)';

key:=#0;

var

dm.com.Execute;

end;

FaPacient: TFaPacient;

dm.temp.Active:=false;

procedure

implementation

 

TFaPacient.cb2KeyPress(Sender

uses datm,UEasyPath;

dm.temp.CommandText:='Select

: TObject; var Key: Char);

{$R *.dfm}

max(id_pc) from pacient';

begin

procedure

dm.temp.Active:=true;

key:=#0;

TFaPacient.BitBtn2Click(Sende

 

end;

r: TObject);

dm.com.CommandText:='Update

procedure

begin

pacdig set

TFaPacient.cb3KeyPress(Sender

closequery;

id_pc_pd="'+dm.temp.Fields[0]

: TObject; var Key: Char);

end;

.AsString+'" where

begin

procedure

id_pc_pd=0';

key:=#0;

TFaPacient.FormCloseQuery(Sen

dm.com.Execute;

end;

der: TObject;

showmessage('Запись

procedure

var CanClose: Boolean);

успешно добавлена');

TFaPacient.cbChange(Sender:

begin

dm.pc.Requery();

TObject);

if tm=1 then

closequery;

begin

begin

end;

dm.temp.Active:=false;

dm.com.CommandText:='Update

end

dm.temp.CommandText:='select

pacient set log_pc=FALSE

else

id_d from diagnoz where

WHERE (id_pc='+tmp+')';

begin

(nazv_d="'+cb.Text+'")';

dm.com.Execute;

dm.temp.Active:=false;

dm.temp.Active:=true;

end;

 

id_d:=dm.temp.Fields[0].AsStr

e1.Clear;e2.Clear;e3.Clear;

dm.temp.CommandText:='Select

ing;

cb1.Itemindex:=-

id_pc from pacient where

begin

1;cb2.Itemindex:=-

(fio_pc="'+e1.Text+'") and

dm.com.CommandText:='Insert

1;cb3.Itemindex:=-1;

(adr_pc="'+e2.text+'")';

into pacdig

dtp1.Date:=date;dtp2.date:=da

dm.temp.Active:=true;

(id_d_pd,id_pc_pd) values

te;

if

('+id_d+','+tmp2+')';

image1.Picture:=nil;

(dm.temp.RecordCount>0) and

dm.com.Execute;

cb.Clear;

(tmp<>dm.temp.Fields[0].asstr

dm.temp.Active:=false;

close;

ing) then

 

end;

showmessage('Подобная запись

dm.temp.CommandText:='Select

procedure

уже существует')

nazv_d from diagnoz where

TFaPacient.BitBtn1Click(Sende

else

(id_d not in (select id_d_pd

r: TObject);

begin

from pacdig where

begin

 

id_pc_pd='+tmp2+'))';

if (e1.Text='') or

dm.com.CommandText:='Update

dm.temp.Active:=true;

(e2.Text='') or (e3.Text='')

pacient SET

fapacient.cb.Clear;

or (cb1.Text='') or

fio_pc="'+e1.Text+'",adr_pc="

while not dm.temp.Eof do

(cb2.Text='') or

'+e2.Text+'",dr_pc="'+datetos

 

33

begin

procedure

cb1.Clear;cb2.Clear;e1.Clear;

fapacient.cb.Items.Add(dm.tem

cb2KeyPress(Sender: TObject;

dtp1.Date:=date;

p.fields[0].AsString);

var Key: Char);

close;

dm.temp.Next;

procedure

end;

end;

cb1Change(Sender: TObject);

procedure

pd.Requery();

procedure

TFaSprav.BitBtn1Click(Sender:

end;

cb2Change(Sender: TObject);

TObject);

end;

procedure

begin

procedure

BitBtn2Click(Sender:

if (e1.Text='') or

TFaPacient.SpeedButton2Click(

TObject);

(cb1.Text='') or

Sender: TObject);

procedure

(cb2.Text='') then

begin

FormCloseQuery(Sender:

showmessage('Вы не заполнили

if pd.Fields[0].AsString=''

TObject; var CanClose:

одно или несколько полей')

then

Boolean);

else

begin

procedure

begin

showmessage('Запись для

BitBtn1Click(Sender:

if tm=0 then

редактирования отсутствует');

TObject);

begin

exit;

private

 

end;

{ Private declarations }

dm.com.CommandText:='Insert

dm.temp.Active:=false;

public

into sprav

 

{ Public declarations }

(id_pc_sp,id_vid_sp,data_sp,c

dm.temp.CommandText:='Select

end;

ena_sp) values

nazv_d from diagnoz where

var

('+id_pc+','+id_vid+',"'+date

(id_d not in (select id_d_pd

FaSprav: TFaSprav;

tostr(dtp1.Date)+'","'+e1.Tex

from pacdig where

implementation

t+'")';

id_pc_pd='+tmp2+'))';

uses datm;

dm.com.Execute;

dm.temp.Active:=true;

{$R *.dfm}

showmessage('Запись

fapacient.cb.Clear;

procedure

успешно добавлена');

while not dm.temp.Eof do

TFaSprav.cb2KeyPress(Sender:

dm.sp.Requery();

begin

TObject; var Key: Char);

closequery;

fapacient.cb.Items.Add(dm.tem

begin

end

p.fields[0].AsString);

key:=#0;

else

dm.temp.Next;

end;

begin

end;

procedure

 

pd.Requery();

TFaSprav.cb1Change(Sender:

dm.com.CommandText:='Update

end;

TObject);

sprav SET

end;

begin

id_pc_sp="'+id_pc+'",id_vid_s

procedure

dm.temp.Active:=false;

p="'+id_vid+'",data_sp="'+dat

TFaPacient.Image1Click(Sender

dm.temp.CommandText:='Select

etostr(dtp1.Date)+'",cena_sp=

: TObject);

id_pc from pacient where

"'+e1.Text+'" WHERE

begin

(([id_pc]&")

(id_sp='+tmp+')';

if od.Execute then

"&[fio_pc])="'+cb1.Text+'")';

dm.com.Execute;

begin

dm.temp.Active:=true;

showmessage('Запись

image1.Picture.LoadFromFile(o

id_pc:=dm.temp.Fields[0].AsSt

успешно изменена');

d.FileName);

ring;

dm.sp.Requery();

//showmessage(NameFile(od.Fil

end;

closequery;

eName,true));

procedure

end;

end;

TFaSprav.cb2Change(Sender:

end;

end;

TObject);

end;

procedure

begin

end.

TFaPacient.FormShow(Sender:

dm.temp.Active:=false;

unit avidacha;

TObject);

dm.temp.CommandText:='Select

interfaceuses

begin

id_vid,st_vid from vidacha

Windows, Messages,

dbgrid1.DataSource:=pds;

where

SysUtils, Variants, Classes,

end;

(kto_vid="'+cb2.Text+'")';

Graphics, Controls, Forms,

end.

dm.temp.Active:=true;

Dialogs, StdCtrls, Buttons,

unit aSprav;

id_vid:=dm.temp.Fields[0].AsS

ExtCtrls;

interface

tring;

type

uses

e1.Text:=dm.temp.Fields[1].As

TFavidacha = class(TForm)

Windows, Messages,

String;

Panel1: TPanel;

SysUtils, Variants, Classes,

end;

BitBtn1: TBitBtn;

Graphics, Controls, Forms,

procedure

BitBtn2: TBitBtn;

Dialogs, ComCtrls,

TFaSprav.BitBtn2Click(Sender:

Panel2: TPanel;

StdCtrls, Buttons, ExtCtrls;

TObject);

Label1: TLabel;

type

begin

Label2: TLabel;

TFaSprav = class(TForm)

closequery;

e1: TEdit;

Panel1: TPanel;

end;

e2: TEdit;

BitBtn1: TBitBtn;

procedure

procedure

BitBtn2: TBitBtn;

TFaSprav.FormCloseQuery(Sende

BitBtn2Click(Sender:

Panel2: TPanel;

r: TObject; var CanClose:

TObject);

Label1: TLabel;

Boolean);

procedure

Label2: TLabel;

begin

FormCloseQuery(Sender:

e1: TEdit;

if tm=1 then

TObject; var CanClose:

Label3: TLabel;

begin

Boolean);

cb1: TComboBox;

dm.com.CommandText:='Update

procedure

cb2: TComboBox;

sprav set log_sp=FALSE WHERE

BitBtn1Click(Sender:

Label4: TLabel;

(id_sp='+tmp+')';

TObject);

dtp1: TDateTimePicker;

dm.com.Execute;

private

 

end;

{ Private declarations }

 

 

public

34

{ Public declarations }

dm.com.Execute;

Dialogs, StdCtrls, Buttons,

end;

showmessage('Запись

ExtCtrls;

var

успешно добавлена');

type

Favidacha: TFavidacha;

dm.vid.Requery();

TFChpass = class(TForm)

implementation

closequery;

Panel1: TPanel;

uses datm, main;

end;

BitBtn1: TBitBtn;

{$R *.dfm}

end

BitBtn2: TBitBtn;

procedure

else

Panel2: TPanel;

TFavidacha.BitBtn2Click(Sende

begin

Label1: TLabel;

r: TObject);

dm.temp.Active:=false;

Label2: TLabel;

begin

 

Label3: TLabel;

closequery;

dm.temp.CommandText:='Select

e1: TEdit;

end;

id_vid from vidacha where

e2: TEdit;

procedure

(kto_vid="'+e1.Text+'")';

e3: TEdit;

TFavidacha.FormCloseQuery(Sen

dm.temp.Active:=true;

Label4: TLabel;

der: TObject;

if

e4: TEdit;

var CanClose: Boolean);

(dm.temp.RecordCount>0) and

procedure

begin

(tmp<>dm.temp.Fields[0].asstr

BitBtn2Click(Sender:

if tm=1 then

ing) then

TObject);

begin

showmessage('Подобная запись

procedure

dm.com.CommandText:='Update

уже существует')

FormCloseQuery(Sender:

vidacha set log_vid=FALSE

else

TObject; var CanClose:

WHERE (id_vid='+tmp+')';

begin

Boolean);

dm.com.Execute;

 

procedure

end;

dm.com.CommandText:='Update

BitBtn1Click(Sender:

e1.Clear;e2.Clear;

vidacha SET

TObject);

close;

kto_vid="'+e1.Text+'",st_vid=

private

end;

"'+e2.Text+'" WHERE

{ Private declarations }

procedure

(id_vid='+tmp+')';

public

TFavidacha.BitBtn1Click(Sende

dm.com.Execute;

{ Public declarations }

r: TObject);

if tmpc<>e2.Text then

end;

begin

begin

var

if (e1.Text='') or

 

FChpass: TFChpass;

(e2.Text='') then

dm.temp.Active:=false;

implementation

showmessage('Вы не заполнили

 

uses datm;

одно или несколько полей')

dm.temp.CommandText:='Select

{$R *.dfm}

else

id_rc from rCen WHERE

procedure

begin

(id_vid_rc='+tmp+') and

TFChpass.BitBtn2Click(Sender:

try

(data_rc =

TObject);

strtofloat(e2.Text);

#'+fmain.data(date)+'#)';

begin

except

dm.temp.Active:=true;

closequery;

showmessage('Некорректный

if

end;

ввод стоимости');

dm.temp.RecordCount=0 then

procedure

exit;

begin

TFChpass.FormCloseQuery(Sende

end;

 

r: TObject; var CanClose:

if tm=0 then

dm.com.CommandText:='Insert

Boolean);

begin

into rCen

begin

dm.temp.Active:=false;

(id_vid_rc,cena_rc,data_rc)

e1.Clear;e2.Clear;e3.Clear;e4

 

values

.clear;

dm.temp.CommandText:='Select

('+tmp+',"'+e2.Text+'","'+dat

close;

id_vid from vidacha where

etostr(date)+'")';

end;

(kto_vid="'+e1.Text+'")';

dm.com.Execute;

procedure

dm.temp.Active:=true;

end

TFChpass.BitBtn1Click(Sender:

if dm.temp.RecordCount>0

else

TObject);

then showmessage('Подобная

begin

begin

запись уже существует')

 

if e1.Text='' then

else

dm.com.CommandText:='update

showmessage('Вы не ввели имя

begin

rCen set

пользователя')

 

cena_rc="'+e2.Text+'" where

else if e2.Text='' then

dm.com.CommandText:='Insert

id_rc='+dm.temp.Fields[0].AsS

showmessage('Вы не ввели

into vidacha (kto_vid,st_vid)

tring+'';

текущий пароль')

values

dm.com.Execute;

else if e3.Text='' then

("'+e1.Text+'","'+e2.Text+'")

end;

showmessage('Вы не ввели

';

end;

новый пароль')

dm.com.Execute;

showmessage('Запись

else if e3.Text<>e4.Text then

dm.temp.Active:=false;

успешно изменена');

begin

 

dm.vid.Requery();

showmessage('Пароли не

dm.temp.CommandText:='Select

closequery;

совпадают');

max(id_vid) from mater';

end;

e3.Clear;e4.Clear;

dm.temp.Active:=true;

end;

end

 

end;

else

tmpC:=dm.temp.Fields[0].AsStr

end;

begin

ing;

end.

dm.temp.Active:=false;

 

unit Chpass;

 

dm.com.CommandText:='Insert

interface

dm.temp.CommandText:='select

into rCen

uses

login from pass where

(id_vid_rc,cena_rc,data_rc)

Windows, Messages,

(login="'+e1.Text+'") and

values

SysUtils, Variants, Classes,

(pass="'+e2.Text+'")';

('+tmpC+',"'+e2.Text+'","'+da

Graphics, Controls, Forms,

dm.temp.Active:=true;

tetostr(date)+'")';

 

 

35

if dm.temp.RecordCount=0

sp.RecNo:=ind;

exit;

then showmessage('Ошибка в

end;

end;

имени пользователя или

end;

tmp:=dm.d.Fields[0].AsString;

пароле')

end.

tm:=1;

else

unit diagnoz;

//***************************

begin

interface

***

 

uses

if

dm.com.CommandText:='Update

Windows, Messages,

fmain.Update('d','diagnoz')=f

pass set pass="'+e3.Text+'"

SysUtils, Variants, Classes,

alse then

where login="'+e1.Text+'"';

Graphics, Controls, Forms,

begin

dm.com.Execute;

Dialogs, Grids, DBGrids,

showmessage('Данная запись

showmessage('Пароль

StdCtrls, ToolWin, ComCtrls;

используется другим

изменен');

type

пользователем');

closequery;

TFdiagnoz = class(TForm)

exit;

end;

ToolBar1: TToolBar;

end;

end;

Button1: TButton;

//***************************

end;

Button2: TButton;

***

end.

Button3: TButton;

fadiagnoz.e1.Text:=dm.d.field

unit datm;

ToolBar2: TToolBar;

byname('nazv_d').AsString;

interface

e1: TEdit;

fadiagnoz.e2.Text:=dm.d.field

uses

Button4: TButton;

byname('sh_d').AsString;

SysUtils, Classes, DB,

ToolBar3: TToolBar;

fadiagnoz.ShowModal;

ADODB, Dialogs, ExtCtrls;

Button5: TButton;

end;

type

Button6: TButton;

procedure

Tdm = class(TDataModule)

DBGrid1: TDBGrid;

TFdiagnoz.Button3Click(Sender

ado: TADOConnection;

Button7: TButton;

: TObject);

od: TOpenDialog;

procedure

begin

temp: TADODataSet;

Button1Click(Sender:

if dm.d.Fields[0].AsString=''

com: TADOCommand;

TObject);

then

d: TADODataSet;

procedure

begin

ds: TDataSource;

Button2Click(Sender:

showmessage('Запись для

pc: TADODataSet;

TObject);

редактирования отсутствует');

pcs: TDataSource;

procedure

exit;

vid: TADODataSet;

Button3Click(Sender:

end;

vids: TDataSource;

TObject);

tmp:=dm.d.Fields[0].AsString;

sp: TADODataSet;

procedure

tm:=1;

sps: TDataSource;

FormCloseQuery(Sender:

if

temp2: TADODataSet;

TObject; var CanClose:

fmain.Delete('d','diagnoz',tm

Timer1: TTimer;

Boolean);

p)=false then

procedure

procedure

begin

Timer1Timer(Sender: TObject);

Button4Click(Sender:

showmessage('Данная запись

private

TObject);

используется другим

{ Private declarations }

procedure

пользователем');

public

Button7Click(Sender:

exit;

{ Public declarations }

TObject);

end

end;

procedure

else dm.d.Requery();

var

Button5Click(Sender:

end;

dm: Tdm;

TObject);

procedure

tmp,tmp2,id_d,id_pd,foto,id_p

procedure

TFdiagnoz.FormCloseQuery(Send

c,id_vid,tmpc:string;

Button6Click(Sender:

er: TObject; var CanClose:

tm:integer;

TObject);

Boolean);

implementation

procedure

begin

{$R *.dfm}

FormShow(Sender: TObject);

e1.Clear;close;

procedure

private

end;

Tdm.Timer1Timer(Sender:

{ Private declarations }

procedure

TObject);

public

TFdiagnoz.Button4Click(Sender

var ind:integer;

{ Public declarations }

: TObject);

begin

end;

begin

if d.Active=true then

var

dm.d.Active:=false;

begin

Fdiagnoz: TFdiagnoz;

dm.d.CommandText:='select

ind:=d.RecNo;

implementation

id_d,nazv_d,sh_d from diagnoz

d.Requery();

uses datm, aDiagnoz,

WHERE (nazv_d like

d.RecNo:=ind;

main;

"%'+e1.Text+'%") or (sh_d

end;

{$R *.dfm}

like "%'+e1.Text+'%")';

if pc.Active=true then

procedure

dm.d.Active:=true;

begin

TFdiagnoz.Button1Click(Sender

end;

ind:=pc.RecNo;

: TObject);

procedure

pc.Requery();

begin

TFdiagnoz.Button7Click(Sender

pc.RecNo:=ind;

tm:=0;

: TObject);

end;

fadiagnoz.ShowModal;

begin

if vid.Active=true then

end;

e1.Clear;

begin

procedure

dm.d.Active:=false;

ind:=vid.RecNo;

TFdiagnoz.Button2Click(Sender

dm.d.CommandText:='select

vid.Requery();

: TObject);

id_d,nazv_d,sh_d from

vid.RecNo:=ind;

begin

diagnoz';

end;

if dm.d.Fields[0].AsString=''

dm.d.Active:=true;

if sp.Active=true then

then

end;

begin

begin

procedure

ind:=sp.RecNo;

showmessage('Запись для

TFdiagnoz.Button5Click(Sender

sp.Requery();

редактирования отсутствует');

: TObject);

36

begin

function

 

ostr(time),':','.',[rfReplace

dm.d.Active:=false;

data(data:tdatetime):string;

All,

dm.d.CommandText:='select

function

 

rfIgnoreCase])+'.mdb'),true);

id_d,nazv_d,sh_d from diagnoz

Update(rs,tab:string):boolean

if

order by nazv_d';

;

 

fileexists(ExtractFilePath(Ap

dm.d.Active:=true;

function

 

plication.ExeName)+'Архив\bas

end;

Delete(rs,tab,temp:string):bo

e_'+datetostr(date)+'_'+strin

procedure

olean;

 

greplace(timetostr(time),':',

TFdiagnoz.Button6Click(Sender

procedure N8Click(Sender:

'.',[rfReplaceAll,

: TObject);

TObject);

 

rfIgnoreCase])+'.mdb') =true

begin

procedure

 

then showmessage('Резервная

dm.d.Active:=false;

N10Click(Sender: TObject);

копия создана успешно')

dm.d.CommandText:='select

procedure

 

else showmessage('Ошибка при

id_d,nazv_d,sh_d from diagnoz

N12Click(Sender: TObject);

создании резервной копии');

order by sh_d';

procedure

 

end;

dm.d.Active:=true;

N15Click(Sender: TObject);

procedure

end;

procedure

 

Tfmain.N3Click(Sender:

 

N16Click(Sender: TObject);

TObject);

procedure

procedure

 

begin

TFdiagnoz.FormShow(Sender:

N141Click(Sender: TObject);

closequery;

TObject);

procedure

 

end;

begindbgrid1.DataSource:=dm.d

N17Click(Sender: TObject);

procedure

s;

procedure

 

Tfmain.N2Click(Sender:

end;

N18Click(Sender: TObject);

TObject);

end.

procedure

 

begin

unit main;

N19Click(Sender: TObject);

Fpass.SpeedButton1Click(Sende

interface

procedure

 

r);

uses

N20Click(Sender: TObject);

end;

Windows, Messages,

procedure

 

procedure

SysUtils, Variants, Classes,

FormShow(Sender: TObject);

Tfmain.N6Click(Sender:

Graphics, Controls, Forms,

private

 

TObject);

Dialogs,inifiles,

{ Private declarations }

begin

Menus,UEasyPath,dateutils,ado

public

 

fchpass.ShowModal;

db,db, WordXP,

{ Public declarations }

end;

OleServer,registry,

end;

 

procedure

ExtCtrls;

var

 

Tfmain.N9Click(Sender:

type

fmain: Tfmain;

TObject);

Tfmain = class(TForm)

implementation

begin

MainMenu1: TMainMenu;

uses pass, Chpass, datm,

dm.d.Active:=false;

N1: TMenuItem;

diagnoz, pacient, Vidacha,

dm.d.CommandText:='select

N2: TMenuItem;

Sprav, ot1, ot2;

id_d,nazv_d,sh_d from

N3: TMenuItem;

{$R *.dfm}

 

diagnoz';

N4: TMenuItem;

procedure

 

dm.d.Active:=true;

N5: TMenuItem;

Tfmain.FormCloseQuery(Sender:

fdiagnoz.ShowModal;

N6: TMenuItem;

TObject; var CanClose:

end;

N7: TMenuItem;

Boolean);

 

function TFmain.data

N8: TMenuItem;

begin

 

(data:tdatetime):string;

N9: TMenuItem;

if application.MessageBox('Вы

var g,m,d:word;

N10: TMenuItem;

хотите выйти из

begin

N11: TMenuItem;

программы?','Выход из

decodedate(data,g,m,d);

N12: TMenuItem;

программы',mb_yesno+mb_iconqu

result:=''+currtostr(m)+'/'+c

N13: TMenuItem;

estion)=idyes then

urrtostr(d)+'/'+currtostr(g)+

N14: TMenuItem;

begin

 

'';

N15: TMenuItem;

showmessage('Программа

end;

N141: TMenuItem;

будет закрыта!');

function

N16: TMenuItem;

application.Terminate;

TFmain.Update(rs,tab:string):

N17: TMenuItem;

end

 

boolean;

N18: TMenuItem;

else canclose:=false;

begin

N19: TMenuItem;

end;

 

dm.temp.Active:=false;

WordApplication1:

procedure

 

dm.temp.CommandText:='Select

TWordApplication;

Tfmain.N5Click(Sender:

log_'+rs+' from '+tab+' where

WordDocument1:

TObject);

 

(id_'+rs+'='+tmp+')';

TWordDocument;

var inifile:tinifile;

dm.temp.Active:=true;

N20: TMenuItem;

dbp:string;

 

if

Image1: TImage;

begin

 

dm.temp.Fields[0].AsBoolean=t

procedure

IniFile

:=

rue then

FormCloseQuery(Sender:

TIniFile.Create(ExtractFilePa

begin

TObject; var CanClose:

th(Application.ExeName)+'opti

result:=false;

Boolean);

ons.ini');

//

end

procedure N5Click(Sender:

загрузка из фала настроек

else

TObject);

пути к базе

 

begin

procedure N3Click(Sender:

DBP :=

 

dm.com.CommandText:='Update

TObject);

IniFile.ReadString('options',

'+tab+' set log_'+rs+'=TRUE

procedure N2Click(Sender:

'dbpath', '');

where id_'+rs+'='+tmp+'';

TObject);

IniFile.Free;

 

dm.com.Execute;

procedure N6Click(Sender:

//showmessage(dbp);

result:=true;

TObject);

copyfile(pchar(DBP),pchar(Ext

end;

procedure N9Click(Sender:

ractFilePath(Application.ExeN

end;

TObject);

ame)+'Архив\base_'+datetostr(

 

 

date)+'_'+stringreplace(timet

 

37

function

dm.temp.Active:=true;

 

TFmain.Delete(rs,tab,temp:str

showmessage('Количество

flag:=reg.KeyExists('Word.App

ing):boolean;

"бомжей":

lication');

begin

'+dm.temp.Fields[0].asstring)

reg.Free;

dm.temp.Active:=false;

;

//flag:=true;

dm.temp.CommandText:='Select

end;

if flag=false then

log_'+rs+' from '+tab+' where

procedure

begin

(id_'+rs+'='+tmp+')';

Tfmain.N16Click(Sender:

 

dm.temp.Active:=true;

TObject);

application.MessageBox('Word

if

begin

не

dm.temp.Fields[0].AsBoolean=t

dm.temp.Active:=false;

устанволен','Отчет',mb_ok+mb_

rue then

dm.temp.CommandText:='Select

iconstop);

begin

count(id_pc) from pacient

exit;

result:=false;

where (trud_pc = "нет")';

end;

end

dm.temp.Active:=true;

WordApplication1.Connect;

else if

showmessage('Количество

// Устанавливаем связь с

application.MessageBox('Вы

безработных:

сервером

хотите удалить

'+dm.temp.Fields[0].asstring)

 

запись?','Удаление',mb_yesno+

;

WordApplication1.Documents.Ad

mb_iconquestion)=idyes then

end;

d(Template,EmptyParam,EmptyPa

begin

procedure

ram,EmptyParam);// создаем

dm.com.CommandText:='Delete

Tfmain.N141Click(Sender:

документ на основе шаблона

* from '+tab+' where

TObject);

WordDocument1.ConnectTo(WordA

(id_'+rs+'='+tmp+')';

var i:integer;

pplication1.ActiveDocument);

dm.com.Execute;

begin

//Связываем компонент

result:=true;

i:=0;

WordDocument1 c активным

showmessage('Удаление

dm.temp.Active:=false;

документом (т.е. с только что

прошло успешно');

dm.temp.CommandText:='Select

созданным документом)

end;

dr_pc from pacient where

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

end;

(datas_pc is null)';

объектов

procedure

dm.temp.Active:=true;

 

Tfmain.N8Click(Sender:

While not dm.temp.Eof do

Table1:=WordDocument1.Tables.

TObject);

begin

Item(1); //связываем имя

begin

//showmessage(inttostr(yearsb

Table1 с первой таблицей

dm.pc.Active:=false;

etween(date,dm.temp.Fields[0]

документа

dm.pc.CommandText:='select *

.AsDateTime)));

//WordDocument1.Tables -

from pacient';

if

это массив таблиц документа

dm.pc.Active:=true;

yearsbetween(date,dm.temp.Fie

(тип Tables), а

fpacient.ShowModal;

lds[0].AsDateTime)<14 then

WordDocument1.Tables.Item(i)

end;

inc(i);

- i-ая таблица

procedure

dm.temp.Next;

dm.temp.Active:=false;

Tfmain.N10Click(Sender:

end;

 

TObject);

showmessage('Количество

dm.temp.CommandText:='select

begin

младше 14: '+ inttostr(i));

nazv_d,count(id_pc_pd) from

dm.vid.Active:=false;

end;

diagnoz,pacdig,pacient where

dm.vid.CommandText:='select

procedure

(id_d=id_d_pd) and

id_vid, kto_vid, st_vid from

Tfmain.N17Click(Sender:

(id_pc=id_pc_pd) and

Vidacha';

TObject);

(datas_pc is null) group by

dm.vid.Active:=true;

begin

nazv_d';

fvidacha.ShowModal;

tm:=0;

dm.temp.Active:=true;

end;

fot1.ShowModal;

i:=2;

 

end;

while not dm.temp.Eof do

procedure

procedure

begin

Tfmain.N12Click(Sender:

Tfmain.N18Click(Sender:

 

TObject);

TObject);

Table1.Rows.Add(EmptyParam);

begin

begin

Table1.Cell(i,

dm.sp.Active:=false;

tm:=1;

1).Range.Text :=

dm.sp.CommandText:='(select

fot1.ShowModal;

dm.temp.Fields[0].AsString;

id_sp,fio_pc,kto_vid,cena_sp,

end;

Table1.Cell(i,

data_sp,lg_vid from

procedure

2).Range.Text :=

vidacha,pacient,sprav where

Tfmain.N19Click(Sender:

dm.temp.Fields[1].AsString;

(id_pc=id_pc_sp) and

TObject);

inc(i);dm.temp.next;

(id_vid=id_vid_sp)) UNION

var

end;

(select

 

Table1.Rows.Item(i).Delete;

id_np,fio_np,kto_vid,cena_np,

Template,NewTemplate,FindText

 

data_np,lg_np from

, NewStr,

WordApplication1.Visible:=tru

vidacha,NePsix where

Replace,ReplaceWith:OleVarian

e; //делаем приложение MS

(id_vid=id_vid_np))';

t;

Word видимым

dm.sp.Active:=true;

LinkToFile,SaveWithDocument,R

 

fsprav.ShowModal;

ange:OleVariant;

WordApplication1.Disconnect;

end;

Table1: Table;

// Разрываем связь с серверо

procedure

i: integer;

end;

Tfmain.N15Click(Sender:

flag:boolean;

procedure

TObject);

Reg: TRegistry;

Tfmain.N20Click(Sender:

begin

begin

TObject);

dm.temp.Active:=false;

//Проверяем, инсталлирован

begin

dm.temp.CommandText:='Select

ли Word

fot2.ShowModal;

count(id_pc) from pacient

Reg := TRegistry.Create;

end;

where (adr_pc like

Reg.RootKey :=

 

"%бомж%")';

HKEY_CLASSES_ROOT;

 

38

procedure

t;

With,Replace,EmptyParam,Empty

Tfmain.FormShow(Sender:

LinkToFile,SaveWithDocument,R

Param,EmptyParam,EmptyParam);

TObject);

ange:OleVariant;

Replace:=true; // параметр,

begin

Table1: Table;

задающий режим замены

if fileexists('photo.jpg')

i: integer;

FindText:='#2'; // что

then

flag:boolean;

меняем

begin

Reg: TRegistry;

 

 

begin

ReplaceWith:=datetostr(dtp2.D

image1.Picture.LoadFromFile('

if dtp2.Date<dtp1.Date then

ate); // на что меняем

photo.jpg');

begin

WordDocument1.Range.Find.Exec

end;

showmessage('Неправильная

ute(FindText,EmptyParam,Empty

end;

последовательность дат');

Param,

end.

exit;

EmptyParam,EmptyParam,EmptyPa

unit ot1;

end;

ram,EmptyParam,

interface

//Проверяем, инсталлирован

EmptyParam,EmptyParam,Replace

uses

ли Word

With,Replace,EmptyParam,Empty

Windows, Messages,

Reg := TRegistry.Create;

Param,EmptyParam,EmptyParam);

SysUtils, Variants, Classes,

Reg.RootKey :=

dm.temp.Active:=false;

Graphics, Controls, Forms,

HKEY_CLASSES_ROOT;

 

Dialogs, StdCtrls, Buttons,

 

dm.temp.CommandText:='select

ExtCtrls,registry, WordXP,

flag:=reg.KeyExists('Word.App

fio_pc,kto_vid,st_vid,data_sp

OleServer,

lication');

from vidacha,pacient,sprav

ComCtrls;

reg.Free;

where (id_pc=id_pc_sp) and

type

//flag:=true;

(id_vid=id_vid_sp) and

Tfot1 = class(TForm)

if flag=false then

(data_sp between

Panel1: TPanel;

begin

#'+fmain.data(dtp1.date)+'#

BitBtn1: TBitBtn;

 

and

BitBtn2: TBitBtn;

application.MessageBox('Word

#'+fmain.data(dtp2.date)+'#)'

Panel2: TPanel;

не

;

Label1: TLabel;

устанволен','Отчет',mb_ok+mb_

dm.temp.Active:=true;

Label2: TLabel;

iconstop);

i:=2;

dtp1: TDateTimePicker;

exit;

while not dm.temp.Eof do

dtp2: TDateTimePicker;

end;

begin

WordApplication1:

if tm=0 then

 

TWordApplication;

begin

Table1.Rows.Add(EmptyParam);

WordDocument1:

WordApplication1.Connect;

Table1.Cell(i,

TWordDocument;

// Устанавливаем связь с

1).Range.Text :=

procedure

сервером

dm.temp.Fields[0].AsString;

BitBtn2Click(Sender:

//Открываем шаблон

Table1.Cell(i,

TObject);

otchet.dot в Word

2).Range.Text :=

procedure

Template:=ExtractFilePath(App

dm.temp.Fields[1].AsString;

FormShow(Sender: TObject);

lication.EXEName)+'\Шаблоны\С

Table1.Cell(i,

procedure

правки.dot'; //путь к шаблону

3).Range.Text :=

BitBtn1Click(Sender:

документа

dm.temp.Fields[3].AsString;

TObject);

WordApplication1.Documents.Ad

Table1.Cell(i,

procedure

d(Template,EmptyParam,EmptyPa

4).Range.Text :=

FormCloseQuery(Sender:

ram,EmptyParam);// создаем

dm.temp.Fields[2].AsString;

TObject; var CanClose:

документ на основе шаблона

inc(i);dm.temp.next;

Boolean);

WordDocument1.ConnectTo(WordA

end;

private

pplication1.ActiveDocument);

Table1.Rows.Item(i).Delete;

{ Private declarations }

//Связываем компонент

 

public

WordDocument1 c активным

WordApplication1.Visible:=tru

{ Public declarations }

документом (т.е. с только что

e; //делаем приложение MS

end;

созданным документом)

Word видимым

var

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

 

fot1: Tfot1;

объектов

WordApplication1.Disconnect;

implementation

 

// Разрываем связь с серверо

uses datm, main;

Table1:=WordDocument1.Tables.

end

{$R *.dfm}

Item(1); //связываем имя

else

procedure

Table1 с первой таблицей

begin

Tfot1.BitBtn2Click(Sender:

документа

dm.temp.Active:=false;

TObject);

//WordDocument1.Tables -

 

begin

это массив таблиц документа

dm.temp.CommandText:='select

closequery;

(тип Tables), а

count(id_sp),sum(cena_sp)

end;

WordDocument1.Tables.Item(i)

from pacient,sprav where

procedure

- i-ая таблица

(id_pc=id_pc_sp) and (data_sp

Tfot1.FormShow(Sender:

Replace:=true; // параметр,

between

TObject);

задающий режим замены

#'+fmain.data(dtp1.date)+'#

begin

FindText:='#1'; // что

and

dtp1.Date:=date;dtp2.Date:=da

меняем

#'+fmain.data(dtp2.date)+'#)'

te;

 

;

end;

ReplaceWith:=datetostr(dtp1.D

dm.temp.Active:=true;

procedure

ate); // на что меняем

dm.temp2.Active:=false;

Tfot1.BitBtn1Click(Sender:

WordDocument1.Range.Find.Exec

 

TObject);

ute(FindText,EmptyParam,Empty

dm.temp2.CommandText:='select

var

Param,

count(id_np),sum(cena_np)

 

EmptyParam,EmptyParam,EmptyPa

from nepsix where (data_np

Template,NewTemplate,FindText

ram,EmptyParam,

between

, NewStr,

EmptyParam,EmptyParam,Replace

#'+fmain.data(dtp1.date)+'#

Replace,ReplaceWith:OleVarian

 

and

39

#'+fmain.data(dtp2.date)+'#)'

procedure

With,Replace,EmptyParam,Empty

;

TFot2.BitBtn1Click(Sender:

Param,EmptyParam,EmptyParam);

dm.temp2.Active:=true;

TObject);

dm.temp2.Active:=false;

showmessage('За период с

var

 

'+datetostr(dtp1.Date)+' по

 

dm.temp2.CommandText:='select

'+

Template,NewTemplate,FindText

id_vid_rc,max(data_rc) from

datetostr(dtp2.date)+#13'Было

, NewStr,

rcen WHERE

выдано:

Replace,ReplaceWith:OleVarian

(data_rc<=#'+fmain.data(dtp1.

'+inttostr(dm.temp.Fields[0].

t;

Date)+'#) group by

asinteger+dm.temp2.Fields[0].

LinkToFile,SaveWithDocument,R

id_vid_rc';

asinteger)+'

ange:OleVariant;

dm.temp2.Active:=true;

справок(ки)'#13'На сумму:

Table1: Table;

i:=2;

'+floattostr(dm.temp.fields[1

i: integer;

while not dm.temp2.Eof do

].AsFloat+dm.temp2.fields[1].

flag:boolean;

begin

AsFloat ) +' руб.');

Reg: TRegistry;

dm.temp.Active:=false;

end;

begin

 

end;

//Проверяем, инсталлирован

dm.temp.CommandText:='select

procedure

ли Word

id_vid,kto_vid,cena_rc from

Tfot1.FormCloseQuery(Sender:

Reg := TRegistry.Create;

vidacha,rcen WHERE

TObject; var CanClose:

Reg.RootKey :=

(id_vid=id_vid_rc) and

Boolean);

HKEY_CLASSES_ROOT;

(data_rc=#'+fmain.data(dm.tem

begin

 

p2.Fields[1].asdatetime)+'#)

close;

flag:=reg.KeyExists('Word.App

and (id_vid_rc =

end;

lication');

'+dm.temp2.Fields[0].AsString

end.

reg.Free;

+') ';

unit ot2;

//flag:=true;

dm.temp.Active:=true;

interface

if flag=false then

 

uses

begin

Table1.Rows.Add(EmptyParam);

Windows, Messages,

 

Table1.Cell(i,

SysUtils, Variants, Classes,

application.MessageBox('Word

1).Range.Text :=

Graphics, Controls, Forms,

не

dm.temp.Fields[1].AsString;

Dialogs, WordXP, OleServer,

устанволен','Отчет',mb_ok+mb_

Table1.Cell(i,

ComCtrls, StdCtrls, Buttons,

iconstop);

2).Range.Text :=

ExtCtrls,registry;

exit;

dm.temp.Fields[2].AsString;

type

end;

inc(i);dm.temp2.next;

TFot2 = class(TForm)

WordApplication1.Connect;

end;

Panel1: TPanel;

// Устанавливаем связь с

Table1.Rows.Item(i).Delete;

BitBtn1: TBitBtn;

сервером

 

BitBtn2: TBitBtn;

//Открываем шаблон

WordApplication1.Visible:=tru

Panel2: TPanel;

otchet.dot в Word

e; //делаем приложение MS

Label1: TLabel;

 

Word видимым

dtp1: TDateTimePicker;

Template:=ExtractFilePath(App

 

WordApplication1:

lication.EXEName)+'\Шаблоны\П

WordApplication1.Disconnect;

TWordApplication;

райс.dot'; //путь к шаблону

// Разрываем связь с серверо

WordDocument1:

документа

end;

TWordDocument;

WordApplication1.Documents.Ad

procedure

procedure

d(Template,EmptyParam,EmptyPa

TFot2.FormCloseQuery(Sender:

BitBtn2Click(Sender:

ram,EmptyParam);// создаем

TObject; var CanClose:

TObject);

документ на основе шаблона

Boolean);

procedure

WordDocument1.ConnectTo(WordA

begin

FormShow(Sender: TObject);

pplication1.ActiveDocument);

close;

procedure

//Связываем компонент

end;

BitBtn1Click(Sender:

WordDocument1 c активным

end.

TObject);

документом (т.е. с только что

unit pacient;

procedure

созданным документом)

interface

FormCloseQuery(Sender:

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

uses

TObject; var CanClose:

объектов

Windows, Messages,

Boolean);

 

SysUtils, Variants, Classes,

private

Table1:=WordDocument1.Tables.

Graphics, Controls, Forms,

{ Private declarations }

Item(1); //связываем имя

Dialogs, Grids, DBGrids,

public

Table1 с первой таблицей

StdCtrls, ToolWin, ComCtrls;

{ Public declarations }

документа

type

end;

//WordDocument1.Tables -

TFpacient = class(TForm)

var

это массив таблиц документа

ToolBar1: TToolBar;

Fot2: TFot2;

(тип Tables), а

Button1: TButton;

implementation

WordDocument1.Tables.Item(i)

Button2: TButton;

uses datm, main;

- i-ая таблица

Button3: TButton;

{$R *.dfm}

Replace:=true; // параметр,

ToolBar2: TToolBar;

procedure

задающий режим замены

e1: TEdit;

TFot2.BitBtn2Click(Sender:

FindText:='#1'; // что

Button4: TButton;

TObject);

меняем

Button7: TButton;

begin

 

ToolBar3: TToolBar;

closequery;

ReplaceWith:=datetostr(dtp1.D

Button5: TButton;

end;

ate); // на что меняем

Button6: TButton;

procedure

WordDocument1.Range.Find.Exec

DBGrid1: TDBGrid;

TFot2.FormShow(Sender:

ute(FindText,EmptyParam,Empty

Button8: TButton;

TObject);

Param,

Button9: TButton;

begin

EmptyParam,EmptyParam,EmptyPa

Button10: TButton;

dtp1.Date:=date;

ram,EmptyParam,

ToolButton1: TToolButton;

end;

EmptyParam,EmptyParam,Replace

 

40

procedure

procedure

foto:=dm.pc.fieldbyname('foto

Button1Click(Sender:

TFpacient.Button2Click(Sender

_pc').AsString;

TObject);

: TObject);

if foto='' then

procedure

begin

fapacient.Image1.Picture.Load

Button2Click(Sender:

if

FromFile(ExtractFilePath(Appl

TObject);

dm.pc.Fields[0].AsString=''

ication.ExeName)+'Фото\anonim

procedure

then

.jpeg')

Button3Click(Sender:

begin

else

TObject);

showmessage('Запись для

fapacient.Image1.Picture.Load

procedure

редактирования отсутствует');

FromFile(ExtractFilePath(Appl

Button7Click(Sender:

exit;

ication.ExeName)+'Фото\'+dm.p

TObject);

end;

c.fieldbyname('foto_pc').AsSt

procedure

tmp:=dm.pc.Fields[0].AsString

ring);

Button4Click(Sender:

;tm:=1;

fapacient.ShowModal;

TObject);

//***************************

end;

procedure

***

procedure

Button5Click(Sender:

if

TFpacient.Button3Click(Sender

TObject);

fmain.Update('pc','pacient')=

: TObject);

procedure

false then

begin

Button6Click(Sender:

begin

if

TObject);

showmessage('Данная запись

dm.pc.Fields[0].AsString=''

procedure

используется другим

then

Button8Click(Sender:

пользователем');

begin

TObject);

exit;

showmessage('Запись для

procedure

end;

редактирования отсутствует');

Button9Click(Sender:

//***************************

exit;

TObject);

***

end;

procedure

fapacient.e1.Text:=dm.pc.fiel

tmp:=dm.pc.Fields[0].AsString

Button10Click(Sender:

dbyname('fio_pc').AsString;

;tm:=1;

TObject);

fapacient.e2.Text:=dm.pc.fiel

if

procedure

dbyname('adr_pc').AsString;

fmain.Delete('pc','pacient',t

FormShow(Sender: TObject);

fapacient.e3.Text:=dm.pc.fiel

mp)=false then

private

dbyname('tel_pc').AsString;

begin

{ Private declarations }

fapacient.cb1.Text:=dm.pc.fie

showmessage('Данная запись

public

ldbyname('pol_pc').AsString;

используется другим

{ Public declarations }

fapacient.cb2.Text:=dm.pc.fie

пользователем');

end;

ldbyname('trud_pc').AsString;

exit;

var

fapacient.cb3.Text:=dm.pc.fie

end

Fpacient: TFpacient;

ldbyname('inv_pc').AsString;

else dm.pc.Requery();

implementation

fapacient.dtp1.date:=dm.pc.fi

end;

uses datm, main, aPacient;

eldbyname('dr_pc').AsDateTime

procedure

{$R *.dfm}

;

TFpacient.Button7Click(Sender

procedure

fapacient.dtp2.date:=dm.pc.fi

: TObject);

TFpacient.Button1Click(Sender

eldbyname('datap_pc').AsDateT

begin

: TObject);

ime;

e1.Clear;

begin

tmp2:=tmp;

dm.pc.Active:=false;

tm:=0;

{fapacient.pd.active:=false;

dm.pc.CommandText:='select *

tmp2:='0';

fapacient.pd.CommandText:='Se

from pacient';

{fapacient.pd.active:=false;

lect distinct id_pd,nazv_d

dm.pc.Active:=true;

fapacient.pd.CommandText:='Se

from diagnoz,pacdig where

end;

lect distinct id_pd,nazv_d

(id_d=id_d_pd) and (id_d in

procedure

from diagnoz,pacdig where

(select id_d_pd from pacdig

TFpacient.Button4Click(Sender

(id_d=id_d_pd) and (id_d in

where id_pc_pd='+tmp2+'))';

: TObject);

(select id_d_pd from pacdig

fapacient.pd.active:=true;

begin

where id_pc_pd='+tmp2+'))';

}

dm.pc.Active:=false;

fapacient.pd.active:=true;

fapacient.pd.active:=false;

dm.pc.CommandText:='select *

}

fapacient.pd.CommandText:='Se

from pacient where (fio_pc

fapacient.pd.active:=false;

lect distinct id_pd,nazv_d

like "%'+e1.Text+'%") or

fapacient.pd.CommandText:='Se

from diagnoz,pacdig where

(pol_pc like

lect distinct id_pd,nazv_d

(id_d=id_d_pd) and

"%'+e1.Text+'%")';

from diagnoz,pacdig where

(id_pc_pd='+tmp2+')';

dm.pc.Active:=true;

(id_d=id_d_pd) and

fapacient.pd.active:=true;

end;

(id_pc_pd='+tmp2+')';

dm.temp.Active:=false;

procedure

fapacient.pd.active:=true;

dm.temp.CommandText:='Select

TFpacient.Button5Click(Sender

dm.temp.Active:=false;

nazv_d from diagnoz where

: TObject);

dm.temp.CommandText:='Select

(id_d not in (select id_d_pd

begin

nazv_d from diagnoz where

from pacdig where

e1.Clear;

(id_d not in (select id_d_pd

id_pc_pd='+tmp2+'))';

dm.pc.Active:=false;

from pacdig where

dm.temp.Active:=true;

dm.pc.CommandText:='select *

id_pc_pd='+tmp2+'))';

fapacient.cb.Clear;

from pacient order by dr_pc';

dm.temp.Active:=true;

while not dm.temp.Eof do

dm.pc.Active:=true;

fapacient.cb.Clear;

begin

end;

while not dm.temp.Eof do

fapacient.cb.Items.Add(dm.tem

procedure

begin

p.fields[0].AsString);

TFpacient.Button6Click(Sender

fapacient.cb.Items.Add(dm.tem

dm.temp.Next;

: TObject);

p.fields[0].AsString);

end;

begin

dm.temp.Next;

fapacient.od.FileName:=Extrac

e1.Clear;

end;

tFilePath(Application.ExeName

dm.pc.Active:=false;

fapacient.ShowModal;

)+'Фото\'+dm.pc.fieldbyname('

 

end;

foto_pc').AsString;

 

41

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