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

if tm=1 then begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select * from otvk where (id_z_ok='+id_z+') OR ((sp_ok="'+e2.Text+'") and (np_ok="'+e3.Text+'"))'; dm.temp.Active:=true;

if dm.temp.RecordCount>0 then showmessage('

 

')

 

else

 

 

 

 

begin

 

 

 

 

dm.com.CommandText:='Insert

into

otvk

(fam_ok,ima_ok,ot_ok,sp_ok,np_ok,kz_ok,id_z_ok)

values

("'+e1.Text+'","'+e5.Text+'","'+e6.Text+'","'+e2.Text+'","'+e3.Text+'",'+e4.Text+','+id_z+')';

 

dm.com.Execute;

 

 

 

 

showmessage('

');

 

 

 

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

end; end

else begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select * from otvk where (id_z_ok='+id_z+') OR ((sp_ok="'+e2.Text+'") and (np_ok="'+e3.Text+'"))'; dm.temp.Active:=true;

if (dm.temp.RecordCount>0) and (dm.temp.Fields[0].AsString<>tmp) then showmessage('

')

else

 

 

begin

 

 

dm.com.CommandText:='Update

otvk

SET

fam_ok="'+e1.Text+'",sp_ok="'+e2.Text+'",np_ok="'+e3.Text+'",kz_ok="'+e4.Text+'",id_z_ok="'+id_z+'",ima_ok="'+e5.Text+'",ot_ok="'+e6.Te xt+'" WHERE (id_ok = '+tmp+')';

dm.com.Execute;

 

showmessage('

');

closequery;

 

end;

 

end;

 

end;

 

end;

 

procedure TFaOtvK.e1KeyPress(Sender: TObject; var Key: Char); begin

if not (Key in [#8, ' '..' ',' '..' ']) then begin

Key := #0; end;

end;

procedure TFaOtvK.e5KeyPress(Sender: TObject; var Key: Char); begin

if not (Key in [#8, ' '..' ',' '..' ']) then begin

Key := #0; end;

end;

procedure TFaOtvK.e6KeyPress(Sender: TObject; var Key: Char); begin

if not (Key in [#8, ' '..' ',' '..' ']) then begin

Key := #0; end;

end;

procedure TFaOtvK.FormShow(Sender: TObject); begin

if tm=1 then id_z:=''; end;

end.

unit pass;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls,inifiles;

type

TFpass = class(TForm) Panel1: TPanel;

42

cb1: TComboBox; e1: TEdit; BitBtn1: TBitBtn; Label1: TLabel; Label2: TLabel;

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

procedure BitBtn1Click(Sender: TObject);

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

{Private declarations } public

{Public declarations } end;

var

Fpass: TFpass;

implementation

uses datm, main;

{$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

 

 

fpass.Caption:=application.Title;

 

IniFile

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

//

DBP := IniFile.ReadString('base', 'Path', '');

IniFile.Free;

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;Jet OLEDB:Database

Password="12345"';

 

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\options.ini');

 

inifile.WriteString('base','path',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;Jet OLEDB:Database

Password="12345"';

 

dm.ADO.Connected:=true;

 

end

 

else

 

begin

 

dm.ado.Connected:=false;

 

ЬСШаЦОЬЬКРО('

');

application.Terminate;

 

end;

 

end

 

else

 

begin

 

dm.ado.Connected:=false;

 

showmessage('

');

application.Terminate;

 

end;

 

end;

 

43

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

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

dm.temp.Next;

end;

end;

 

 

procedure TFpass.BitBtn1Click(Sender: TObject);

 

begin

 

 

ТП МЛ1.TОбЭ='' ЭСОЧ ЬСШаЦОЬЬКРО('

 

')

else if (e1.Text='') and (cb1.Text<>'

') then showmessage('

')

else

 

 

begin

 

 

if e1.Text<>'' then

 

 

begin

 

dm.temp.Active:=false;

 

dm.temp.CommandText:='Select r from pass where (login="'+cb1.Text+'") and (pass="'+e1.Text+'")';

 

dm.temp.Active:=true;

 

if dm.temp.RecordCount=0 then showmessage('

')

else

 

begin

fmain.StatusBar1.Panels[0].Text:=cb1.Text+', '+ timetostr(time);

//

if dm.temp.Fields[0].asinteger=0 then begin

fpass.Hide;

fmain.ShowModal; end

//

else begin

fmain.N3.Visible:=false;

fmain.N4.Visible:=false;

//fmain.N9.Visible:=false;

fpass.Hide;

fmain.ShowModal; end

end; end

else begin

fmain.N3.Visible:=false;

fmain.N4.Visible:=false;

fmain.N9.Visible:=false;

fmain.Cd1.Visible:=false;

fpass.Hide;

fmain.ShowModal;

end;

end;

end;

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

key:=#0;

end;

end.

unit aUslugi;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls,math;

type

TFaUslugi = class(TForm) Panel1: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

44

e1: TEdit; BitBtn1: TBitBtn; cb1: TComboBox; e2: TEdit;

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

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure cb1KeyPress(Sender: TObject; var Key: Char);

private

{Private declarations } public

{Public declarations } end;

var

FaUslugi: TFaUslugi;

 

 

 

implementation

 

 

 

uses datm;

 

 

 

{$R *.dfm}

 

 

 

procedure TFaUslugi.BitBtn1Click(Sender: TObject);

 

 

begin

 

 

 

if (e1.Text='') or (e2.Text='') or

(cb1.Text='') then showmessage('

')

 

else

 

 

 

begin

 

 

 

try

 

 

 

e2.Text:=floattostr(roundto(strtofloat(e2.Text),-2));

 

 

except

 

 

 

ЬСШаЦОЬЬКРО('

');

 

 

exit;

 

 

 

end;

 

 

 

if tm=1 then

 

 

 

begin

 

 

 

dm.temp.Active:=false;

 

 

 

dm.temp.CommandText:='Select * from uslugi where (nazv_us="'+e1.text+'")';

 

 

dm.temp.Active:=true;

 

 

 

if dm.temp.RecordCount>0 then showmessage('

')

 

else

 

 

 

begin

 

 

 

dm.com.CommandText:='Insert into uslugi (nazv_us,tar_us,id_mr_us) values ("'+e1.Text+'","'+e2.Text+'",'+id_mr+')';

 

dm.com.Execute;

 

 

 

dm.temp.Active:=false;

 

 

 

dm.temp.CommandText:='Select max(id_us) from uslugi';

 

 

dm.temp.Active:=true;

 

 

 

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

 

 

dm.com.CommandText:='Insert into rcen (id_us_rc,st_rc,data_rc) values ('+tmp+',"'+e2.Text+'",date())';

 

dm.com.Execute;

 

 

 

showmessage('

');

 

 

e1.Clear;e2.Clear;

 

 

 

end;

 

 

 

end

 

 

 

else

 

 

 

begin

 

 

 

dm.temp.Active:=false;

 

 

 

dm.temp.CommandText:='Select * from uslugi where (nazv_us="'+e1.text+'")';

 

 

dm.temp.Active:=true;

 

 

 

if (dm.temp.RecordCount>0) and (dm.temp.Fields[0].AsString<>tmp) then showmessage('

')

else

 

 

 

begin

 

 

 

dm.com.CommandText:='Update uslugi SET nazv_us="'+e1.Text+'",tar_us="'+e2.Text+'",id_mr_us="'+id_mr+'" WHERE (id_us = '+tmp+')'; dm.com.Execute;

dm.com.CommandText:='Insert into rcen (id_us_rc,st_rc,data_rc) values ('+tmp+',"'+e2.Text+'",date())';

dm.com.Execute;

 

showmessage('

');

closequery;

 

end;

 

end;

 

end;

 

end;

 

procedure TFaUslugi.cb1Change(Sender: TObject); begin

45

dm.temp.Active:=false;

dm.temp.CommandText:='Select id_mr from metr where (nazv_mr="'+cb1.text+'")'; dm.temp.Active:=true;

id_mr:=dm.temp.Fields[0].AsString; end;

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

e1.Clear;e2.Clear;

cb1.Clear; if tm=2 then

begin

dm.com.CommandText:='Update uslugi set log_us=FALSE where (id_us='+tmp+')'; dm.com.Execute;

dm.us.RecNo:=ind;

end;

dm.us.Requery();

close;

end;

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

key:=#0;

end;

end. unit azil;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls,math;

type

TFazil = class(TForm) Panel1: TPanel;

e1: TEdit; e2: TEdit;

BitBtn1: TBitBtn; Label1: TLabel; Label2: TLabel; e3: TEdit; Label3: TLabel; e4: TEdit; Label4: TLabel;

procedure BitBtn1Click(Sender: TObject);

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

{Private declarations } public

{Public declarations } end;

var

Fazil: TFazil;

 

implementation

 

uses datm;

 

{$R *.dfm}

 

procedure TFazil.BitBtn1Click(Sender: TObject);

 

var tmpstr:string;

 

begin

 

if (e1.Text='') or (e2.Text='') then showmessage('

')

else

 

begin

 

try e2.Text:=floattostr(roundto(strtofloat(e2.Text),-2)); except

ЬСШаЦОЬЬКРО('

');

exit;

 

end;

 

try

 

if strtoint(e4.Text)<0 then

 

46

begin

 

 

ЬСШаЦОЬЬКРО('

1');

 

end;

 

 

except

 

 

ЬСШаЦОЬЬКРО('

');

 

exit;

 

 

end;

 

 

if length(e1.Text)<6 then

 

 

begin

 

 

ЭЦЩЬЭЫ:=PМСКЫ('"'+О1.TОбЭ)+'"

!'+#13+'

?';

if application.MessageBox(pchar(tmpstr),'

',mb_yesno+mb_iconquestion)=idno then exit;

 

end;

 

 

if tm=1 then

 

 

begin dm.temp.Active:=false;

dm.temp.CommandText:='Select * from zil where (adr_z="'+e1.Text+'") and (dom_z="'+e3.Text+'") and (kv_z='+e4.Text+')';

dm.temp.Active:=true;

 

if dm.temp.RecordCount>0 then showmessage('

')

else

 

begin

dm.com.CommandText:='Insert into zil (adr_z,pl_z,dom_z,kv_z) values ("'+e1.Text+'","'+e2.Text+'","'+e3.text+'",'+e4.text+')'; dm.com.Execute;

showmessage('

');

e1.Clear;e2.Clear;

 

end;

 

end

 

else

 

begin dm.temp.Active:=false;

dm.temp.CommandText:='Select * from zil where (adr_z="'+e1.Text+'") and (dom_z="'+e3.Text+'") and (kv_z='+e4.Text+')';

dm.temp.Active:=true;

 

if (dm.temp.RecordCount>0) and (dm.temp.Fields[0].AsString<>tmp) then showmessage('

')

else

 

begin

 

dm.com.CommandText:='Update zil SET adr_z="'+e1.Text+'",pl_z="'+e2.Text+'",dom_z="'+e3.text+'",kv_z="'+e4.text+'" WHERE (id_z =

'+tmp+')';

 

dm.com.Execute;

 

showmessage('

');

closequery;

 

end;

 

end;

 

end;

 

end;

 

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

e1.Clear;e2.Clear;e3.Clear;e4.Clear; if tm=2 then

begin

dm.com.CommandText:='Update zil set log_z=FALSE where (id_z='+tmp+')'; dm.com.Execute;

dm.z.RecNo:=ind;

end;

dm.z.Requery();

close;

end;

end. unit chpass;

interface

uses

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

Dialogs, StdCtrls, Buttons, ExtCtrls;

type

TFchpass = class(TForm)

Panel1: TPanel;

cb1: TComboBox;

e1: TEdit;

47

e2: TEdit; e3: TEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

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

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

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

private

{Private declarations } public

{Public declarations } end;

var

Fchpass: TFchpass; implementation

uses datm; {$R *.dfm}

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

key:=#0;

end;

procedure TFchpass.BitBtn2Click(Sender: TObject); begin

closequery;

end;

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

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

close;

end;

procedure TFchpass.BitBtn1Click(Sender: TObject);

 

begin

 

ТП МЛ1.TОбЭ='' ЭСОЧ ЬСШаЦОЬЬКРО('

')

ОХЬО ТП О1.TОбЭ='' ЭСОЧ ЬСШаЦОЬЬКРО('

')

else if e2.TeбЭ='' ЭСОЧ ЬСШаЦОЬЬКРО('

')

ОХЬО ТП О3.TОбЭ='' ЭСОЧ ЬСШаЦОЬЬКРО('

')

ОХЬО ТП О2.TОбЭ<>О3.TОбЭ ЭСОЧ ЬСШаЦОЬЬКРО('

')

else

 

begin

 

dm.temp.Active:=false;

 

dm.temp.CommandText:='select * from pass where (login="'+cb1.Text+'") and (pass="'+e1.Text+'")';

dm.temp.Active:=true;

if dm.temp.RecordCount>0 then

begin

48

dm.com.Commandtext:='Update pass Set pass="'+e2.Text+'" where (login = "'+cb1.Text+'")';

dm.com.Execute;

 

showmessage('

');

closequery;

 

end

 

else

 

begin

 

showmessage('

');

end;

 

end;

 

end;

 

procedure TFchpass.cb1Change(Sender: TObject); begin

e1.Clear;

dm.temp.Active:=false;

dm.temp.CommandText:='select * from pass where (login="'+cb1.Text+'")';

dm.temp.Active:=true;

 

if cb1.Text<>'

' then

begin

 

e1.Text:=dm.temp.FieldByName('pass').AsString; end

end;

procedure TFchpass.FormShow(Sender: TObject); begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select login from pass WHERE (r<>9) order by login'; dm.temp.Active:=true;

while not dm.temp.Eof do begin

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

dm.temp.Next;

end;

end;

end. unit main; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls,jpeg,inifiles, Menus;

type

TFmain = class(TForm)

StatusBar1: TStatusBar;

Image1: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

49

N5: TMenuItem;

Cd1: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

Cdtltybz1: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

Image2: TImage;

procedure FormShow(Sender: TObject);

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

procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N10Click(Sender: TObject); function data(data:tdatetime):string; procedure N12Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N16Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

Fmain: TFmain;

implementation

uses datm, chpass, Zil, OtvK, Uslugi, oplata, oplP, OplN, ot1, ot2, ot3;

{$R *.dfm}

procedure TFmain.FormShow(Sender: TObject); begin

if fileexists(ExtractFilePath(Application.ExeName)+'Data\photo.jpg') then begin

image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'Data\photo.jpg');

end;

fmain.Caption:=application.Title;

50

end;

procedure TFmain.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 TFmain.N2Click(Sender: TObject); begin

closequery;

end;

procedure TFmain.N3Click(Sender: TObject);

 

 

 

 

var inifile:tinifile;

 

 

 

 

dbp:string;

 

 

 

 

begin

 

 

 

 

 

IniFile

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

//

DBP := IniFile.ReadString('base', 'Path', '');

 

 

 

 

IniFile.Free;

 

 

 

 

copyfile(pchar(DBP),pchar(ExtractFilePath(Application.ExeName)+'Data\

\base_'+datetostr(date)+'_'+stringreplace(timetostr(time),':','.',[rf

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

 

 

 

 

if

fileexists(ExtractFilePath(Application.ExeName)+'Data\

\base_'+datetostr(date)+'_'+stringreplace(timetostr(time),':','.',[rfReplaceAll,

rfIgnoreCase])+'.mdb') =true then showmessage('

 

 

')

 

ОХЬО ЬСШаЦОЬЬКРО('

');

 

 

 

end;

procedure TFmain.N5Click(Sender: TObject); begin

fchpass.Caption:=n5.Caption;

fchpass.ShowModal;

end;

procedure TFmain.N6Click(Sender: TObject); begin

dm.z.Active:=false;

dm.z.CommandText:='Select id_z,adr_z,pl_z,log_z,dom_z,kv_z from zil ORDER BY adr_z'; dm.z.Active:=true;

fzil.Caption:=n6.Caption;

fzil.ShowModal;

end;

procedure TFmain.N7Click(Sender: TObject); begin

dm.ok.Active:=false;

dm.ok.CommandText:='Select id_ok,fam_ok,ima_ok,ot_ok,sp_ok,np_ok,kz_ok,log_ok,([adr_z]&", . "&[dom_z]&", . "&[kv_z]) as adr from OtvK,zil WHERE (id_z=id_z_ok) ORDER BY fam_ok,ima_ok,ot_ok';

dm.ok.Active:=true;

fOtvK.Caption:=n7.Caption;

fOtvK.ShowModal;

end;

51

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