Приложения. Приложение А. Описание главной формы «fmain»


Приложение А. Описание главной формы «Fmain»

Листинг программы

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.XPMan, Vcl.ExtCtrls, Vcl.DBCtrls,

Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCGrids,

Vcl.DBLookup, Vcl.ActnList, Vcl.Menus, Data.DB, Vcl.ImgList, Vcl.ToolWin, Shellapi;

type

Tfmain = class(TForm)

sb: TStatusBar;

dbgarenda: TDBGrid;

Panel1: TPanel;

Label6: TLabel;

Label7: TLabel;

edog: TEdit;

DBLookupComboBox1: TDBLookupComboBox;

Button1: TButton;

ToolBar1: TToolBar;

tbAdd: TToolButton;

XPManifest1: TXPManifest;

al: TActionList;

fmainactivate: TAction;

arendatrefresh: TAction;

cbfiofill: TAction;

filterfio: TAction;

fsprclose: TAction;

fsprarendatoryopen: TAction;

arendatoryrefresh: TAction;

fsprpomesheniaopen: TAction;

ImageList1: TImageList;

mmfmain: TMainMenu;

N1: TMenuItem;

mmAdd: TMenuItem;

mmDel: TMenuItem;

mmSave: TMenuItem;

N4: TMenuItem;

mmExit: TMenuItem;

N2: TMenuItem;

mmpomeshenya: TMenuItem;

mmarendatory: TMenuItem;

N6: TMenuItem;

mmHTML1: TMenuItem;

N7: TMenuItem;

mmabout: TMenuItem;

tbdel: TToolButton;

tbSave: TToolButton;

ToolButton1: TToolButton;

ToolButton3: TToolButton;

ToolButton4: TToolButton;

ToolButton5: TToolButton;

ToolButton6: TToolButton;

ToolButton7: TToolButton;

ToolButton2: TToolButton;

ToolButton8: TToolButton;

ToolButton9: TToolButton;

ToolButton10: TToolButton;

pmArenda: TPopupMenu;

pmAdd: TMenuItem;

pmDel: TMenuItem;

pmSave: TMenuItem;

ToolButton11: TToolButton;

ToolButton12: TToolButton;

Label8: TLabel;

ToolButton13: TToolButton;

ToolButton14: TToolButton;

ToolButton15: TToolButton;

Panel2: TPanel;

DBEdit4: TDBEdit;

DBEdit3: TDBEdit;

DBEdit2: TDBEdit;

DBEdit1: TDBEdit;

DBLookupComboBox2: TDBLookupComboBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

procedure fmainactivateExecute(Sender: TObject);

procedure arendatrefreshExecute(Sender: TObject);

procedure mmExitClick(Sender: TObject);

procedure filterfioExecute(Sender: TObject);

procedure mmaboutClick(Sender: TObject);

procedure mmarendatoryClick(Sender: TObject);

procedure fsprcloseExecute(Sender: TObject);

procedure fsprarendatoryopenExecute(Sender: TObject);

procedure fsprpomesheniaopenExecute(Sender: TObject);

procedure DBLookupComboBox1CloseUp(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure mmAddClick(Sender: TObject);

procedure mmDelClick(Sender: TObject);

procedure mmSaveClick(Sender: TObject);

procedure dbgarendaEnter(Sender: TObject);

procedure dbgarendaExit(Sender: TObject);

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

procedure mmHTML1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fmain: Tfmain;

implementation

{$R *.dfm}

uses udm, Ufabout, Ufsprarendatory, Ufsprpomeshenia;

procedure Tfmain.arendatrefreshExecute(Sender: TObject);

begin

dm.tarenda.Close;

dm.tarenda.Open;

fmain.sb.Panels[0].Text:='Количество арендованных помещений - '

+inttostr(dm.tarenda.RecordCount);

end;

procedure Tfmain.Button1Click(Sender: TObject);

begin

dm.tarenda.Filter:='';

dm.tarenda.Filtered:=false;

DBLookupComboBox1.KeyValue:=null;

fmain.sb.Panels[0].Text:='Количество арендованных помещений - ' +

inttostr(dm.tarenda.RecordCount);

end;

procedure Tfmain.dbgarendaEnter(Sender: TObject);

begin

tbdel.Enabled:=true;

mmDel.Enabled:=true;

end;

procedure Tfmain.dbgarendaExit(Sender: TObject);

begin

tbdel.Enabled:=false;

mmDel.Enabled:=false;

end;

procedure Tfmain.DBLookupComboBox1CloseUp(Sender: TObject);

var str:string;

begin

if (DBLookupComboBox1.KeyValue=null)and(edog.Text='')

then str:='';

if (DBLookupComboBox1.KeyValue<>null)and(edog.Text='')

then str:='kod_arendatora='+quotedstr(DBLookupComboBox1.KeyValue);

if (DBLookupComboBox1.KeyValue=null)and(edog.Text<>'')

then str:='nomer_dogovora='+quotedstr(edog.Text);

if str<>'' then

begin

dm.tarenda.Filter:=str;

dm.tarenda.Filtered:=true;

fmain.sb.Panels[0].Text:='Найдено записей - '+inttostr(dm.tarenda.RecordCount);

end

else

begin

dm.tarenda.Filtered:=false;

fmain.sb.Panels[0].Text:='Количество арендованных помещений - ' +

inttostr(dm.tarenda.RecordCount);

end;

end;

procedure Tfmain.edogKeyPress(Sender: TObject; var Key: Char);

begin

if Key in ['a'..'z'] + ['A'..'Z'] then Key:=#0

end;

procedure Tfmain.filterfioExecute(Sender: TObject);

var str:string;

begin

{if (cbfio.Text='Все')and(edog.Text='')

then str:='';

if (cbfio.Text<>'Все')and(edog.Text='')

then str:='FIO_rykovoditela='+quotedstr(fmain.cbfio.Text);

if (cbfio.Text='Все')and(fmain.edog.Text<>'')

then str:='nomer_dogovora='+quotedstr(fmain.edog.Text);

if (cbfio.Text<>'Все')and(fmain.edog.Text<>'')

then str:='(FIO_rykovoditela='+quotedstr(cbfio.Text)+

') and (nomer_dogovora=' + quotedstr(fmain.edog.Text)+')';

if str<>'' then

begin

dm.tarenda.Filter:=str;

dm.tarenda.Filtered:=true;

fmain.sb.Panels[0].Text:='Найдено записей - '+inttostr(dm.tarenda.RecordCount);

end

else

begin

dm.tarenda.Filtered:=false;

fmain.sb.Panels[0].Text:='Количество арендованных помещений - ' + inttostr(dm.tarenda.RecordCount);

end; }

end;

procedure Tfmain.fmainactivateExecute(Sender: TObject);

begin

sb.Panels[0].Text:='Количество арендованных помещений - '+inttostr(dm.tarenda.RecordCount);

end;

procedure Tfmain.fsprarendatoryopenExecute(Sender: TObject);

begin

fsprarendatory.dbg.DataSource:=dm.dsarendatory;

fsprarendatory.dbg.Columns.Clear;

fsprarendatory.dbg.Columns.Add;

fsprarendatory.dbg.Columns[0].Field:=dm.tarendatoryFIO_rykovoditela;

fsprarendatory.dbg.Columns[0].Width:=150;

dm.tarendatory.Sort:=dm.tarendatoryFIO_rykovoditela.FieldName;

fsprarendatory.dbg.Columns.Add;

fsprarendatory.dbg.Columns[1].Field:=dm.tarendatorynazvanie_firmy;

fsprarendatory.dbg.Columns[1].Width:=150;

dm.tarendatory.Sort:=dm.tarendatorynazvanie_firmy.FieldName;

fsprarendatory.dbg.Columns.Add;

fsprarendatory.dbg.Columns[2].Field:=dm.tarendatoryyredicheskiy_adress;

fsprarendatory.dbg.Columns[2].Width:=150;

dm.tarendatory.Sort:=dm.tarendatoryyredicheskiy_adress.FieldName;

fsprarendatory.dbg.Columns.Add;

fsprarendatory.dbg.Columns[3].Field:=dm.tarendatorykontaktniy_telefon;

fsprarendatory.dbg.Columns[3].Width:=150;

dm.tarendatory.Sort:=dm.tarendatorykontaktniy_telefon.FieldName;

fsprarendatory.Width:=600+60;

fsprarendatory.sb.Panels[0].Text:='Количество арендаторов - ' +

inttostr(fsprarendatory.dbg.DataSource.DataSet.RecordCount);

ShowWindow(Handle,SW_HIDE);

fsprarendatory.ShowModal;

AnimateWindow(Handle,300,AW_CENTER);

end;

procedure Tfmain.fsprcloseExecute(Sender: TObject);

begin

if (fsprarendatory.dbg.DataSource.DataSet.State=dsEdit) or

(fsprarendatory.dbg.DataSource.DataSet.State=dsInsert) then

fsprarendatory.dbg.DataSource.DataSet.Cancel;

end;

procedure Tfmain.fsprpomesheniaopenExecute(Sender: TObject);

begin

fsprpomeshenia.dbgpomeshenia.DataSource:=dm.dspomeshenia;

fsprpomeshenia.dbgpomeshenia.Columns.Clear;

fsprpomeshenia.dbgpomeshenia.Columns.Add;

fsprpomeshenia.dbgpomeshenia.Columns[0].Field:=dm.tpomeshenianazvanie_pomeshenia;

fsprpomeshenia.dbgpomeshenia.Columns[0].Width:=150;

//dm.tpomeshenia.Sort:=dm.tpomeshenianazvanie_pomeshenia.FieldName;

fsprpomeshenia.dbgpomeshenia.Columns.Add;

fsprpomeshenia.dbgpomeshenia.Columns[1].Field:=dm.tpomesheniaploshad;

fsprpomeshenia.dbgpomeshenia.Columns[1].Width:=150;

//dm.tpomeshenia.Sort:=dm.tpomesheniaploshad.FieldName;

fsprpomeshenia.sb.Panels[0].Text:='Количество помещений - ' +

inttostr(fsprpomeshenia.dbgpomeshenia.DataSource.DataSet.RecordCount);

fsprpomeshenia.dbgzdania.DataSource:=dm.dszdania;fsprpomeshenia.dbgzdania.Columns.Clear;

fsprpomeshenia.dbgzdania.Columns.Add;

fsprpomeshenia.dbgzdania.Columns[0].Field:=dm.tzdanianazvanie;

fsprpomeshenia.dbgzdania.Columns[0].Width:=150;

//dm.tzdania.Sort:=dm.tzdanianazvanie.FieldName;

fsprpomeshenia.dbgzdania.Columns.Add;

fsprpomeshenia.dbgzdania.Columns[1].Field:=dm.tzdaniaadress;

fsprpomeshenia.dbgzdania.Columns[1].Width:=150;

fsprpomeshenia.Width:=720+60;

fsprpomeshenia.sb.Panels[0].Text:='Количество помещений - ' +

inttostr(fsprpomeshenia.dbgzdania.DataSource.DataSet.RecordCount);

ShowWindow(Handle,SW_HIDE);

fsprpomeshenia.ShowModal;

AnimateWindow(Handle,300,AW_BLEND);

dbgarenda.DataSource:=dm.dsarenda;

end;

procedure Tfmain.mmAddClick(Sender: TObject);

begin

dm.tarenda.Insert;

end;

procedure Tfmain.mmarendatoryClick(Sender: TObject);

begin

fsprarendatory.ShowModal;

end;

procedure Tfmain.mmDelClick(Sender: TObject);

begin

dm.tarenda.Delete;

end;

procedure Tfmain.mmExitClick(Sender: TObject);

begin

ExitProcess(0);

end;

procedure Tfmain.mmHTML1Click(Sender: TObject);

var

tfile:TextFile;

i:integer;

filename:string;

begin

filename:='report.html';

AssignFile(tfile,filename);

rewrite(tfile);

writeln(tfile,'<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">');

writeln(tfile,'<HTML>');

writeln(tfile,'<HEAD>');

writeln(tfile,'<meta http-equiv=Content-Type content=\"text/html; charset=UTF-8\">');

writeln(tfile,'</HEAD>');

writeln(tfile,'<BODY>');

writeln(tfile,'<H2 Align=Center>Отчёт по арендованным помещениям</H2><TABLE BORDER=1 WIDTH=100%><TR><TH>ID<TH>Помещение<TH>№ договора<TH>Дата договора<TH>Начало аренды<TH>Конец аренды<TH>Арендатор</TR>');

i:=1;

dm.tarenda.First;

while not dm.tarenda.Eof do

begin

writeln(tfile,'<TR>');

writeln(tfile,'<TD>'+inttostr(i));

writeln(tfile,'<TD>'+dm.tarendapomeshenia.Value);

writeln(tfile,'<TD>'+inttostr(dm.tarendanomer_dogovora.Value));

writeln(tfile,'<TD>'+datetostr(dm.tarendadata_oformlenia_dogovora.Value));

writeln(tfile,'<TD>'+datetostr(dm.tarendadata_nachala_arendy.Value));

writeln(tfile,'<TD>'+datetostr(dm.tarendadata_okonchania_arendy.Value));

writeln(tfile,'<TD>'+dm.tarendaArendator.Value);

i:=i+1;

dm.tarenda.Next;

end;

writeln(tfile,'</TABLE>');

writeln(tfile,'<P>Количество арендованых помещений - '+inttostr(dm.tarenda.RecordCount)+'</P>');

CloseFile(tfile);

ShellExecute(0,'Open',PWideChar(filename),0,0,SW_SHOW);

end;

procedure Tfmain.mmSaveClick(Sender: TObject);

begin

dm.tarenda.Post;

tbSave.Enabled:=false;

pmSave.Enabled:=false;

end;

procedure Tfmain.mmaboutClick(Sender: TObject);

begin

ShowWindow(Handle,SW_HIDE);

fabout.ShowModal;

AnimateWindow(Handle,300,AW_BLEND);

end;

end.

Приложение Б. Описание формы «Fsprarendatory»

Листинг программы

unit Ufsprarendatory;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.DBCtrls,

Vcl.Grids, Vcl.DBGrids, Vcl.StdCtrls, Vcl.Buttons, Vcl.ImgList, Vcl.ToolWin;

type

Tfsprarendatory = class(TForm)

dbg: TDBGrid;

sb: TStatusBar;

ToolBar1: TToolBar;

ImageList1: TImageList;

bAdd: TToolButton;

bDel: TToolButton;

bSave: TToolButton;

tbExit: TToolButton;

procedure bAddClick(Sender: TObject);

procedure bDelClick(Sender: TObject);

procedure bSaveClick(Sender: TObject);

procedure dbgEnter(Sender: TObject);

procedure dbgExit(Sender: TObject);

procedure tbExitClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fsprarendatory: Tfsprarendatory;

implementation

{$R *.dfm}

uses udm;

procedure Tfsprarendatory.bAddClick(Sender: TObject);

begin

dm.tarendatory.Insert;

end;

procedure Tfsprarendatory.bDelClick(Sender: TObject);

begin

dm.tarendatory.Delete;

end;

procedure Tfsprarendatory.bSaveClick(Sender: TObject);

begin

dm.tarendatory.Post;

bSave.Enabled:=False;

end;

procedure Tfsprarendatory.dbgEnter(Sender: TObject);

begin

bDel.Enabled:=true;

end;

procedure Tfsprarendatory.dbgExit(Sender: TObject);

begin

bDel.Enabled:=false;

end;

procedure Tfsprarendatory.tbExitClick(Sender: TObject);

begin

close;

end;

end.

Приложение В. Описание формы «Fsprpomeshenia»

Листинг программы

unit Ufsprpomeshenia;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.DBCtrls,

Vcl.Grids, Vcl.DBGrids, Vcl.StdCtrls, Vcl.Buttons;

type

Tfsprpomeshenia = class(TForm)

dbgpomeshenia: TDBGrid;

sb: TStatusBar;

dbgzdania: TDBGrid;

bAddZdania: TBitBtn;

bDelZdania: TBitBtn;

bSaveZdania: TBitBtn;

bAddpomeshenia: TBitBtn;

bDelPomeshenia: TBitBtn;

bSavepomeshenia: TBitBtn;

BitBtn1: TBitBtn;

procedure bAddZdaniaClick(Sender: TObject);

procedure bAddpomesheniaClick(Sender: TObject);

procedure bDelZdaniaClick(Sender: TObject);

procedure bSaveZdaniaClick(Sender: TObject);

procedure bDelPomesheniaClick(Sender: TObject);

procedure bSavepomesheniaClick(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fsprpomeshenia: Tfsprpomeshenia;

implementation

{$R *.dfm}

uses udm;

procedure Tfsprpomeshenia.bAddpomesheniaClick(Sender: TObject);

begin

dm.tpomeshenia.Insert;

end;

procedure Tfsprpomeshenia.bAddZdaniaClick(Sender: TObject);

begin

dm.tzdania.Insert;

end;

procedure Tfsprpomeshenia.bDelPomesheniaClick(Sender: TObject);

begin

dm.tpomeshenia.Delete;

end;

procedure Tfsprpomeshenia.bDelZdaniaClick(Sender: TObject);

begin

dm.tzdania.Delete;

end;

procedure Tfsprpomeshenia.BitBtn1Click(Sender: TObject);

begin

close;

end;

procedure Tfsprpomeshenia.bSavepomesheniaClick(Sender: TObject);

begin

dm.tpomeshenia.Post;

end;

procedure Tfsprpomeshenia.bSaveZdaniaClick(Sender: TObject);

begin

dm.tzdania.Post;

end;

end.


Приложение Г. описание формы «udm»

Листинг программы

unit udm;

interface

uses

System.SysUtils, System.Classes, Data.DB, Data.Win.ADODB;

type

Tdm = class(TDataModule)

ADOData: TADOConnection;

tzdania: TADOTable;

dszdania: TDataSource;

tpomeshenia: TADOTable;

dspomeshenia: TDataSource;

tzdaniakod_zdania: TAutoIncField;

tzdanianazvanie: TWideStringField;

tzdaniaadress: TWideStringField;

tpomesheniakod_pomeshenia: TAutoIncField;

tpomeshenianazvanie_pomeshenia: TWideStringField;

tpomesheniaploshad: TIntegerField;

tpomesheniakod_zdania: TIntegerField;

tarenda: TADOTable;

dsarenda: TDataSource;

tarendatory: TADOTable;

dsarendatory: TDataSource;

tarendatorykod_arendatora: TAutoIncField;

tarendatoryyredicheskiy_adress: TWideStringField;

tarendatoryFIO_rykovoditela: TWideStringField;

tarendatorykontaktniy_telefon: TIntegerField;

tarendatorynazvanie_firmy: TWideStringField;

qtarenda: TADOTable;

dsqtarenda: TDataSource;

qtarendakod_pomeshenia: TIntegerField;

qtarendanomer_dogovora: TIntegerField;

qtarendadata_oformlenia_dogovora: TDateTimeField;

qtarendadata_nachala_arendy: TDateTimeField;

qtarendadata_okonchania_arendy: TDateTimeField;

qtarendakod_arendy: TAutoIncField;

qtarendakod_arendatora: TIntegerField;

qtarendaFIO_rykovoditela: TWideStringField;

qtarendanazvanie_pomeshenia: TWideStringField;

tarendakod_pomeshenia: TIntegerField;

tarendanomer_dogovora: TIntegerField;

tarendadata_oformlenia_dogovora: TDateTimeField;

tarendadata_nachala_arendy: TDateTimeField;

tarendadata_okonchania_arendy: TDateTimeField;

tarendakod_arendy: TAutoIncField;

tarendakod_arendatora: TIntegerField;

tarendaArendator: TStringField;

tarendapomeshenia: TStringField;

procedure tarendaAfterRefresh(DataSet: TDataSet);

procedure tarendatoryAfterRefresh(DataSet: TDataSet);

procedure tarendaAfterEdit(DataSet: TDataSet);

procedure tarendatoryAfterEdit(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

dm: Tdm;

implementation

{%CLASSGROUP 'System.Classes.TPersistent'}

uses Unit1, Ufsprarendatory;

{$R *.dfm}

procedure Tdm.tarendaAfterEdit(DataSet: TDataSet);

begin

fmain.tbSave.Enabled:=true;

fmain.pmSave.Enabled:=true;

end;

procedure Tdm.tarendaAfterRefresh(DataSet: TDataSet);

begin

dm.tarenda.Close;

dm.tarenda.Open;

fmain.sb.Panels[0].Text:='Количество арендованных помещений - '+

inttostr(dm.tarenda.RecordCount);

end;

procedure Tdm.tarendatoryAfterEdit(DataSet: TDataSet);

begin

fsprarendatory.bSave.Enabled:=true;

end;

procedure Tdm.tarendatoryAfterRefresh(DataSet: TDataSet);

begin

fsprarendatory.sb.Panels[0].Text:=' Количество арендаторов - ' +

inttostr(dm.tarendatory.RecordCount);

end;

end.


Приложение Д.Описание формы «fabout»

Листинг программы

unit Ufabout;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.jpeg,

Vcl.ExtCtrls;

type

Tfabout = class(TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fabout: Tfabout;

implementation

{$R *.dfm}

procedure Tfabout.Button1Click(Sender: TObject);

begin -

close();

end;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: