() 2011 34% .
= 240282 * 0,34 = 81695,9 .
11.1.3.3 .
:
S = Sa + Se; .
: Sa , ;
Se , .
(Sa), , .
, (), 25% , , :
Sa/ = S * 0,25; .
30.
/ | , . | |
11700,00 | ||
LCD 19 | 5500,00 | |
250,00 | ||
HP LaserJet P6008 | 4800,00 | |
(S): | 22370,00 |
:
Sa/ = 22370 * 0,25 = 5593 ./
244 , 1952 :
/ =244 = 244 * 8 = 1952 .
, , 51 (T=51*8=408 ), :
(Se), :
Se = * S * ; .
: , (250 0,25 );
S 1 /, (3 );
.
Se =0,25 * 3 * 408 = 306 .
:
S = Sa + Se = 1169 + 306 = 1475 .
11.1.3.4 .
- 100% :
=200235*1,0=200235
11.1.3.5 .
31.
31.
/ | , . | |
, | 1660,89 | |
( ) () | ||
(34% ) | 81695,9 | |
(100% ) | ||
: | 525348,8 |
.
|
|
, 525348,8 . , .. , , . , , .
. , . .
. , . .
. .
.., .. UML. . - . 2005 .
.., .. . 654600 , 230105 . - . . 2010 .
, InterBase Firebird. . BHV, 2007 .
, FireBird: . BHV, 2007 .
. Delphi/Kylix. , 2002 .
1. http://www.firebirdsql.org/manual/ru/qsg15-databases-ru.html. .
2. http://www.ibprovider.com/rus/documentation/firebird_interbase_delphi.html. Firebird Interbase Delphi. 1.
1.
{ }
Unit Vabit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, SDIEvent, cxGraphics, cxLookAndFeels,
cxLookAndFeelPainters, Menus, StdCtrls, cxButtons, cxControls,
cxContainer, cxEdit, dxCntner, dxExEdtr, dxEdLib, dxDBELib,
cxGroupBox, cxPC, cxStyles, cxCustomData, cxFilter, cxData,
cxDataStorage, DB, cxDBData, cxGridLevel, cxClasses,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, cxRadioGroup, cxDBEdit, cxTextEdit,
cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
|
|
cxDBLookupComboBox, cxCalendar, FIBDataSet, pFIBDataSet, DMmain,
cxCheckBox, cxImageComboBox, Grids, DBGrids, frxClass, frxDBSet,
frxFIBComponents;
type
TFvabit = class(TForm)
cxB_Print_ID: TcxButton;
cxGroupBox1: TcxGroupBox;
cxB_Registr: TcxButton;
cxB_Ok_Commit: TcxButton;
cxB_Cancel: TcxButton;
cxGroupBox2: TcxGroupBox;
Label2: TLabel;
cxPC_Vbr: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Label1: TLabel;
cxGrid2DBTableView1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
cxGroupBox3: TcxGroupBox;
cxGroupBox4: TcxGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cxDBME_HP: TcxDBMaskEdit;
cxDBME_MP: TcxDBMaskEdit;
cxDBME_Mail: TcxDBMaskEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
cxDBLCB_NameEduc: TcxDBLookupComboBox;
cxDBLookupComboBox3: TcxDBLookupComboBox;
cxGroupBox5: TcxGroupBox;
cxGroupBox6: TcxGroupBox;
cxDBDE_BD: TcxDBDateEdit;
cxDBRG_Sex: TcxDBRadioGroup;
cxGroupBox7: TcxGroupBox;
cxDBLCB_From: TcxDBLookupComboBox;
cxDBRG_Hostel: TcxDBRadioGroup;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
cxME_ID_Abit: TcxMaskEdit;
pFIBDS_All: TpFIBDataSet;
DS_All: TDataSource;
cxDBTextEdit1: TcxDBTextEdit;
cxDBTextEdit2: TcxDBTextEdit;
cxDBTextEdit3: TcxDBTextEdit;
pFIBDS_From: TpFIBDataSet;
DS_From: TDataSource;
cxDBImageCB_EducID: TcxDBImageComboBox;
pFIBDS_NameEduc: TpFIBDataSet;
DS_NameEduc: TDataSource;
pFIBDS_LivingEduc: TpFIBDataSet;
DS_LivingEduc: TDataSource;
pFIBDS_PayForm: TpFIBDataSet;
DS_PayForm: TDataSource;
cxDBLCB_Pay: TcxDBLookupComboBox;
cxDBRadioGroup1: TcxDBRadioGroup;
pFIBDS_Fakul: TpFIBDataSet;
pFIBDS_Spec: TpFIBDataSet;
DS_Fakul: TDataSource;
cxGrid1DBTableView1NAME: TcxGridDBColumn;
DS_Spec: TDataSource;
cxGrid2DBTableView1NAME: TcxGridDBColumn;
cxGrid1DBTableView1Column1: TcxGridDBColumn;
cxGrid2DBTableView1Column1: TcxGridDBColumn;
frxReport_Pirnt: TfrxReport;
frxDBDataset1: TfrxDBDataset;
frxFIBComponents1: TfrxFIBComponents;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure cxB_RegistrClick(Sender: TObject);
procedure cxB_Ok_CommitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxB_CancelClick(Sender: TObject);
procedure cxME_ID_AbitKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxB_Print_IDClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fvabit: TFvabit;
implementation
{$R *.dfm}
{ }
procedure TFvabit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:= caFree;
end;
{ }
procedure TFvabit.FormDestroy(Sender: TObject);
begin
Fvabit:= nil;
end;
{ }
procedure TFvabit.cxB_RegistrClick(Sender: TObject);
begin
if pFIBDS_All.Modified then
if pFIBDS_All.Fieldbyname('ID').AsVariant <> null then
pFIBDS_All.Post
else
begin
//
pFIBDS_All.FieldByName('USER_ADD').AsInteger:=
DM_Main.NickID;
//
pFIBDS_All.FieldByName('Source_ID').AsInteger:=
DM_Main.vSource;
pFIBDS_All.Post;
//
pFIBDS_Fakul.FullRefresh;
pFIBDS_Spec.FullRefresh;
// ID ID .
cxME_ID_Abit.Text:= pFIBDS_All.Fieldbyname('ID').AsString;
end;
if pFIBDS_Fakul.Modified then
pFIBDS_Fakul.Post;
if pFIBDS_Spec.Modified then
pFIBDS_Spec.Post;
DM_Main.pFIBTWrite.CommitRetaining;
end;
{ }
procedure TFvabit.cxB_Ok_CommitClick(Sender: TObject);
|
|
begin
if pFIBDS_All.Modified then
pFIBDS_All.Post;
if pFIBDS_Fakul.Modified then
pFIBDS_Fakul.Post;
if pFIBDS_Spec.Modified then
pFIBDS_Spec.Post;
DM_Main.pFIBTWrite.CommitRetaining;
close;
ModalResult:= mrOk;
end;
{ }
procedure TFvabit.FormCreate(Sender: TObject);
begin
pFIBDS_All.Active:= true;
pFIBDS_From.Active:= true;
pFIBDS_NameEduc.Active:= true;
pFIBDS_LivingEduc.Active:= true;
pFIBDS_PayForm.Active:= true;
pFIBDS_Fakul.Active:= true;
pFIBDS_Spec.Active:= true;
end;
{ }
procedure TFvabit.cxB_CancelClick(Sender: TObject);
begin
DM_Main.pFIBTWrite.Rollback;
ModalResult:= mrCancel;
close;
end;
{ ID }
procedure TFvabit.cxME_ID_AbitKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
begin
cxB_Registr.Visible:= false;
pFIBDS_All.Active:= false;
pFIBDS_All.ParamByName('ID').AsString:= cxME_ID_Abit.Text;
pFIBDS_All.Active:= true;
pFIBDS_All.Edit;
pFIBDS_All.FieldByName('REPEAT').AsInteger:= 1;
end;
end;
{ ID}
procedure TFvabit.cxB_Print_IDClick(Sender: TObject);
begin
// .
frxReport_Pirnt.ShowReport(true);
end;
end.
{ }
Unit UPost;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, SDIEvent, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, cxSplitter, cxGroupBox,
Menus, dxCntner, dxEditor, dxExEdtr, dxEdLib, dxDBELib, StdCtrls,
cxButtons, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, cxStyles, cxCustomData,
cxFilter, cxData, cxDataStorage, DB, cxDBData, FIBDataSet,
pFIBDataSet, cxGridLevel, cxClasses, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
cxProgressBar, DMMain, cxCheckBox, cxMemo, cxDBEdit, Grids, DBGrids,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdMessage;
type
TFPost = class(TForm)
SDIEvents: TSDIEvents;
cxGroupBox5: TcxGroupBox;
cxSplitter1: TcxSplitter;
cxGroupBox1: TcxGroupBox;
cxGroupBox2: TcxGroupBox;
cxDBLCB_Tema: TcxDBLookupComboBox;
cxGroupBox3: TcxGroupBox;
cxGroupBox4: TcxGroupBox;
Label2: TLabel;
Label4: TLabel;
Label3: TLabel;
cxGroupBox6: TcxGroupBox;
cxB_Save: TcxButton;
cxB_Send: TcxButton;
cxProgressBar: TcxProgressBar;
Label1: TLabel;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
pFIBDS_Post: TpFIBDataSet;
DataSource1: TDataSource;
cxGrid1DBTableView1SURNAME: TcxGridDBColumn;
cxGrid1DBTableView1NAME: TcxGridDBColumn;
cxGrid1DBTableView1EDUCATION_ID: TcxGridDBColumn;
cxGrid1DBTableView1PAY_FORM_ID: TcxGridDBColumn;
cxGrid1DBTableView1EMAIL: TcxGridDBColumn;
cxGrid1DBTableView1Column1: TcxGridDBColumn;
cxGrid1DBTableView1Column2: TcxGridDBColumn;
cxGrid1DBTableView1Column3: TcxGridDBColumn;
cxDBMemo1: TcxDBMemo;
DS_Mes: TDataSource;
pFIBDS_Mes: TpFIBDataSet;
DS_Theme: TDataSource;
pFIBDS_Theme: TpFIBDataSet;
cxGroupBox7: TcxGroupBox;
cxBnot: TcxButton;
cxBAll: TcxButton;
IdSMTP: TIdSMTP;
pFIBDS_Send: TpFIBDataSet;
OpenDialog: TOpenDialog;
dxBE_ADD: TdxButtonEdit;
dxBE_ADD1: TdxButtonEdit;
|
|
dxBE_ADD2: TdxButtonEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure SDIEventsSDIActivate(Sender: TObject);
procedure cxB_SaveClick(Sender: TObject);
procedure cxB_SendClick(Sender: TObject);
procedure cxBAllClick(Sender: TObject);
procedure dxBE_ADDButtonClick(Sender: TObject; AbsoluteIndex:
Integer);
procedure dxBE_ADD1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure dxBE_ADD2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure cxBnotClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FPERSID: integer;
procedure SetPERSID(const Value: integer);
{ Private declarations }
public
property PERSID:integer read FPERSID write SetPERSID;
{ Public declarations }
end;
var
FPost: TFPost;
implementation
{$R *.dfm}
{ }
procedure TFPost.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:= caFree;
end;
{ }
procedure TFPost.FormDestroy(Sender: TObject);
begin
FPost:= nil;
end;
{ }
procedure TFPost.cxB_SaveClick(Sender: TObject);
begin
pFIBDS_Mes.Edit;
//
pFIBDS_Mes.FieldByName('ENCLOSURE').AsString:= dxBE_ADD.Text + ','
+ dxBE_ADD1.Text + ',' + dxBE_ADD2.Text;
if pFIBDS_Post.Modified then
pFIBDS_Post.Post;
if pFIBDS_Mes.Modified then
pFIBDS_Mes.Post;
DM_Main.pFIBTWrite.Commit;
close;
end;
{ }
procedure TFPost.cxB_SendClick(Sender: TObject);
var
M: TIdMessage;
ATT: Tidattachment;
i, MessageID: integer;
begin
cxB_Save.Click;
//
Screen.Cursor:= crHourGlass;
//
if pFIBDS_Send.FieldByName('AUTHENTICATIONTYPE').AsInteger = 0 then
begin
IdSMTP.AuthenticationType:= atNone;
ShowMessage('- AUTHENTICATION: OFF');
end
else
//
IdSMTP.Host:= pFIBDS_Send.FieldByName('Host').AsString;
//
IdSMTP.Username:= pFIBDS_Send.FieldByName('Username').AsString;
//
IdSMTP.Port:= pFIBDS_Send.FieldByName('Port').AsInteger;
//
IdSMTP.Password:= pFIBDS_Send.FieldByName('Pass').AsString;
//
M:= TIdMessage.Create(self);
//
M.From.Text:= '"' + pFIBDS_Send.FieldByName('MAILLOGIN').AsString
+ '"<' + pFIBDS_Send.FieldByName('USERNAME').AsString + '>';
m.Body.Add(cxDBMemo1.Text); //
M.Recipients.Add;
m.Subject:= cxDBLCB_Tema.Text; //
M.IsEncoded:= true;
try
try
Application.ProcessMessages;
idSMTP.Connect();
except
MessageBox(0, ' .' +
#13 + #10 + ' .' + #13 + #10 +
' .', '
', MB_ICONSTOP or MB_OK or MB_TASKMODAL);
exit;
end;
//
if dxBE_ADD.Text <> '' then
ATT:= TIdAttachment.Create(m.MessageParts, dxBE_ADD.Text);
if dxBE_ADD1.Text <> '' then
ATT:= TIdAttachment.Create(m.MessageParts, dxBE_ADD1.Text);
if dxBE_ADD2.Text <> '' then
ATT:= TIdAttachment.Create(m.MessageParts, dxBE_ADD2.Text);
i:= 1;
cxProgressBar.Properties.Max:=
cxGrid1DBTableView1.DataController.RowCount + 1;
{ email }
for i:= 1 to cxGrid1DBTableView1.DataController.RowCount do
try
cxGrid1DBTableView1.DataController.RecNo:= i;
Application.ProcessMessages;
cxProgressBar.Position:= i + 1;
if pFIBDS_Post.FieldByName('CB').AsInteger = 0 then Continue;
M.Recipients.EMailAddresses:=
pFIBDS_Post.FieldByName('email').AsString;
idSMTP.Send(m);
except
MessageBox(0, ' .' + #13 + #10 +
' .', '
', MB_ICONERROR or MB_OK or MB_TASKMODAL);
break;
end;
finally
IdSMTP.Disconnect;
att.free;
m.Free;
screen.Cursor:= crdefault;
if DM_Main.pFIBTWrite.Active then
DM_Main.pFIBTWrite.Commit;
end;
end;
{ }
procedure TFPost.cxBAllClick(Sender: TObject);
var i:integer;
begin
pFIBDS_Post.DisableControls;
pFIBDS_Post.First;
for i:= 0 to cxGrid1DBTableView1.DataController.RecordCount + 1 do
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger:= 1;
pFIBDS_Post.Post;
|
|
cxGrid1DBTableView1.DataController.RecNo:= i;
end;
pFIBDS_Post.EnableControls;
end;
{ }
procedure TFPost.dxBE_ADDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD.Text:= OpenDialog.FileName;
end;
{ }
procedure TFPost.dxBE_ADD1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD1.Text:= OpenDialog.FileName;
end;
{ }
procedure TFPost.dxBE_ADD2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD2.Text:= OpenDialog.FileName;
end;
{ }
procedure TFPost.cxBnotClick(Sender: TObject);
var i:integer;
begin
pFIBDS_Post.DisableControls;
pFIBDS_Post.First;
for i:= 0 to cxGrid1DBTableView1.DataController.RecordCount + 1 do
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger:= 0;
pFIBDS_Post.Post;
cxGrid1DBTableView1.DataController.RecNo:= i;
end;
pFIBDS_Post.EnableControls
end;
{ }
procedure TFPost.FormCreate(Sender: TObject);
var i:integer;
begin
pFIBDS_Mes.Active:= true;
pFIBDS_Mes.Insert;
// ID
i:= pFIBDS_Mes.fieldByName('ID').AsInteger;
// ID ,
pFIBDS_Mes.FieldByName('USER_ID').AsInteger:= DM_Main.NickID;
pFIBDS_Mes.Post;
DM_Main.pFIBTWrite.CommitRetaining;
pFIBDS_Mes.Active:= false;
pFIBDS_Mes.ParamByName('ID').AsInteger:= i;
pFIBDS_Mes.Active:= true;
pFIBDS_Send.Active:= true;
end;
{ ID. ID}
procedure TFPost.SetPERSID(const Value: integer);
begin
FPERSID:= Value;
if pFIBDS_Post.Locate('pr_id', persid, [loCaseInsensitive]) then
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger:= 1;
pFIBDS_Post.Post;
end;
end;
end.